[DVDnav-discuss] UDF2.50

Jorgen Lundman lundman at lundman.net
Thu Sep 18 05:52:11 CEST 2008


Hello list,


So as a status update to my progress.

I think my patching is probably quite different from your average 
libdvdread user, so there would probably too much work to include them 
in mplayers repository. But they are all available on my public CVS 
should someone else be seeking the same information.

I have found the following patches needed;

1. Back-ported the DVDFileStat() functions so I can get VOB filesizes 
more easily.

2. Added ExtFileInfo (262) support for UDF2.50

3. Added Filetype 250, which seems to be a homegrown re-direct block, 
this enables libdvdread to process UDF2.50 images.

4. Unfortunately, libdvdread developers cheated an used "struct AD" both 
for AD use, and to carry back file-size information. AD's Location 
(number of blocks) is correctly 32bits, but filesizes in UDF are 64bit. 
Since DVD images are always <= 1GB, this has not been a problem so far. 
I updated "struct AD" to also have a 64bit value for filesize, which is 
not the correct solution, but the one with the least changes.

5. Unfortunately, libdvdread developers cheated when reading AD's from 
FileInfo data. It will parse them all, and return the last one found. 
Again, because DVDs are <= 1GB, there is only one AD chained and hence, 
no problem. For UDF2.50, and larger files, I needed extra patching to 
fetch the correct chain. Not entirely sure how best to fix this yet.

6. Since I can't really parse BD-ISO with "domain, title, part", I 
implemented opendir/readdir/closedir API functions. I used POSIX 
extension dt_type for quick type testing, and hacked in dt_filesize to 
save on stat() API calls. But perhaps, stat() should also be implemented.

7. Added DVDOpenFilename() to allow opening of a direct filename instead 
of "domain, title, part".

8. DVDFileSize() will return very strange values, and I find it hard to 
believe that it will ever return the correct number. (Generally only 
used for .IFO files). Anyone actually used it?

9. Added dvd_input methods for popen()ing "unrar" allowing for direct 
ISO access inside RAR storage container.


That is all for now.

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