[gst-cvs] gst-plugins-good: pulsesink: clean up the state change function
Wim Taymans
wtay at kemper.freedesktop.org
Mon Mar 23 03:23:41 PDT 2009
Module: gst-plugins-good
Branch: master
Commit: 39f59ea4569cdc3aaba5d736442cb41031aeedaa
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=39f59ea4569cdc3aaba5d736442cb41031aeedaa
Author: Wim Taymans <wim.taymans at collabora.co.uk>
Date: Mon Mar 23 11:22:08 2009 +0100
pulsesink: clean up the state change function
Make the state change function a bit more readable and only pause after the
parent had a change to pause first.
---
ext/pulse/pulsesink.c | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/ext/pulse/pulsesink.c b/ext/pulse/pulsesink.c
index 7d2af9d..5064f6f 100644
--- a/ext/pulse/pulsesink.c
+++ b/ext/pulse/pulsesink.c
@@ -1243,23 +1243,25 @@ unlock:
static GstStateChangeReturn
gst_pulsesink_change_state (GstElement * element, GstStateChange transition)
{
+ GstStateChangeReturn res;
GstPulseSink *this = GST_PULSESINK (element);
switch (transition) {
-
case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
- case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
-
- gst_pulsesink_pause (this,
- GST_STATE_TRANSITION_NEXT (transition) == GST_STATE_PAUSED);
+ gst_pulsesink_pause (this, FALSE);
break;
-
default:
- ;
+ break;
}
- if (GST_ELEMENT_CLASS (parent_class)->change_state)
- return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+ res = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
- return GST_STATE_CHANGE_SUCCESS;
+ switch (transition) {
+ case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+ gst_pulsesink_pause (this, TRUE);
+ break;
+ default:
+ break;
+ }
+ return res;
}
More information about the Gstreamer-commits
mailing list