[GStreamer] Remove useless workaround
authorphiln@webkit.org <philn@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 9 Jul 2018 08:15:30 +0000 (08:15 +0000)
committerphiln@webkit.org <philn@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 9 Jul 2018 08:15:30 +0000 (08:15 +0000)
https://bugs.webkit.org/show_bug.cgi?id=186921

Reviewed by Xabier Rodriguez-Calvar.

In bug 67407 a workaround was added for GStreamer 0.10. With 1.x
the media/video-reverse-play-duration.html test passes without any
workaround needed. The other test mentioned in that bug was
removed, it seems.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
Removed early return, position queries shouldn't be avoided on EOS
because the pipeline is in READY state, not NULL.
(WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233637 268f45cc-cd09-0410-ab3c-d52691b4dbfc

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

index 0cb8ad0..864c36c 100644 (file)
@@ -1,3 +1,21 @@
+2018-07-09  Philippe Normand  <pnormand@igalia.com>
+
+        [GStreamer] Remove useless workaround
+        https://bugs.webkit.org/show_bug.cgi?id=186921
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        In bug 67407 a workaround was added for GStreamer 0.10. With 1.x
+        the media/video-reverse-play-duration.html test passes without any
+        workaround needed. The other test mentioned in that bug was
+        removed, it seems.
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
+        Removed early return, position queries shouldn't be avoided on EOS
+        because the pipeline is in READY state, not NULL.
+        (WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):
+
 2018-07-08  Simon Fraser  <simon.fraser@apple.com>
 
         Optimize packing of RenderSVGViewportContainer
index 6a6373d..9ba112c 100644 (file)
@@ -334,17 +334,8 @@ void MediaPlayerPrivateGStreamer::commitLoad()
 
 MediaTime MediaPlayerPrivateGStreamer::playbackPosition() const
 {
-    if (m_isEndReached) {
-        // Position queries on a null pipeline return 0. If we're at
-        // the end of the stream the pipeline is null but we want to
-        // report either the seek time or the duration because this is
-        // what the Media element spec expects us to do.
-        if (m_seeking)
-            return m_seekTime;
-
-        MediaTime duration = durationMediaTime();
-        return duration.isInvalid() ? MediaTime::zeroTime() : duration;
-    }
+    if (m_isEndReached && m_seeking)
+        return m_seekTime;
 
     // Position is only available if no async state change is going on and the state is either paused or playing.
     gint64 position = GST_CLOCK_TIME_NONE;
@@ -487,14 +478,6 @@ MediaTime MediaPlayerPrivateGStreamer::currentMediaTime() const
     if (m_seeking)
         return m_seekTime;
 
-    // Workaround for
-    // https://bugzilla.gnome.org/show_bug.cgi?id=639941 In GStreamer
-    // 0.10.35 basesink reports wrong duration in case of EOS and
-    // negative playback rate. There's no upstream accepted patch for
-    // this bug yet, hence this temporary workaround.
-    if (m_isEndReached && m_playbackRate < 0)
-        return MediaTime::invalidTime();
-
     return playbackPosition();
 }