mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 17:20:36 +00:00
videodecoder: Use input segment rate instead of output segment rate to decide whether the drain on keyframes
The output segment is only set up after data is output, which might be far in the future for reverse playback. Also we are here interested in the state at the current *input* frame (which is the keyframe), not any possible output.
This commit is contained in:
parent
0c7022d681
commit
0bd3f2352c
1 changed files with 1 additions and 1 deletions
|
@ -2216,7 +2216,7 @@ gst_video_decoder_chain_forward (GstVideoDecoder * decoder,
|
|||
* Also this function is only called for reverse playback to gather frames
|
||||
* GOP by GOP, and does not do any actual decoding. That would be done by
|
||||
* flush_decode() */
|
||||
if (was_keyframe && decoder->output_segment.rate > 0.0
|
||||
if (was_keyframe && decoder->input_segment.rate > 0.0
|
||||
&& (decoder->output_segment.flags & GST_SEEK_FLAG_TRICKMODE_KEY_UNITS))
|
||||
gst_video_decoder_drain_out (decoder, FALSE);
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue