summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--gst/gdp/gstgdpdepay.c26
2 files changed, 16 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 31d75a4d..3e647f3b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-08-04 Zaheer Abbas Merali <zaheerabbas at merali dot org>
+
+ * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
+ Fix event parsing by gdpdepay. Fixes #349916.
+
2006-08-03 Tim-Philipp Müller <tim at centricular dot net>
Patch by: cascardo at holoscopio dot com
diff --git a/gst/gdp/gstgdpdepay.c b/gst/gdp/gstgdpdepay.c
index ba391c40..98d584c4 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;
}