diff --git a/ChangeLog b/ChangeLog index 31d75a4d6b..3e647f3b70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-08-04 Zaheer Abbas Merali + + * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain): + Fix event parsing by gdpdepay. Fixes #349916. + 2006-08-03 Tim-Philipp Müller Patch by: cascardo at holoscopio dot com diff --git a/gst/gdp/gstgdpdepay.c b/gst/gdp/gstgdpdepay.c index ba391c4067..98d584c4a0 100644 --- a/gst/gdp/gstgdpdepay.c +++ b/gst/gdp/gstgdpdepay.c @@ -275,21 +275,17 @@ gst_gdp_depay_chain (GstPad * pad, GstBuffer * buffer) goto done; /* change state based on type */ - switch (this->payload_type) { - case GST_DP_PAYLOAD_BUFFER: - GST_LOG_OBJECT (this, "switching to state BUFFER"); - this->state = GST_GDP_DEPAY_STATE_BUFFER; - break; - case GST_DP_PAYLOAD_CAPS: - GST_LOG_OBJECT (this, "switching to state CAPS"); - this->state = GST_GDP_DEPAY_STATE_CAPS; - break; - case GST_DP_PAYLOAD_EVENT_NONE: - GST_LOG_OBJECT (this, "switching to state EVENT"); - this->state = GST_GDP_DEPAY_STATE_EVENT; - break; - default: - goto wrong_type; + if (this->payload_type == GST_DP_PAYLOAD_BUFFER) { + GST_LOG_OBJECT (this, "switching to state BUFFER"); + this->state = GST_GDP_DEPAY_STATE_BUFFER; + } else if (this->payload_type == GST_DP_PAYLOAD_CAPS) { + GST_LOG_OBJECT (this, "switching to state CAPS"); + this->state = GST_GDP_DEPAY_STATE_CAPS; + } else if (this->payload_type >= GST_DP_PAYLOAD_EVENT_NONE) { + GST_LOG_OBJECT (this, "switching to state EVENT"); + this->state = GST_GDP_DEPAY_STATE_EVENT; + } else { + goto wrong_type; } break; }