Skip to content

Commit a712cc7

Browse files
committed
[acn][wpewebkit]: When there is a seek in process, if the return position by brcm sink is invalid, use seek position as current
1 parent 4a64abe commit a712cc7

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

package/wpe/wpewebkit/0009-use-audio-position.patch

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
2-
index 0a875d2..c1ffe96 100644
2+
index 0a875d2..347fcc1 100644
33
--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
44
+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
55
@@ -306,8 +306,7 @@ void MediaPlayerPrivateGStreamer::commitLoad()
@@ -45,7 +45,7 @@ index 0a875d2..c1ffe96 100644
4545
// Position is only available if no async state change is going on and the state is either paused or playing.
4646
gint64 position = GST_CLOCK_TIME_NONE;
4747
GstElement* videoDec = nullptr;
48-
@@ -370,37 +376,44 @@ MediaTime MediaPlayerPrivateGStreamer::playbackPosition() const
48+
@@ -370,16 +376,38 @@ MediaTime MediaPlayerPrivateGStreamer::playbackPosition() const
4949
g_object_get(m_pipeline.get(), "video-sink", &videoDec, nullptr);
5050
if (!GST_IS_ELEMENT(videoDec))
5151
return MediaTime::zeroTime();
@@ -85,10 +85,10 @@ index 0a875d2..c1ffe96 100644
8585
GstClockTime gstreamerPosition = static_cast<GstClockTime>(position);
8686
if (GST_CLOCK_TIME_IS_VALID(gstreamerPosition))
8787
playbackPosition = MediaTime(gstreamerPosition, GST_SECOND);
88-
else if (m_canFallBackToLastFinishedSeekPosition)
88+
@@ -387,16 +415,6 @@ MediaTime MediaPlayerPrivateGStreamer::playbackPosition() const
8989
playbackPosition = m_seekTime;
9090

91-
-#if PLATFORM(BCM_NEXUS)
91+
#if PLATFORM(BCM_NEXUS)
9292
- // implement getting pts time from broadcom decoder directly for seek functionality
9393
- gint64 currentPts = -1;
9494
- /*GstElement**/ videoDec = findVideoDecoder(m_pipeline.get());
@@ -99,10 +99,6 @@ index 0a875d2..c1ffe96 100644
9999
- playbackPosition = MediaTime(((currentPts * GST_MSECOND) / 45), GST_SECOND);
100100
- GST_DEBUG("Using position reported by the video decoder: %s", toString(playbackPosition).utf8().data());
101101
- }
102-
- if (!playbackPosition && m_seekTime.isValid())
103-
- playbackPosition = m_seekTime;
104-
-#endif
105-
-
106-
m_cachedPosition = playbackPosition;
107-
return playbackPosition;
108-
}
102+
if (!playbackPosition && m_seekTime.isValid())
103+
playbackPosition = m_seekTime;
104+
#endif

0 commit comments

Comments
 (0)