[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