bug in libdvdread

"Scott T. Smith" <[email protected]> Fri, 16 Jan 2004 13:09:26 -0800
Newsgroups gmane.comp.video.ogle.devel
Message-ID <[email protected]>
(please CC me as I'm not on the list)

I believe there is a small bug in the PGC parser of libdvdread. 
Specifically I believe pgc->still_time and pgc->pg_playback_mode should
be swapped.

I tested this using my Sony consumer DVD player and the 'dvdauthor'
package.  If I create a DVD using this configuration (only listed here
in case you wish to duplicate it):

<dvdauthor>
<vmgm />
<titleset>
<titles>
<pgc pause="5">
<vob file="menu-1.mpg"><cell start="0"></cell></vob>
<vob file="menu-2.mpg"><cell start="0"></cell></vob>
<vob file="menu-3.mpg"><cell start="0" pause="5"></cell></vob>
<vob file="menu-4.mpg"><cell start="0" pause="2"></cell></vob>
<vob file="menu-5.mpg"><cell start="0"></cell></vob>
<vob file="menu-6.mpg"><cell start="0"></cell></vob>
<vob file="menu-7.mpg"><cell start="0"></cell></vob>
<vob file="foo.1.vob"><cell start="0"></cell></vob>
<post>
exit;
</post>
</pgc>
</titles>
</titleset>
</dvdauthor>


then the DVD does indeed pause for 5 seconds at the end of foo.1.vob. 
However, the output from ifo_dump (libdvdread 0.9.4) is:

Still time: 0 seconds (255=inf)
PG Playback mode: Random 5

If I omit the pause="5" at the PGC level, then the DVD exits immediately
without pausing.  This seems to be pretty good evidence that the
locations are swapped.  I'm not sure but I think mpucoder also lists
them as swapped (my "donation" expired so I don't have access any more,
and the old copy I have agrees with libdvdread)

	Scott