diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c index 61c44c211e..2e480a4453 100644 --- a/gst-libs/gst/video/gstvideodecoder.c +++ b/gst-libs/gst/video/gstvideodecoder.c @@ -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 {