[sane-devel] sane_cancel()
Nicolas
nicolas.martin at freesurf.fr
Wed Jul 16 06:28:49 UTC 2008
pixma backend can handle batch scan, I've tested it under both xsane and
scanimage -b :
$ scanimage -b
Scanning -1 pages, incrementing by 1, numbering from 1
Scanning page 1
Scanned page 1. (scanner status = 5)
Scanning page 2
Scanned page 2. (scanner status = 5)
Scanning page 3
Scanned page 3. (scanner status = 5)
Scanning page 4
...
Is that correct ?
AFAIK, there's no need to call sane_cancel () at the end of each page,
when using the pixma backend.
Kare, is there a way I can help with libksane and the pixma backend ?
Could you describe exactly the test you're doing, and which fails ?
Nicolas
Le mardi 15 juillet 2008 à 20:30 -0400, m. allan noah a écrit :
> 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
> --
> "The truth is an offense, but not a sin"
>
More information about the sane-devel
mailing list