as a followup to my previous information, this function I added to my
own private copy lets me do what I need
uint32_t udf_get_start_block(const udf_dirent_t *p_udf_dirent)
{
udf_t *p_udf = p_udf_dirent->p_udf;
uint32_t i_max_size;
lba_t i_start = offset_to_lba(p_udf_dirent, p_udf->i_position, &i_start,
&i_max_size);
return i_start;
}
a better solution might be a stat() type call that returns a lot of
information in a struct.
On 10/17/2010 08:42 PM, Shaya Potter wrote:
in libcdio a bunch of information is kept private and not readily
available to programs, what I'm concerned about is basically the
start/length of a file.
this is in the udf_dirent_t structure, but is hidden from programmers.
I care about this as I am trying to write a barebones dvd decrypter that
works on images files
i.e. I have some DVDs in bad shape, so using 1) lsdvd to authenticate
the disk, 2) ddrescue to recover a complete image, but it still has CSS
embedded, so then need to remove the CSS, but I have to basically check
if I need to rekey on each VOB file and need to know the start of it to
rekey on the right block. libcdio's udf support should provide it to me,
but as it's hidden, it doesn't.
any thoughts on providing an interface to this data?
thanks