[Libburn] Re: CVS version and test/burniso

scdbackup at gmx.net scdbackup at gmx.net
Fri Feb 10 04:35:00 PST 2006


Hi,

test/burniso.c is not to blame.

The CVS libburn of yesterday (after the version.h repair)
does not burn, because BE_CANCELLED uses a value that is
also issued by mmc_write() on success.


I traced the problem to  libburn/sector.c:get_sector()

                err = d->write(d, d->nwa, out);
                if (err == BE_CANCELLED)
                          return NULL;

which already fails with SAO when called by  burn_write_track()
                if (t->pregap2)
                          for (i = 0; i < 150; i++)
                                if (!sector_pregap(o, t->entry->point,
                                                   t->entry->control, t->mode))
                                          return 0;

or in RAW mode when called by  burn_write_leadin()
        while (count != 0) {
                if (!sector_toc(o, s->track[0]->mode))
                        return 0;

in mmc_write() i read
        if (cancelled)
                return BE_CANCELLED;
        ... successful operation ...
        return 1;

So the root of the problem is here 
   libburn/error.h:#define BE_CANCELLED 1


We will need a different error number or a different
ok indicator, as it seems.
#define BE_CANCELLED 2 ... oh yeah. It works.

Some day i will be a very good taxi driver within libburn :))


A hint: libburn verbosity is still unusable with SAO
because of a zillion messages already at level 1:
"logical unit is in the process of becoming ready"


Have a nice day :)

Thomas




More information about the libburn mailing list