[MPlayer-dev-eng] [PATCH] fix dvdnav multi-cell menus
Steaphan Greene
sgreene at cs.binghamton.edu
Tue Aug 16 08:18:23 CEST 2011
Right now, I'm assuming my patch for the NTSC MPEG2 sync problems will
eventually be applied, so I am moving on to the next more serious
problem with DVD playing (this one is in dvdnav):
Many DVDs with long menus (interactive DVDs or DVD "games" often treat
the entire "movie" as a menu) don't work correctly in mplayer's dvdnav.
As soon as they change to a new cell, the DVD stops working - It just
drops the audio and corrupts the video by, I believe, playing the
previous video chunk over and over. The navigation controls continue to
work, though.
The problem seems to be that when a new cell is encountered, the dvdnav
code indicates it should wait for sync with the application. However,
the code does not actually advance to the next cell (it assumes this
case is hit only with still frames, even though the condition also
catches the case of cell-changes within menus).
Also, once the code to advance to the next block is enabled, by fixing
that condition, it still fails in the same way. This seems to be
because the "wait_sync = 1;" is a terminal condition here. Again, it
assumes this is for still frames only and is waiting for the next still
frame to be selected (which sets sync_wait back to 0).
The attached patch fixes both of these issues, and I have tested it
extensively (always with my MPEG2 sync patch, of course) with both
normal, and interactive DVDs, and including several examples of actual
still frames. It seems to solve the problem and cause no other new ones
that I can find. Note, it is really only a 2-line change (the rest are
all just white-space changes to correct the indenting).
Of course, I could be wrong about all of this (but I don't think so).
PS. I am assuming this is still the right place for patches to the
dvdnav sub-repository, since it's also hosted on the mplayerhq site. If
not, please point me to the right place. I hope to have many more fixes
where this came from.
Thanks.
--
Steaphan Greene <sgreene at cs.binghamton.edu>
Lecturer, Computer Science, Binghamton University
GPG public key: http://www.cs.binghamton.edu/~sgreene/gpg.key.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mplayer_dvdnav_allow_multicell_menus.r1233.patch
Type: text/x-patch
Size: 1303 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20110816/b97cb9ee/attachment.bin>
More information about the MPlayer-dev-eng
mailing list