diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-10-27 09:35:34 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-10-27 09:35:34 +0000 |
commit | 881490ded687a2712f7617dba3ccc1d9fd38b47b (patch) | |
tree | 60718394124dd5d2264774b296fd0b44158c995a /gst | |
parent | f577ffb12dfa0aca33a1e7892484acf16d2e555f (diff) | |
download | gst-plugins-bad-881490ded687a2712f7617dba3ccc1d9fd38b47b.tar.gz gst-plugins-bad-881490ded687a2712f7617dba3ccc1d9fd38b47b.tar.bz2 gst-plugins-bad-881490ded687a2712f7617dba3ccc1d9fd38b47b.zip |
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')
-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 */ |