summaryrefslogtreecommitdiffstats
path: root/ext/speex
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2006-03-23 21:28:06 +0000
committerTim-Philipp Müller <tim@centricular.net>2006-03-23 21:28:06 +0000
commita876898f35bc60218afb368ebcf0b93a79e32617 (patch)
tree874bc3a08cb706052117a96076bc3e51d363497c /ext/speex
parent26aff02c8ae8b9bfafc6a9549eacb0f523aeb4d1 (diff)
More state change function fixes.
Original commit message from CVS: * ext/speex/gstspeexdec.c: (speex_dec_change_state): * gst/interleave/deinterleave.c: (deinterleave_change_state): * gst/interleave/interleave.c: (interleave_change_state): * gst/wavenc/gstwavenc.c: (gst_wavenc_change_state): More state change function fixes.
Diffstat (limited to 'ext/speex')
-rw-r--r--ext/speex/gstspeexdec.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/ext/speex/gstspeexdec.c b/ext/speex/gstspeexdec.c
index 035e8b77..da53dd98 100644
--- a/ext/speex/gstspeexdec.c
+++ b/ext/speex/gstspeexdec.c
@@ -574,15 +574,22 @@ gst_speexdec_set_property (GObject * object, guint prop_id,
static GstStateChangeReturn
speex_dec_change_state (GstElement * element, GstStateChange transition)
{
+ GstStateChangeReturn ret;
GstSpeexDec *vd = GST_SPEEXDEC (element);
switch (transition) {
case GST_STATE_CHANGE_NULL_TO_READY:
- break;
case GST_STATE_CHANGE_READY_TO_PAUSED:
- break;
case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
+ default:
break;
+ }
+
+ ret = parent_class->change_state (element, transition);
+ if (ret != GST_STATE_CHANGE_SUCCESS)
+ return ret;
+
+ switch (transition) {
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
break;
case GST_STATE_CHANGE_PAUSED_TO_READY:
@@ -595,5 +602,5 @@ speex_dec_change_state (GstElement * element, GstStateChange transition)
break;
}
- return parent_class->change_state (element, transition);
+ return ret;
}