diff options
author | Tim-Philipp Müller <tim@centricular.net> | 2006-03-23 21:28:06 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.net> | 2006-03-23 21:28:06 +0000 |
commit | a876898f35bc60218afb368ebcf0b93a79e32617 (patch) | |
tree | 874bc3a08cb706052117a96076bc3e51d363497c | |
parent | 26aff02c8ae8b9bfafc6a9549eacb0f523aeb4d1 (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.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/speex/gstspeexdec.c | 13 | ||||
-rw-r--r-- | gst/wavenc/gstwavenc.c | 11 |
3 files changed, 24 insertions, 8 deletions
@@ -1,3 +1,11 @@ +2006-03-23 Tim-Philipp Müller <tim at centricular dot net> + + * 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. + 2006-03-23 Wim Taymans <wim@fluendo.com> * ext/esd/esdsink.c: (gst_esdsink_class_init), 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; } diff --git a/gst/wavenc/gstwavenc.c b/gst/wavenc/gstwavenc.c index f392b6ee..6b2fb973 100644 --- a/gst/wavenc/gstwavenc.c +++ b/gst/wavenc/gstwavenc.c @@ -126,8 +126,13 @@ gst_wavenc_get_type (void) static GstStateChangeReturn gst_wavenc_change_state (GstElement * element, GstStateChange transition) { + GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS; GstWavEnc *wavenc = GST_WAVENC (element); + ret = parent_class->change_state (element, transition); + if (ret != GST_STATE_CHANGE_SUCCESS) + return ret; + switch (transition) { case GST_STATE_CHANGE_PAUSED_TO_READY: wavenc->setup = FALSE; @@ -137,11 +142,7 @@ gst_wavenc_change_state (GstElement * element, GstStateChange transition) break; } - if (parent_class->change_state) { - return parent_class->change_state (element, transition); - } - - return GST_STATE_CHANGE_SUCCESS; + return ret; } static void |