bug-vcdimager
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [VCDImager Bugs/Devel] vcdxrip rip errors


From: Steven M. Schultz
Subject: Re: [VCDImager Bugs/Devel] vcdxrip rip errors
Date: Sat, 13 Oct 2001 10:54:56 -0700 (PDT)

Hi -

> it seems as if the problem is, that the read_mode2 function call
> doesn't return valid data;
> 
> from vcd_xml_rip.c:
> 
>   vcd_image_source_read_mode2_sector (img, &pvd, ISO_PVD_SECTOR, false);

        I think I am on the trail of the problem...

        Using gdb I stopped the program in _read_mode2


#0  _read_mode2 (fd=6, buf=0x8046464, lba=16, nblocks=1, _workaround=false)
    at vcd_image_bsdicd.c:155
#1  0x8058e39 in _read_mode2_sector (user_data=0x8070090, data=0x8046464, 
    lsn=16, form2=true) at vcd_image_bsdicd.c:222
#2  0x8058eb5 in _read_mode2_sector (user_data=0x8070090, data=0x8046de4, 
    lsn=16, form2=false) at vcd_image_bsdicd.c:248
#3  0x805620a in vcd_image_source_read_mode2_sector (obj=0x806f040, 
    buf=0x8046de4, lsn=16, mode2raw=false) at vcd_image.c:100
#4  0x8049a59 in _parse_pvd (obj=0x8047948, img=0x806f040) at vcd_xml_rip.c:216
#5  0x804c03b in main (argc=3, argv=0x80479f8) at vcd_xml_rip.c:1456
#6  0x804947e in __start ()

        It is obviously trying to read lba 16 which is the ISO portion but it
        is trying to do so with a 'mode2' read command.

        It appears that the "read mode 2" and "read normal 2k" flag is
        overloaded - "_workaround" means try different methods to read
        mode2 sectors in _read_mode2() but earlier the flag is "form2"
        meaning 'mode 2 sectors' or 'iso sized sectors'.

        In earlier versions of vcdimager I did something this in
        _read_mode2_sector():

           if (form2)
              ioctl(CDROMREADMOE2)
           else
              {
              lseek(lsn * ISO_BLOCKSIZE)
              read(buf,ISO_BLOCKSIZE)
              }

        That uses the 'form2' flag as "do a form2 read" or do a "regular
        read".

        Am I close to being right?   ;)

        Steven



reply via email to

[Prev in Thread] Current Thread [Next in Thread]