projects
/
platform
/
upstream
/
gstreamer.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
16e0508
)
gdpdepay: Clear adapter on flush and state change
author
Olivier Crête
<olivier.crete@collabora.co.uk>
Thu, 5 Nov 2009 14:42:09 +0000
(15:42 +0100)
committer
Tim-Philipp Müller
<tim@centricular.net>
Tue, 11 Sep 2012 00:54:33 +0000
(
01:54
+0100)
Fixes #600469
gst/gdp/gstgdpdepay.c
patch
|
blob
|
history
diff --git
a/gst/gdp/gstgdpdepay.c
b/gst/gdp/gstgdpdepay.c
index 88ea6c0cf825b564244580e2b02557e3a9c72107..a72cc3032871ce4de3d6c5953e0434560d4c51d3 100644
(file)
--- a/
gst/gdp/gstgdpdepay.c
+++ b/
gst/gdp/gstgdpdepay.c
@@
-160,8
+160,13
@@
gst_gdp_depay_sink_event (GstPad * pad, GstEvent * event)
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_FLUSH_START:
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_FLUSH_START:
+ /* forward flush start */
+ res = gst_pad_push_event (this->srcpad, event);
+ break;
case GST_EVENT_FLUSH_STOP:
case GST_EVENT_FLUSH_STOP:
- /* forward flush start and stop */
+ /* clear adapter on flush */
+ gst_adapter_clear (this->adapter);
+ /* forward flush stop */
res = gst_pad_push_event (this->srcpad, event);
break;
case GST_EVENT_EOS:
res = gst_pad_push_event (this->srcpad, event);
break;
case GST_EVENT_EOS:
@@
-458,6
+463,7
@@
gst_gdp_depay_change_state (GstElement * element, GstStateChange transition)
gst_caps_unref (this->caps);
this->caps = NULL;
}
gst_caps_unref (this->caps);
this->caps = NULL;
}
+ gst_adapter_clear (this->adapter);
break;
default:
break;
break;
default:
break;