diff options
Diffstat (limited to 'recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0008-gstaudiobasesink-print-warning-istead-of-return-ERRO.patch')
-rw-r--r-- | recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0008-gstaudiobasesink-print-warning-istead-of-return-ERRO.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0008-gstaudiobasesink-print-warning-istead-of-return-ERRO.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0008-gstaudiobasesink-print-warning-istead-of-return-ERRO.patch new file mode 100644 index 0000000..acfb748 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0008-gstaudiobasesink-print-warning-istead-of-return-ERRO.patch @@ -0,0 +1,47 @@ +From 0b04eab955d557b84cfecea4bbe8cec6f04da0d8 Mon Sep 17 00:00:00 2001 +From: Lyon Wang <lyon.wang@freescale.com> +Date: Tue, 17 Nov 2015 14:56:47 +0800 +Subject: [PATCH 09/16] gstaudiobasesink print warning istead of return ERROR. + +For those clips with corrupt audio track, +there might be no output from audio decoder +and thus the audio track have no chance to negotiate. +We can just print error warning instead of return ERROR, +so that other track can be played normally + +https://bugzilla.gnome.org/show_bug.cgi?id=758215 + +Upstream-Status: Pending + +Signed-off-by: Lyon Wang <lyon.wang@freescale.com> +--- + gst-libs/gst/audio/gstaudiobasesink.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + mode change 100644 => 100755 gst-libs/gst/audio/gstaudiobasesink.c + +diff --git a/gst-libs/gst/audio/gstaudiobasesink.c b/gst-libs/gst/audio/gstaudiobasesink.c +old mode 100644 +new mode 100755 +index 6c0e7c9..91f0a48 +--- a/gst-libs/gst/audio/gstaudiobasesink.c ++++ b/gst-libs/gst/audio/gstaudiobasesink.c +@@ -1114,10 +1114,15 @@ gst_audio_base_sink_wait_event (GstBaseSink * bsink, GstEvent * event) + case GST_EVENT_GAP: + /* We must have a negotiated format before starting the ringbuffer */ + if (G_UNLIKELY (!gst_audio_ring_buffer_is_acquired (sink->ringbuffer))) { +- GST_ELEMENT_ERROR (sink, STREAM, FORMAT, (NULL), ++ /* GST_ELEMENT_ERROR (sink, STREAM, FORMAT, (NULL), + ("Sink not negotiated before %s event.", + GST_EVENT_TYPE_NAME (event))); ++ + return GST_FLOW_ERROR; ++ */ ++ /* consider there might be chance that corrupt audio track without output buffer and not negotiated. ++ We'd better not return error and quit play, video track can keep playing.*/ ++ GST_ERROR_OBJECT(sink, "Sink not negotiated before %s event.",GST_EVENT_TYPE_NAME (event)); + } + + gst_audio_base_sink_force_start (sink); +-- +1.9.1 + |