Skip to content

dvd_udf: fix failure for discs storing file system descriptor at the end

This is a patch that got submitted to Debian 8 years ago (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=663512) and that we carry since libdvdread 4.2:

libdvdread is very likely to fail on discs/images that store their File System Descriptor at the end of the disc/image rather than at the beginning. This is due to the "strategy" libdvdread uses to find it: libdvdread scans sequentially from the beginning of the disc/image for the File System Descriptor and identifies it by a single byte tag.

Aside from wasting lots of time on discs/images that store their File System Descriptor at the end there is quite a good chance to stumble across a random data block that accidentally starts with this tag (and failing on it) before finding the real File System Descriptor.

As far as I can see, at least CDBurnerXP seems to (be able to) create such images - at least if my interpretation of the Implementation Identifier "NMS DVDProLib" is correct.

This... well, let's call it ugly hack fixes this by obtaining the File System Descriptor location from the Logical Volume Descriptor

If it makes sense, this should applied upstream.

Merge request reports