Drop unnecessary patches
This commit is contained in:
parent
9068f08ee5
commit
6700c3072e
@ -1,61 +0,0 @@
|
|||||||
From 0bf17544e3c2a9277975659ce6e52d265d9b3e8a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Debarshi Ray <rishi@gnu.org>
|
|
||||||
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
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
|||||||
From 3c216600f55351549573cf94be541fc6055db128 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Debarshi Ray <rishi@gnu.org>
|
|
||||||
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
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From f0640f205cca974ccbe0550e76ab37f16b7c8821 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian.droege@collabora.co.uk>
|
|
||||||
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
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user