diff --git a/0001-speexdec-Don-t-unmap-or-finish_frame-an-invalid-GstB.patch b/0001-speexdec-Don-t-unmap-or-finish_frame-an-invalid-GstB.patch deleted file mode 100644 index ce0eb21..0000000 --- a/0001-speexdec-Don-t-unmap-or-finish_frame-an-invalid-GstB.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0bf17544e3c2a9277975659ce6e52d265d9b3e8a Mon Sep 17 00:00:00 2001 -From: Debarshi Ray -Date: Fri, 2 Nov 2012 16:39:28 +0100 -Subject: [PATCH] speexdec: Don't unmap or finish_frame an invalid GstBuffer - -https://bugzilla.gnome.org/show_bug.cgi?id=687464 ---- - ext/speex/gstspeexdec.c | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - -diff --git a/ext/speex/gstspeexdec.c b/ext/speex/gstspeexdec.c -index 36cc68b..cd78804 100644 ---- a/ext/speex/gstspeexdec.c -+++ b/ext/speex/gstspeexdec.c -@@ -392,6 +392,7 @@ gst_speex_dec_parse_data (GstSpeexDec * dec, GstBuffer * buf) - /* now decode each frame, catering for unknown number of them (e.g. rtp) */ - for (i = 0; i < fpp; i++) { - GstBuffer *outbuf; -+ gboolean corrupted = FALSE; - gint ret; - - GST_LOG_OBJECT (dec, "decoding frame %d/%d, %d bits remaining", i, fpp, -@@ -425,18 +426,15 @@ gst_speex_dec_parse_data (GstSpeexDec * dec, GstBuffer * buf) - } else { - GST_WARNING_OBJECT (dec, "Unexpected end of stream found"); - } -- gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (dec), NULL, 1); -- gst_buffer_unref (outbuf); -+ corrupted = TRUE; - } else if (ret == -2) { - GST_WARNING_OBJECT (dec, "Decoding error: corrupted stream?"); -- gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (dec), NULL, 1); -- gst_buffer_unref (outbuf); -+ corrupted = TRUE; - } - - if (bits && speex_bits_remaining (bits) < 0) { - GST_WARNING_OBJECT (dec, "Decoding overflow: corrupted stream?"); -- gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (dec), NULL, 1); -- gst_buffer_unref (outbuf); -+ corrupted = TRUE; - } - if (dec->header->nb_channels == 2) - speex_decode_stereo_int ((spx_int16_t *) map.data, dec->frame_size, -@@ -444,7 +442,12 @@ gst_speex_dec_parse_data (GstSpeexDec * dec, GstBuffer * buf) - - gst_buffer_unmap (outbuf, &map); - -- res = gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (dec), outbuf, 1); -+ if (!corrupted) { -+ res = gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (dec), outbuf, 1); -+ } else { -+ res = gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (dec), NULL, 1); -+ gst_buffer_unref (outbuf); -+ } - - if (res != GST_FLOW_OK) { - GST_DEBUG_OBJECT (dec, "flow: %s", gst_flow_get_name (res)); --- -1.7.12.1 - diff --git a/0001-vp8dec-Short-circuit-gst_vp8_dec_handle_frame-if-key.patch b/0001-vp8dec-Short-circuit-gst_vp8_dec_handle_frame-if-key.patch deleted file mode 100644 index 4718a0f..0000000 --- a/0001-vp8dec-Short-circuit-gst_vp8_dec_handle_frame-if-key.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3c216600f55351549573cf94be541fc6055db128 Mon Sep 17 00:00:00 2001 -From: Debarshi Ray -Date: Thu, 1 Nov 2012 22:02:39 +0100 -Subject: [PATCH 1/2] vp8dec: Short circuit gst_vp8_dec_handle_frame if - keyframe is missing - -https://bugzilla.gnome.org/show_bug.cgi?id=687376 ---- - ext/vpx/gstvp8dec.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/ext/vpx/gstvp8dec.c b/ext/vpx/gstvp8dec.c -index 9ec1771..7dcd75b 100644 ---- a/ext/vpx/gstvp8dec.c -+++ b/ext/vpx/gstvp8dec.c -@@ -415,7 +415,7 @@ open_codec (GstVP8Dec * dec, GstVideoCodecFrame * frame) - if (status != VPX_CODEC_OK || !stream_info.is_kf) { - GST_WARNING_OBJECT (dec, "No keyframe, skipping"); - gst_video_decoder_finish_frame (GST_VIDEO_DECODER (dec), frame); -- return GST_FLOW_OK; -+ return GST_FLOW_CUSTOM_SUCCESS_1; - } - - g_assert (dec->output_state == NULL); -@@ -483,8 +483,11 @@ gst_vp8_dec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame) - - dec = GST_VP8_DEC (decoder); - -- if (!dec->decoder_inited) -+ if (!dec->decoder_inited) { - ret = open_codec (dec, frame); -+ if (ret == GST_FLOW_CUSTOM_SUCCESS_1) -+ return GST_FLOW_OK; -+ } - - deadline = gst_video_decoder_get_max_decode_time (decoder, frame); - if (deadline < 0) { --- -1.7.12.1 - diff --git a/0002-vp8dec-Immediately-return-if-opening-the-decoder-fai.patch b/0002-vp8dec-Immediately-return-if-opening-the-decoder-fai.patch deleted file mode 100644 index dd116f1..0000000 --- a/0002-vp8dec-Immediately-return-if-opening-the-decoder-fai.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f0640f205cca974ccbe0550e76ab37f16b7c8821 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= -Date: Fri, 2 Nov 2012 09:34:25 +0100 -Subject: [PATCH 2/2] vp8dec: Immediately return if opening the decoder failed - -Instead of ignoring any errors. ---- - ext/vpx/gstvp8dec.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/ext/vpx/gstvp8dec.c b/ext/vpx/gstvp8dec.c -index 7dcd75b..b5b4aa3 100644 ---- a/ext/vpx/gstvp8dec.c -+++ b/ext/vpx/gstvp8dec.c -@@ -487,6 +487,8 @@ gst_vp8_dec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame) - ret = open_codec (dec, frame); - if (ret == GST_FLOW_CUSTOM_SUCCESS_1) - return GST_FLOW_OK; -+ else if (ret != GST_FLOW_OK) -+ return ret; - } - - deadline = gst_video_decoder_get_max_decode_time (decoder, frame); --- -1.7.12.1 -