servicemp3.cpp: redo reverted fixes (removed during gstreamer decodebin2 merge)
authorghost <andreas.monzner@multimedia-labs.de>
Fri, 24 Apr 2009 17:15:59 +0000 (19:15 +0200)
committerghost <andreas.monzner@multimedia-labs.de>
Fri, 24 Apr 2009 17:15:59 +0000 (19:15 +0200)
lib/service/servicemp3.cpp

index e33425d42360aee57e06b0cda6d0aaad6b9e3b8e..f8eb194e14da7fbfabe3aa9bd64f9303fc55d25c 100644 (file)
@@ -354,7 +354,7 @@ RESULT eServiceMP3::connectEvent(const Slot2<void,iPlayableService*,int> &event,
 
 RESULT eServiceMP3::start()
 {
-       assert(m_state == stIdle);
+       ASSERT(m_state == stIdle);
        
        m_state = stRunning;
        if (m_gst_playbin)
@@ -368,7 +368,7 @@ RESULT eServiceMP3::start()
 
 RESULT eServiceMP3::stop()
 {
-       assert(m_state != stIdle);
+       ASSERT(m_state != stIdle);
        if (m_state == stStopped)
                return -1;
        eDebug("eServiceMP3::stop %s", m_filename.c_str());
@@ -427,7 +427,7 @@ void eServiceMP3::seekTimeoutCB()
                // iPausableService
 RESULT eServiceMP3::pause()
 {
-       if (!m_gst_playbin)
+       if (!m_gst_playbin || m_state != stRunning)
                return -1;
        GstStateChangeReturn res = gst_element_set_state(m_gst_playbin, GST_STATE_PAUSED);
        if (res == GST_STATE_CHANGE_ASYNC)
@@ -441,7 +441,7 @@ RESULT eServiceMP3::pause()
 
 RESULT eServiceMP3::unpause()
 {
-       if (!m_gst_playbin)
+       if (!m_gst_playbin || m_state != stRunning)
                return -1;
 
        GstStateChangeReturn res;