Syncronizing a sound state of audio-session-manager.
authorkeonho07.kim <keonho07.kim@samsung.com>
Tue, 26 Mar 2013 16:43:41 +0000 (01:43 +0900)
committerGerrit Code Review <gerrit2@kim11>
Wed, 27 Mar 2013 04:43:03 +0000 (13:43 +0900)
[Title] Syncronizing a sound state of audio-session-manager.
[Problem] Audio sound state is not syncronized.
[Cause] Added gst_element_set_state  from upstream
[Solution] Add setSoundState() APIs

Change-Id: Icb66340c702e551c2404474c44ca4d1e2c7b92fe

Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp

index 43a1296..4a036fb 100755 (executable)
@@ -1471,12 +1471,20 @@ void MediaPlayerPrivateGStreamer::updateStates()
             setPreload(MediaPlayer::None);
             gst_element_set_state(m_playBin.get(), GST_STATE_NULL);
             gst_element_set_state(m_playBin.get(), GST_STATE_PAUSED);
+#if ENABLE(TIZEN_GSTREAMER_AUDIO)
+            if (m_audioSessionManager)
+                m_audioSessionManager->setSoundState(ASM_STATE_PAUSE);
+#endif
         }
 
         // A live stream was paused, reset the pipeline.
         if (state == GST_STATE_PAUSED && pending == GST_STATE_PLAYING && isLiveStream()) {
             gst_element_set_state(m_playBin.get(), GST_STATE_NULL);
             gst_element_set_state(m_playBin.get(), GST_STATE_PLAYING);
+#if ENABLE(TIZEN_GSTREAMER_AUDIO)
+            if (m_audioSessionManager)
+                m_audioSessionManager->setSoundState(ASM_STATE_PLAYING);
+#endif
         }
 
         if (!isLiveStream() && !m_buffering)
@@ -1639,7 +1647,6 @@ bool MediaPlayerPrivateGStreamer::loadNextLocation()
             // Reset pipeline state.
             m_resetPipeline = true;
             gst_element_set_state(m_playBin.get(), GST_STATE_READY);
-
 #if ENABLE(TIZEN_GSTREAMER_AUDIO)
             if (m_audioSessionManager)
                 m_audioSessionManager->setSoundState(ASM_STATE_NONE);
@@ -1754,6 +1761,10 @@ void MediaPlayerPrivateGStreamer::durationChanged()
             setPreload(MediaPlayer::Auto);
             gst_element_set_state(m_playBin.get(), GST_STATE_NULL);
             gst_element_set_state(m_playBin.get(), GST_STATE_PAUSED);
+#if ENABLE(TIZEN_GSTREAMER_AUDIO)
+            if (m_audioSessionManager)
+                m_audioSessionManager->setSoundState(ASM_STATE_PAUSE);
+#endif
         }
     }
 }
@@ -2310,11 +2321,19 @@ void MediaPlayerPrivateGStreamer::suspend()
 {
     m_suspendTime = currentTime();
     gst_element_set_state(m_playBin.get(), GST_STATE_NULL);
+#if ENABLE(TIZEN_GSTREAMER_AUDIO)
+    if (m_audioSessionManager)
+        m_audioSessionManager->setSoundState(ASM_STATE_STOP);
+#endif
 }
 
 void MediaPlayerPrivateGStreamer::resume()
 {
     gst_element_set_state(m_playBin.get(), GST_STATE_PAUSED);
+#if ENABLE(TIZEN_GSTREAMER_AUDIO)
+    if (m_audioSessionManager)
+        m_audioSessionManager->setSoundState(ASM_STATE_PAUSE);
+#endif
 }
 
 #endif