Title: [264166] trunk/Source/WebCore
- Revision
- 264166
- Author
- ab...@igalia.com
- Date
- 2020-07-09 05:30:22 -0700 (Thu, 09 Jul 2020)
Log Message
[MSE][GStreamer] Don't cache duration in MediaSourceClientGStreamerMSE
https://bugs.webkit.org/show_bug.cgi?id=214128
Reviewed by Xabier Rodriguez-Calvar.
MediaSource should be the single source of truth for the duration of
the MediaSource, and querying it to MediaSource is efficient enough
(trivial getter). There is no reason for MediaSourceClientGStreamerMSE
to store a separate m_duration field.
This patch introduces no behavior changes.
* platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
(WebCore::MediaSourceClientGStreamerMSE::MediaSourceClientGStreamerMSE):
(WebCore::MediaSourceClientGStreamerMSE::duration):
(WebCore::MediaSourceClientGStreamerMSE::durationChanged):
* platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (264165 => 264166)
--- trunk/Source/WebCore/ChangeLog 2020-07-09 11:43:35 UTC (rev 264165)
+++ trunk/Source/WebCore/ChangeLog 2020-07-09 12:30:22 UTC (rev 264166)
@@ -1,5 +1,25 @@
2020-07-09 Alicia Boya García <ab...@igalia.com>
+ [MSE][GStreamer] Don't cache duration in MediaSourceClientGStreamerMSE
+ https://bugs.webkit.org/show_bug.cgi?id=214128
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ MediaSource should be the single source of truth for the duration of
+ the MediaSource, and querying it to MediaSource is efficient enough
+ (trivial getter). There is no reason for MediaSourceClientGStreamerMSE
+ to store a separate m_duration field.
+
+ This patch introduces no behavior changes.
+
+ * platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
+ (WebCore::MediaSourceClientGStreamerMSE::MediaSourceClientGStreamerMSE):
+ (WebCore::MediaSourceClientGStreamerMSE::duration):
+ (WebCore::MediaSourceClientGStreamerMSE::durationChanged):
+ * platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h:
+
+2020-07-09 Alicia Boya García <ab...@igalia.com>
+
[MSE][GStreamer] Make duration changes one way
https://bugs.webkit.org/show_bug.cgi?id=214083
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp (264165 => 264166)
--- trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp 2020-07-09 11:43:35 UTC (rev 264165)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp 2020-07-09 12:30:22 UTC (rev 264166)
@@ -46,7 +46,6 @@
MediaSourceClientGStreamerMSE::MediaSourceClientGStreamerMSE(MediaPlayerPrivateGStreamerMSE& playerPrivate)
: m_playerPrivate(playerPrivate)
- , m_duration(MediaTime::invalidTime())
{
ASSERT(WTF::isMainThread());
}
@@ -70,11 +69,11 @@
return m_playerPrivate.m_playbackPipeline->addSourceBuffer(sourceBufferPrivate);
}
-const MediaTime& MediaSourceClientGStreamerMSE::duration()
+MediaTime MediaSourceClientGStreamerMSE::duration()
{
ASSERT(WTF::isMainThread());
- return m_duration;
+ return m_playerPrivate.mediaSourcePrivateClient()->duration();
}
void MediaSourceClientGStreamerMSE::durationChanged(const MediaTime& duration)
@@ -85,7 +84,6 @@
if (!duration.isValid() || duration.isPositiveInfinite() || duration.isNegativeInfinite())
return;
- m_duration = duration;
m_playerPrivate.durationChanged();
}
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h (264165 => 264166)
--- trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h 2020-07-09 11:43:35 UTC (rev 264165)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h 2020-07-09 12:30:22 UTC (rev 264166)
@@ -54,7 +54,7 @@
void enqueueSample(Ref<MediaSample>&&);
void allSamplesInTrackEnqueued(const AtomString&);
- const MediaTime& duration();
+ MediaTime duration();
GRefPtr<WebKitMediaSrc> webKitMediaSrc();
private:
@@ -61,7 +61,6 @@
MediaSourceClientGStreamerMSE(MediaPlayerPrivateGStreamerMSE&);
MediaPlayerPrivateGStreamerMSE& m_playerPrivate;
- MediaTime m_duration;
};
} // namespace WebCore.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes