[libdvdnav-devel] Assert(0) failure with libdvdnav 5.0.3 and "Red Dragon" DVD

Chris Rankin rankincj at yahoo.com
Tue Jun 2 01:11:34 CEST 2015


I've dug into this error, and as ugly as the assert() statements are, they aren't the real reason why libdvdnav is crashing. What's actually happening is that the vm->state.domain value is being changed silently from DVD_DOMAIN_VTSMenu to DVD_DOMAIN_VTSTitle. This means that the "program chain number" (I think?!) of 15 is being validated against pgcit->nr_of_pgci_srp == 1 instead of pgcit->nr_of_pgci_srp == 30. set_PGCN() then complains and the assert() fires.

So I've hacked together a quick fix (attached; against libdvdnav-5.0.3), which works for the "Red Dragon" DVD.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: LIBDVDNAV.diff
Type: text/x-patch
Size: 604 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/libdvdnav-devel/attachments/20150601/3ad4ec19/attachment.bin>

More information about the libdvdnav-devel mailing list