From 627e492b7ea92ca8c44c9726b4e87d5453a3a1d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 5 Mar 2015 10:00:33 +0100 Subject: [PATCH] vp[89]dec: Drop frames that have no output buffer because of errors finish_frame() assumes that there is an output buffer. --- ext/vpx/gstvp8dec.c | 6 +++--- ext/vpx/gstvp9dec.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/vpx/gstvp8dec.c b/ext/vpx/gstvp8dec.c index 67a168aa0c..295111812a 100644 --- a/ext/vpx/gstvp8dec.c +++ b/ext/vpx/gstvp8dec.c @@ -430,12 +430,12 @@ open_codec (GstVP8Dec * dec, GstVideoCodecFrame * frame) if (status != VPX_CODEC_OK) { GST_WARNING_OBJECT (dec, "VPX preprocessing error: %s", gst_vpx_error_name (status)); - gst_video_decoder_finish_frame (GST_VIDEO_DECODER (dec), frame); + gst_video_decoder_drop_frame (GST_VIDEO_DECODER (dec), frame); return GST_FLOW_CUSTOM_SUCCESS_1; } if (!stream_info.is_kf) { GST_WARNING_OBJECT (dec, "No keyframe, skipping"); - gst_video_decoder_finish_frame (GST_VIDEO_DECODER (dec), frame); + gst_video_decoder_drop_frame (GST_VIDEO_DECODER (dec), frame); return GST_FLOW_CUSTOM_SUCCESS_1; } @@ -579,7 +579,7 @@ gst_vp8_dec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame) gst_vp8_dec_image_to_buffer (dec, img, frame->output_buffer); ret = gst_video_decoder_finish_frame (decoder, frame); } else { - gst_video_decoder_finish_frame (decoder, frame); + gst_video_decoder_drop_frame (decoder, frame); } } diff --git a/ext/vpx/gstvp9dec.c b/ext/vpx/gstvp9dec.c index 43c46b3f0c..5a18f3a570 100644 --- a/ext/vpx/gstvp9dec.c +++ b/ext/vpx/gstvp9dec.c @@ -426,12 +426,12 @@ open_codec (GstVP9Dec * dec, GstVideoCodecFrame * frame) if (status != VPX_CODEC_OK) { GST_WARNING_OBJECT (dec, "VPX preprocessing error: %s", gst_vpx_error_name (status)); - gst_video_decoder_finish_frame (GST_VIDEO_DECODER (dec), frame); + gst_video_decoder_drop_frame (GST_VIDEO_DECODER (dec), frame); return GST_FLOW_CUSTOM_SUCCESS_1; } if (!stream_info.is_kf) { GST_WARNING_OBJECT (dec, "No keyframe, skipping"); - gst_video_decoder_finish_frame (GST_VIDEO_DECODER (dec), frame); + gst_video_decoder_drop_frame (GST_VIDEO_DECODER (dec), frame); return GST_FLOW_CUSTOM_SUCCESS_1; } @@ -584,7 +584,7 @@ gst_vp9_dec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame) gst_vp9_dec_image_to_buffer (dec, img, frame->output_buffer); ret = gst_video_decoder_finish_frame (decoder, frame); } else { - gst_video_decoder_finish_frame (decoder, frame); + gst_video_decoder_drop_frame (decoder, frame); } }