Commit 0bd3f235 authored by Sebastian Dröge's avatar Sebastian Dröge
Browse files

videodecoder: Use input segment rate instead of output segment rate to decide...

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.
parent 0c7022d6
......@@ -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 {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment