[DVDnav-discuss] dvdread patch for broken dvd's

Jorgen Lundman lundman at lundman.net
Mon Oct 6 03:28:29 CEST 2008



jezz at hkfree.org wrote:
> Hi,
> I have already posted this to mplayer-users mailing list. I have DVD disc with
> broken UDF structure. I can't play this disc using current libdvdread, because
> vob for chapter 37 is not found - entry in UDF has tag identifier 262 (Extended
> Attribute Header Descriptor) instead of 261 (File Entry).
> ISO 9660 filesystem is correct, so it can be used. When file can't be located
> with UDF functions, then we can try ISO. This fix conforms with standards and
> plays my disks :)
> Patch is created against current svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdread.
> 

Quite a different route. But yes, you need ExtFinfo support. It is very 
similar to Finfo, but pushes the record along somewhat.

http://www.lundman.net/cvs/viewvc.cgi/lundman/llink/libdvdnav-4.1.2/src/dvdread/dvd_udf.c?annotate=1.11#l547

Don't forget to handle the chains of ADs, instead of just the one like 
dvdread assumes (which is probably ok for 99% of DVD images though). I 
did that by making a FileAD (instead of over-loading AD like they did, 
and fitting filesize 64bit into AD length 32 bit.)

http://www.lundman.net/cvs/viewvc.cgi/lundman/llink/libdvdnav-4.1.2/src/dvdread/dvd_udf.c?annotate=1.11#l120
(Anyone know what the maximum number of AD chains there can be? ECMA did 
not specify).

You probably also want to handle filetype 250, which appears to be a 
re-direct type block. It will enable you to read UDF2.50.

Lund

-- 
Jorgen Lundman       | <lundman at lundman.net>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)



More information about the DVDnav-discuss mailing list