diff options
author | wm4 <wm4@nowhere> | 2013-11-26 23:41:01 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-11-26 23:43:56 +0100 |
commit | f1eb30a476fa92840d1cdfcdcc13db9e59ad09a6 (patch) | |
tree | 55204e9fe5032ac41912c5c8138cac9b664263e4 /demux/demux_lavf.c | |
parent | 27d578a8476cda1bdc7b5882282ff2ceff10ec25 (diff) | |
download | mpv-f1eb30a476fa92840d1cdfcdcc13db9e59ad09a6.tar.bz2 mpv-f1eb30a476fa92840d1cdfcdcc13db9e59ad09a6.tar.xz |
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...
Diffstat (limited to 'demux/demux_lavf.c')
0 files changed, 0 insertions, 0 deletions