Skip to content

Commit

Permalink
Remove MediaSourcePrivateClient::seeked()
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=273390
rdar://127218331

Reviewed by Jer Noble.

Remove method and instead use MediaPlayerClient::mediaPlayerSeeked method to achieve the same behaviour.

* Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::seeked): Deleted.
* Source/WebCore/Modules/mediasource/MediaSource.h:
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerSeeked):
* Source/WebCore/html/HTMLMediaElement.h:
* Source/WebCore/platform/graphics/MediaSourcePrivate.cpp:
(WebCore::MediaSourcePrivate::seeked): Deleted.
* Source/WebCore/platform/graphics/MediaSourcePrivate.h:
* Source/WebCore/platform/graphics/MediaSourcePrivateClient.h:
* Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::seeked): Deleted.
* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.h:
* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::seeked):

Canonical link: https://commits.webkit.org/278667@main
  • Loading branch information
jyavenard committed May 13, 2024
1 parent c0cc24b commit f729bf5
Show file tree
Hide file tree
Showing 11 changed files with 11 additions and 41 deletions.
16 changes: 0 additions & 16 deletions Source/WebCore/Modules/mediasource/MediaSource.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,13 +165,6 @@ class MediaSourceClientImpl final : public MediaSourcePrivateClient {
});
}

void seeked(const MediaTime& time)
{
ensureWeakOnDispatcher([time = time](MediaSource& parent) {
parent.seeked(time);
});
}

#if !RELEASE_LOG_DISABLED
void setLogIdentifier(const void* identifier)
{
Expand Down Expand Up @@ -1481,15 +1474,6 @@ void MediaSource::failedToCreateRenderer(RendererType type)
context->addConsoleMessage(MessageSource::JS, MessageLevel::Error, makeString("MediaSource ", type == RendererType::Video ? "video" : "audio", " renderer creation failed."));
}

void MediaSource::seeked(const MediaTime& time)
{
ALWAYS_LOG(LOGIDENTIFIER, time);
#if RELEASE_LOG_DISABLED
UNUSED_PARAM(time);
#endif
monitorSourceBuffers();
}

void MediaSource::sourceBufferReceivedFirstInitializationSegmentChanged()
{
if (m_private && m_private->mediaPlayerReadyState() == MediaPlayer::ReadyState::HaveNothing) {
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/Modules/mediasource/MediaSource.h
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,6 @@ class MediaSource
Ref<MediaPromise> seekToTime(const MediaTime&);
using RendererType = MediaSourcePrivateClient::RendererType;
void failedToCreateRenderer(RendererType);
void seeked(const MediaTime&);

void refEventTarget() final { ref(); }
void derefEventTarget() final { deref(); }
Expand Down
10 changes: 10 additions & 0 deletions Source/WebCore/html/HTMLMediaElement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5788,6 +5788,16 @@ void HTMLMediaElement::mediaPlayerMuteChanged()
endProcessingMediaPlayerCallback();
}

void HTMLMediaElement::mediaPlayerSeeked(const MediaTime&)
{
ALWAYS_LOG(LOGIDENTIFIER);

#if ENABLE(MEDIA_SOURCE)
if (m_mediaSource)
m_mediaSource->monitorSourceBuffers(); // Update readyState.
#endif
}

void HTMLMediaElement::mediaPlayerDurationChanged()
{
beginProcessingMediaPlayerCallback();
Expand Down
1 change: 1 addition & 0 deletions Source/WebCore/html/HTMLMediaElement.h
Original file line number Diff line number Diff line change
Expand Up @@ -730,6 +730,7 @@ class HTMLMediaElement
void mediaPlayerTimeChanged() final;
void mediaPlayerVolumeChanged() final;
void mediaPlayerMuteChanged() final;
void mediaPlayerSeeked(const MediaTime&) final;
void mediaPlayerDurationChanged() final;
void mediaPlayerRateChanged() final;
void mediaPlayerPlaybackStateChanged() final;
Expand Down
6 changes: 0 additions & 6 deletions Source/WebCore/platform/graphics/MediaSourcePrivate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,6 @@ Ref<MediaPromise> MediaSourcePrivate::seekToTime(const MediaTime& time)
return MediaPromise::createAndReject(PlatformMediaError::ClientDisconnected);
}

void MediaSourcePrivate::seeked(const MediaTime& time)
{
if (RefPtr client = this->client())
return client->seeked(time);
}

void MediaSourcePrivate::removeSourceBuffer(SourceBufferPrivate& sourceBuffer)
{
assertIsCurrent(m_dispatcher);
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/platform/graphics/MediaSourcePrivate.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ class WEBCORE_EXPORT MediaSourcePrivate

Ref<MediaTimePromise> waitForTarget(const SeekTarget&);
Ref<MediaPromise> seekToTime(const MediaTime&);
void seeked(const MediaTime&);

virtual void setTimeFudgeFactor(const MediaTime& fudgeFactor) { m_timeFudgeFactor = fudgeFactor; }
MediaTime timeFudgeFactor() const { return m_timeFudgeFactor; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ class MediaSourcePrivateClient : public ThreadSafeRefCountedAndCanMakeThreadSafe
virtual void setPrivateAndOpen(Ref<MediaSourcePrivate>&&) = 0;
virtual Ref<MediaTimePromise> waitForTarget(const SeekTarget&) = 0;
virtual Ref<MediaPromise> seekToTime(const MediaTime&) = 0;
virtual void seeked(const MediaTime&) = 0;

#if !RELEASE_LOG_DISABLED
virtual void setLogIdentifier(const void*) = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ class MediaSourcePrivateAVFObjC final
bool hasSelectedVideo() const;

void willSeek();
void seeked(const MediaTime&);

FloatSize naturalSize() const;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,12 +173,6 @@
downcast<SourceBufferPrivateAVFObjC>(sourceBuffer)->willSeek();
}

void MediaSourcePrivateAVFObjC::seeked(const MediaTime& time)
{
if (RefPtr client = this->client())
client->seeked(time);
}

FloatSize MediaSourcePrivateAVFObjC::naturalSize() const
{
FloatSize result;
Expand Down
3 changes: 0 additions & 3 deletions Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,6 @@ class RemoteMediaSourceProxy final
Ref<WebCore::MediaTimePromise> waitForTarget(const WebCore::SeekTarget&) final;
Ref<WebCore::MediaPromise> seekToTime(const MediaTime&) final;

// Handled by MediaPlayerPrivateRemote:
void seeked(const MediaTime&) final { };

#if !RELEASE_LOG_DISABLED
void setLogIdentifier(const void*) final;
#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -508,12 +508,6 @@ void MediaPlayerPrivateRemote::seeked(MediaTimeUpdateData&& timeData)
m_currentTimeEstimator.setTime(timeData);
if (auto player = m_player.get())
player->seeked(timeData.currentTime);
#if ENABLE(MEDIA_SOURCE)
// This message may well have been handled by the MediaSource object before
// theis message, which would result in the wrong
if (RefPtr mediaSourcePrivate = m_mediaSourcePrivate)
return mediaSourcePrivate->seeked(timeData.currentTime);
#endif
}

void MediaPlayerPrivateRemote::timeChanged(RemoteMediaPlayerState&& state, MediaTimeUpdateData&& timeData)
Expand Down

0 comments on commit f729bf5

Please sign in to comment.