diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-10-27 09:35:34 +0000 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-05-12 21:20:58 +0200 |
commit | 4aa480725c861f7e5c5b6b5b5606db8642ea5b48 (patch) | |
tree | d9c0f529e26f02a7c5dba2d81cc9d4478ba4cb2a | |
parent | d1e3e827f3d1f9d03c8f0a81b9e1213170ea7491 (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.
-rw-r--r-- | gst/flv/gstflvparse.c | 11 |
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 */ |