From 1cd7c40e5b2790327fc86ba4f8b8d4e6532390c7 Mon Sep 17 00:00:00 2001 From: Robert Jadczak Date: Fri, 23 Aug 2013 19:18:09 +0900 Subject: [PATCH] Slider pointer does not move smoothly in html5 video [Title] Slider pointer does not move smoothly in html5 video [Issue] N_SE-48572 [Problem] When gstreamer position query fails MediaPlayerPrivateGStreamer::playbackPosition() returns zero. [Solution] Changing the returned value in case of gstreamer position query fails. Change-Id: I3d1a849c809e6e48c3377498cad25987f5cafc67 --- .../graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp index c8b9784..656c2fc 100755 --- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp +++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp @@ -533,7 +533,11 @@ float MediaPlayerPrivateGStreamer::playbackPosition() const return m_mediaDuration; } +#if ENABLE(TIZEN_GSTREAMER_VIDEO) + float ret = m_seekTime; +#else float ret = 0.0f; +#endif GstQuery* query = gst_query_new_position(GST_FORMAT_TIME); if (!gst_element_query(m_playBin.get(), query)) { @@ -715,12 +719,15 @@ void MediaPlayerPrivateGStreamer::seek(float time) #endif } else { m_seeking = true; - m_seekTime = time; #if ENABLE(TIZEN_GSTREAMER_VIDEO) - if (m_seekTime != m_mediaDuration) + if (time != m_mediaDuration) m_isEndReached = false; -#endif } + m_seekTime = time; +#else + m_seekTime = time; + } +#endif } bool MediaPlayerPrivateGStreamer::paused() const @@ -1762,6 +1769,9 @@ void MediaPlayerPrivateGStreamer::didEnd() m_isEndReached = true; timeChanged(); +#if ENABLE(TIZEN_GSTREAMER_VIDEO) + m_seekTime = 0; +#endif if (!m_player->mediaPlayerClient()->mediaPlayerIsLooping()) { m_paused = true; -- 2.7.4