[DVDnav-discuss] Patch from the Living dead for dvdnav

Erik Hovland erik at hovland.org
Thu Nov 3 19:11:58 CET 2011


> After reading this over, I think I see what is going on here.  This
> patch is using the ECMA-167 primary volume descriptor that is
> located at sector 16 instead of the UDF primary volume
> descriptor that the original code assumes is at sector 32.  If I'm
> reading the UDF specification correctly, there is no guarantee
> that the UDF primary volume descriptor will be at this location.
> You need to read an anchor volume descriptor pointer first which
> will point to the main volume descriptor.  So maybe there are some
> discs out the for which the original code does not work.
>
> The patch however is doing something pretty funky for the serial
> number.  It is using the volume creation date as a serial number
> which isn't going to be unique by any measure.  The original
> code uses the first 16 bytes of the volume set identifier (which is
> 128 bytes in length).  Looking at a sample of the volume set
> identifier, the first 8 bytes look like some kind of serial number.
> The next 8 are zero. And then the disc title is repeated again.
>
> Anyway, it might be interesting to think about doing a patch that
> look up the udf volume descriptor correctly instead of falling back
> to the ecma-167 volume descriptor.

I am mostly w/ John on this one. What needs to happen is for
this part of the code to get reworked to be compliant w/ the
specification and then work from there.

What I am especially uncomfortable w/ is that we do not have
an example DVD where this code breaks down. What we do
know is that many users use an unpatched version of libdvdnav
and they are not reporting a problem that can be associated
w/ this area of code.

E

-- 
Erik Hovland
erik at hovland.org
http://hovland.org/


More information about the DVDnav-discuss mailing list