[DVDnav-discuss] [PATCH] Patch 1: struct AD -> struct FileAD
Nico Sabbi
Nicola.Sabbi at poste.it
Mon Oct 20 10:47:23 CEST 2008
On Friday 10 October 2008 09:15:24 Jorgen Lundman wrote:
> Attached patch for removing the hacky overload of "struct AD" which
> is also used for File operations, resulting in 64-bit to 32-bit
> conversions and more.
>
> Additionally, libdvdread assumed all blocks fit inside one AD
> chain, in contiguous order, which is generally true for all DVDs.
> (Since files are limited to 1GB in size). I have extended this to
> correctly handle the UDF AD chaining as the ECMA_167 specifications
> detail.
>
> All 32-bit filesize references have been changed to 64-bit.
>
> UDFFindFile() no longer return a "block number" but a reference to
> a "UDF_FILE". This should be freed by calling UDFFileFree(). All
> calls from dvd_reader.c have been updated.
>
> An additional function UDFFileBlockPos() has added to translate
> between a file's block offset, into correct disk block. (Walking
> the AD chains to find correct block, as well as, File start block
> and partition block number).
>
> Tested only against title_info.c since I need all patches for
> complete testing.
this patch is mostly fine (but still untested) but there are a lot
of cosmetics at the end (the switch loop and something else)
More information about the DVDnav-discuss
mailing list