[DVDnav-discuss] Bugs in dvdnav_scan_admap
Gospodin Gyurov
ggurov at abv.bg
Fri Jul 13 08:05:09 CEST 2007
>>
>> 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.
>I appreciate your contributions, but I'd love it you posted proper
>patches :-)
Frankly, I dont know how to do this :) Currently I work under Windows only. I'm old in programming but I'm new it this style of project's synchronization.
Also, in the beginning ot my usage of dvdnav I made many changes (removing #include etc.) due to lots of errors when I tried to compile it with Borland C++ Builder 6. I was in time presure (and I'm still on) and I was unsure will I use this library in my project after the tests. In the beginning dvdnav didnt work for me at whole, due to its trials to read DVD blocks with file reading functions. I changed lots of things about this problem, I think under Windows reading from block devices must be done through Win API functions CreateFile and DeviceIoControl, not through C style io.h functions. After all my dvdnav version now is very different than the original, and I continue to make some changes which are in interest of my project only (it is VERY specific).
I'm always ready to share the information about bugs etc, but I'm not sure can I use some patch utility in this case.
-----------------------------------------------------------------
С бензин в кръвта!
http://auto-motor-und-sport.bg/
More information about the DVDnav-discuss
mailing list