diff options
author | wm4 <wm4@nowhere> | 2019-05-31 19:52:26 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2019-09-19 20:37:05 +0200 |
commit | e8a051b3cb3da739ff79cfa8450780a157374558 (patch) | |
tree | a9139cbcd39fc11ee7829fe59ec2d6c574f16cc1 /ci | |
parent | d55c2a1243af1446ec40b5d02a5ebfe408b2f81b (diff) | |
download | mpv-e8a051b3cb3da739ff79cfa8450780a157374558.tar.bz2 mpv-e8a051b3cb3da739ff79cfa8450780a157374558.tar.xz |
f_decoder_wrapper: reorganize, fix EDL/ordered chapters backward playback
Before this commit, there was a single process_decoded_frame() function.
It handled various aspects of dealing with a newly decoded frame. Move
some of these to a separate process_output_frame() function.
This new function is called in the order the frames are returned to the
playback core. Some correct_audio_pts() (was process_audio_frame())
becomes slightly less awkward due to this, and the timestamp smoothing
can actually work in backward playback mode now (thus moving p->pts out
of reset_decoder()).
Behavior for normal playback also changes subtly. This shouldn't matter
in sane cases, but if you mix broken files, --no-correct-pts, and
timeline stuff, differences in behavior might be visible.
Timeline clipping (EDL/ordered chapters) works now, because it's done
before "transforming" the timestamps. Audio timestamp smoothing happens
after it, which is a behavior change, but should be more correct. This
still runs crazy_video_pts_stuff() before everything else. On the pther
hand, --no-correct-pts or missing timestamp processing is done last. But
these things didn't really work with timeline before.
Diffstat (limited to 'ci')
0 files changed, 0 insertions, 0 deletions