[sane-devel] sane-airprint
Alexander Pevzner
pzz at apevzner.com
Tue Dec 24 17:47:43 GMT 2019
Hi, everybody,
Merry Christmas and happy New Year!
I want to announce the sane-airpring backend, which implements scanning
over eSCL protocol:
https://github.com/alexpevzner/sane-airscan
Well, I'm aware about the sane-escl backend. Actually, the sane-escl was
published when my backend was half-implemented, so I decided to
continue. So after years of waiting, now we have two eSCL backends to
choose from, sorry for confusion :-)
The key differences between my backend (sane-airprint) and sane-escl are:
1) sane-escl uses CURL, while my backend uses libsoup. CURL's
initialization requirements are nearly impossible to implement in a
loadable plugin, so if frontend (or some of its components) also use
CURL, sporadic crashes are possible
2) My backend implements full support of ADF, including simplex, duplex
and multipage scan
3) Early cancel. sane-airscan allows to cancel a job far before its
completion, leaving scanner in a correct state (my Kyocera ECOSYS is
very sensitive to this matter).
4) sane-airscan keeps and decodes images in memory, and doesn't use
temporary files. Memory footprint is reasonable low: images are decoded
line-by-line as soon as sane_read consumes the data
5) sane_cancel() is safe to be called from signal handler, as required
by SANE standard
6) sane_get_select_fd() and sane_set_io_mode() are fully implemented
7) sane_airprint correctly supports IPv6 addresses
Looking forward for some feedback.
--
Wishes, Alexander Pevzner (pzz at apevzner.com)
More information about the sane-devel
mailing list