[libdvdnav-devel] Assert(0) failure with libdvdnav 5.0.3 and "Red Dragon" DVD
rankincj at yahoo.com
Wed Jun 3 00:10:37 CEST 2015
> Not sure it's the right one, tbh.
The "JumpVTS_PTT" and "JumpVTS_TT" commands are both documented as:
"Only allowed from the VTS Menu Domain(VTSM) or the Video Title Set Domain(VTS)"
with an assert to match:
assert(vm->state.domain == DVD_DOMAIN_VTSMenu || vm->state.domain == DVD_DOMAIN_VTSTitle);
Both of these commands call set_VTS_PTT() - either directly or indirectly - which explicitly sets the domain to DVD_DOMAIN_VTSTitle:
src/vm/getset.c, line 63:
(vm->state).domain = DVD_DOMAIN_VTSTitle;
I'm thinking that this is A Bad Thing when vm->state.domain is *legitimately* DVD_DOMAIN_VTSMenu. It would also imply that my fix (if correct) would need to be applied to both of these "JumpVTS_xxx" commands; and possibly to other commands too.
Either that, or the set_VTS_PTT() function is weird...
More information about the libdvdnav-devel