From 4aa480725c861f7e5c5b6b5b5606db8642ea5b48 Mon Sep 17 00:00:00 2001 From: Sebastian Dröge Date: Mon, 27 Oct 2008 09:35:34 +0000 Subject: [MOVED FROM BAD 40/57] gst/flv/gstflvparse.c: If the caps change during playback and negotiation fails error out instead of trying to continue. Original commit message from CVS: * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): If the caps change during playback and negotiation fails error out instead of trying to continue. --- gst/flv/gstflvparse.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'gst/flv') diff --git a/gst/flv/gstflvparse.c b/gst/flv/gstflvparse.c index d9cdb239..e7c4f144 100644 --- a/gst/flv/gstflvparse.c +++ b/gst/flv/gstflvparse.c @@ -606,7 +606,11 @@ gst_flv_parse_tag_audio (GstFLVDemux * demux, const guint8 * data, GST_DEBUG_OBJECT (demux, "audio settings have changed, changing caps"); /* Negotiate caps */ - gst_flv_parse_audio_negotiate (demux, codec_tag, rate, channels, width); + if (!gst_flv_parse_audio_negotiate (demux, codec_tag, rate, channels, + width)) { + ret = GST_FLOW_ERROR; + goto beach; + } } /* Push taglist if present */ @@ -907,7 +911,10 @@ gst_flv_parse_tag_video (GstFLVDemux * demux, const guint8 * data, GST_DEBUG_OBJECT (demux, "video settings have changed, changing caps"); - gst_flv_parse_video_negotiate (demux, codec_tag); + if (!gst_flv_parse_video_negotiate (demux, codec_tag)) { + ret = GST_FLOW_ERROR; + goto beach; + } /* When we ve set pixel-aspect-ratio we use that boolean to detect a * metadata tag that would come later and trigger a caps change */ -- cgit