1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-02 04:42:10 +00:00
mpv/demux
wm4 f1eb30a476 demux_mkv: fix realvideo timestamp handling
This was broken by the recent commits. Apparently realvideo timestamps
are severely mangled, and Matroska _of course_ doesn't have the sane,
umangled timestamps, but something unusable. The existing unmangling
code in demux_mkv.c didn't output proper timestamps either. Instead,
it was something weird that triggered sorting. Without sorting (it was
disabled by default recently), you'd get decreasing PTS warnings

In order to fix this, steal some code from libavcodec. Basically copy
the contents of rv34_parser.c (with some changes), which makes
everything magically work. (Maybe it would be better to use the
libavcodec parser API, but I don't want to do that just for this. An
alternative idea would be refusing to read files that have realvideo
tracks, and delegate this to demux_lavf.c, but maybe that's too redical
too.)

I wish I hadn't notice this...
2013-11-26 23:43:56 +01:00
..
codec_tags.c demux: remove gsh field from sh_audio/sh_video/sh_sub 2013-11-23 21:37:56 +01:00
codec_tags.h demux: remove gsh field from sh_audio/sh_video/sh_sub 2013-11-23 21:37:56 +01:00
demux_cue.c core: move contents to mpvcore (2/2) 2013-08-06 22:52:31 +02:00
demux_edl.c timeline: reject mplayer2 EDL files, change EDL header 2013-11-21 15:59:00 +01:00
demux_lavf.c demux_lavf: disable genpts by default, remove the builtin genpts hack 2013-11-25 23:13:46 +01:00
demux_libass.c demux: make determining seek capability generic 2013-11-03 19:21:47 +01:00
demux_mf.c demux: remove gsh field from sh_audio/sh_video/sh_sub 2013-11-23 21:37:56 +01:00
demux_mkv.c demux_mkv: fix realvideo timestamp handling 2013-11-26 23:43:56 +01:00
demux_playlist.c playlist: rewrite PLS parser 2013-11-04 23:55:41 +01:00
demux_raw.c demux: remove gsh field from sh_audio/sh_video/sh_sub 2013-11-23 21:37:56 +01:00
demux_subreader.c demux: make determining seek capability generic 2013-11-03 19:21:47 +01:00
demux.c player: move code for skipping 0-sized video packets to demuxer 2013-11-26 01:07:32 +01:00
demux.h demux: export dts from demux_lavf, use it for avi 2013-11-25 23:13:01 +01:00
ebml.c core: move contents to mpvcore (2/2) 2013-08-06 22:52:31 +02:00
ebml.h core: move contents to mpvcore (2/2) 2013-08-06 22:52:31 +02:00
matroska.h demux_mkv: support some raw PCM variants 2013-11-11 18:40:59 +01:00
mf.c mf: silence compilation warning 2013-11-13 20:10:17 +01:00
mf.h mf: silence compilation warning 2013-11-13 20:10:17 +01:00
ms_hdr.h demux: rename Windows symbols 2013-11-02 15:14:12 +01:00
packet.h demux: export dts from demux_lavf, use it for avi 2013-11-25 23:13:01 +01:00
stheader.h Reduce stheader.h includes, move stream types to mp_common.h 2013-11-23 22:08:42 +01:00