summaryrefslogtreecommitdiffstats
path: root/gst/flv
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-10-27 09:35:34 +0000
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-05-12 21:20:58 +0200
commit4aa480725c861f7e5c5b6b5b5606db8642ea5b48 (patch)
treed9c0f529e26f02a7c5dba2d81cc9d4478ba4cb2a /gst/flv
parentd1e3e827f3d1f9d03c8f0a81b9e1213170ea7491 (diff)
[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.
Diffstat (limited to 'gst/flv')
-rw-r--r--gst/flv/gstflvparse.c11
1 files changed, 9 insertions, 2 deletions
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 */