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 ([email protected])

Reply via email to