1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-28 10:02:17 +00:00
mpv/DOCS/man/en
wm4 65d8709152 demux_lavf: add terrible hack to make DVD playback just work
DVD playback had some trouble with PTS resets: libavformat's genpts
feature would try reading until EOF (worst case) to find a new usable
PTS in case a packet's PTS is not set correctly. Especially with slow
DVD access, this would make the player to appear frozen.

Reimplement it partially in demux_lavf.c, and use that code in the DVD
case. This is heavily "inspired" by the code in av_read_frame from
libavformat/utils.c. The difference is that we stop reading if no PTS
has been found after 50 packets (consider this a heuristic). Also, we
don't bother with the PTS wrapping and last-frame-before-EOF handling.
Even with normal PTS wraps, the player frontend will go to hell for the
duration of a frame anyway, and should recover quickly after that.

The terribleness of this commit is mostly that we duplicate libavformat
functionality, and that we suddenly need a packet queue.
2013-07-14 23:44:50 +02:00
..
af.rst manpage: proofread and fix formatting 2013-07-08 18:02:46 +02:00
ao.rst manpage: proofread and fix formatting 2013-07-08 18:02:46 +02:00
changes.rst Merge branch 'master' into remove_old_demuxers 2013-07-08 21:55:44 +02:00
encode.rst manpage: proofread and fix formatting 2013-07-08 18:02:46 +02:00
input.rst command: add screenshot_to_file command 2013-07-08 20:37:11 +02:00
mpv.rst manpage: proofread and fix formatting 2013-07-08 18:02:46 +02:00
options.rst demux_lavf: add terrible hack to make DVD playback just work 2013-07-14 23:44:50 +02:00
vf.rst manpage: proofread and fix formatting 2013-07-08 18:02:46 +02:00
vo.rst manpage: proofread and fix formatting 2013-07-08 18:02:46 +02:00