diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-10-31 09:00:49 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-10-31 11:11:32 +0200 |
commit | 9ba6fb86d8e63a83031824d25d633116e78b4c66 (patch) | |
tree | 3702282618a6156fcfe246009e077c7b1ea42bd8 | |
parent | 1dc1ee2ae34574fd764a913dcb499dc1e36b8a26 (diff) |
wavparse: Don't try to add srcpad if we don't know valid caps yet
Otherwise we'll run into an assertion on specially crafted files.
https://bugzilla.gnome.org/show_bug.cgi?id=773643
-rw-r--r-- | gst/wavparse/gstwavparse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c index 6650d183b..49bc03cc6 100644 --- a/gst/wavparse/gstwavparse.c +++ b/gst/wavparse/gstwavparse.c @@ -2216,7 +2216,7 @@ pause: else if (wav->segment.rate < 0.0) wav->segment.position = wav->segment.start; } - if (wav->state == GST_WAVPARSE_START) { + if (wav->state == GST_WAVPARSE_START || !wav->caps) { GST_ELEMENT_ERROR (wav, STREAM, WRONG_TYPE, (NULL), ("No valid input found before end of stream")); gst_pad_push_event (wav->srcpad, gst_event_new_eos ()); @@ -2427,7 +2427,7 @@ gst_wavparse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) break; } case GST_EVENT_EOS: - if (wav->state == GST_WAVPARSE_START) { + if (wav->state == GST_WAVPARSE_START || !wav->caps) { GST_ELEMENT_ERROR (wav, STREAM, WRONG_TYPE, (NULL), ("No valid input found before end of stream")); } else { |