[DVDnav-discuss] Bugs in dvdnav_scan_admap
Nico Sabbi
nicola_sabbi at fastwebnet.it
Sat Jul 14 13:30:08 CEST 2007
Gospodin Gyurov wrote:
> >>
> >> Also, this function always fails when it is used for blocks from the last VOBU. Due to this I prefer instead of the code after the 'while' loop:
> >> ---------
> >> if(found) {
> >> *vobu = vobu_start;
> >> return DVDNAV_STATUS_OK;
> >> } else {
> >> fprintf(MSG_OUT, "libdvdnav: Could not locate block\n");
> >> return DVDNAV_STATUS_ERR;
> >> }
> >> ---------
> >> just this:
> >>
> >> *vobu = vobu_start;
> >> return DVDNAV_STATUS_OK;
> >
> >why does it fail in the last vobu?
>
> It sets "found = 1" only if "next_vobu > seekto_block". This comparison is not true for all blocks in the last vobu. Their addresses are >= from every possible next_vobu value.
>
applied your original fix.
Thanks,
Nico
More information about the DVDnav-discuss
mailing list