[sane-devel] sane_cancel()
René Rebe
rene at exactcode.de
Wed Jul 16 11:09:54 UTC 2008
Hi,
m. allan noah wrote:
> On 7/15/08, Kåre Särs <kare.sars at kolumbus.fi> wrote:
>
>> Hi again,
>>
>>
>> On Wednesdayen den 16 July 2008 02:02:36 Kåre Särs wrote:
>> > Hi,
>> >
>> > I'm a bit confused with the use of sane_cancel(). I noticed today that the
>> > pixma backend requires a sane_cancel after each scan (libksane did not work
>> > correctly with the pixma backend). I have read here on the list:
>> > "5. be aware that a proper front-end in batch mode will call
>> > sane_start() at the beginning of each page, but only call sane_cancel
>> > after the last page returns SANE_STATUS_NO_DOCS."
>> >
>> > Why does the frontend have to call sane_cancel() at the end of a scan?
>> >
>> > Is this a bug in the pixma backend (libksane works OK with at least the
>> > test, epson, epkowa and v4l backends), or is the pixma backend just more
>> > strict than the backends I have tested with before? (The problem was that
>> > the backend did not accept writes to any parameters after a scan without a
>> > cancel at the end.)
>> >
>> > I remember reading something about clarifying the use of sane_cancel() in
>> > the standard for 1.1, but I can't remember what it was about :)
>> >
>>
>>
>> Reading the standard again I see in 4.4 "Note that sane_cancel() must be
>> called even if the last read operation returned SANE_STATUS_EOF."
>>
>> But I'm still wondering why :)
>>
>
> sane_cancel should be called at the end of the batch, but not between
> pages, otherwise backends which buffer the backside of a duplex read
> will drop the image. this is an unfortunate historical accident,
> because sane_cancel serving a dual purpose worked fine for flatbed
> scanners that had no concept of a 'batch'.
>
> if pixma backend requires a call to sane_cancel after each page of a
> batch scan, it is broken, and wont work with scanimage -b
>
> allan
>
At least the Avision backend requires a cancel for management taks between
each page, likewise. The time I implemented this (like 5 years ago?)
this was
standard behavior (from what I remember).
So we have to go review this in detail?
--
René Rebe - ExactCODE GmbH - Europe, Germany, Berlin
http://exactcode.de | http://t2-project.org | http://rene.rebe.name
More information about the sane-devel
mailing list