[MPlayer-users] libdvdnav 4.1.3 dvd angle problem
axlear
axlear at gmail.com
Thu Dec 25 03:59:51 CET 2008
Hi All,
I have compiled libdvdnav 4.1.3 success and make it run. When test with DVD with only one angle, it work well. But when test with a DVD named 'Star Wars - Return of the Jedi' which have three angles, it seems have some problem.
When run on debug version, I get an assert in file vm.c in line 1106. If I ignore the assert, dvdnav will loop on the angle and will play forward, if I skip to other position, it will play forward.
I copy the vm.c code following.
----------------vm.c------------line 1096-------------------------------------
case 1: /* Angle block */
/* Loop and check each cell instead? So we don't get outside the block? */
(vm->state).cellN += (vm->state).AGL_REG - 1;
#ifdef STRICT
assert((vm->state).cellN <= (vm->state).pgc->nr_of_cells);
assert((vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_mode != 0);
assert((vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_type == 1);
#else
if (!((vm->state).cellN <= (vm->state).pgc->nr_of_cells) ||
!((vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_mode != 0) ||
!((vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_type == 1)) {
fprintf(MSG_OUT, "libdvdnav: Invalid angle block\n");
(vm->state).cellN -= (vm->state).AGL_REG - 1;
}
#endif
------------------part code of vm.c ------------------------------------
Can anyone give me suggestions?
Best Regards
Lear
More information about the MPlayer-users
mailing list