[MPlayer-users] seeking multiangle dvd - fixed
arpi at thot.banki.hu
Wed Jul 24 01:51:02 CEST 2002
Thanks to Jeffrey Hammel's donation (multi-angle dvd disc) - i could finally
track down and fix some problems with multi-angle dvd playback/seeking.
The problem was really that some (all?) multi-angle discs doesn't have angle
index map in NAV packets (dsi->sml_agli->data) - so jumping to the right
packet after raw seeking did not work. Now i've implemented a fallback
method: if angle index is empty (all zero), it checks for the vob/cell id in
the NAV packet, so it can detect if it's in wrong angle. Then it just skips
the whole VOBU, parse next NAVI packet and try again, until it reach the
wanted angle. It's slower (up to few seconds - depending on drive's seeking
speed) than direct jump, but always should work.
It's still possible that it doesn't work for some discs - unfortunatelly the
whole NAVI/IFO parsing is based on reverse engineering, and at some points
is being incomplete/wrong. Anyway the libdvdread guys did a very nice job on it.
I've added some more debug prints (at verbose level 2/3), so if you still
have problems, please run ifo_dump (from libdvdread package) on that title,
and also mplayer -v -v -v -dvd <title>, and upload both logs to FTP and
notify me. I think it's possible that angle index does contain non-zero
numbers but they are random/shit, then i have to disable index-based
seeking (it's still untested code) or implement some validation code.
A'rpi / Astral & ESP-team
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu
More information about the MPlayer-users