videodecoder: Handle return value of gst_video_decoder_drain()

CID 1362896
This commit is contained in:
Sebastian Dröge 2017-02-28 15:11:42 +02:00
parent b95725c37e
commit daa0e18c75

View file

@ -2152,9 +2152,9 @@ 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->input_segment.rate > 0.0
if (ret == GST_FLOW_OK && was_keyframe && decoder->input_segment.rate > 0.0
&& (decoder->input_segment.flags & GST_SEEK_FLAG_TRICKMODE_KEY_UNITS))
gst_video_decoder_drain_out (decoder, FALSE);
ret = gst_video_decoder_drain_out (decoder, FALSE);
} else {
gst_adapter_push (priv->input_adapter, buf);