Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6c874bb1f7e89e61d47029449f804a800d349183
https://github.com/WebKit/WebKit/commit/6c874bb1f7e89e61d47029449f804a800d349183
Author: Jean-Yves Avenard <[email protected]>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
A
LayoutTests/media/media-source/media-source-has-audio-video-gpu-expected.txt
A LayoutTests/media/media-source/media-source-has-audio-video-gpu.html
M LayoutTests/media/media-source/media-source-restrictions-expected.txt
M LayoutTests/media/media-source/media-source-restrictions.html
M Source/WebCore/platform/graphics/MediaPlayerPrivate.h
M Source/WebCore/platform/graphics/MediaSourcePrivate.cpp
M
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h
M
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
M
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
M
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
M
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h
M Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp
M Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h
Log Message:
-----------
Safari pauses video when leaving tab
https://bugs.webkit.org/show_bug.cgi?id=303973
rdar://164514685
Reviewed by Eric Carlson.
The information that the SourceBufferPrivate had created a new audio or video
track
wasn't passed back to the HTMLMediaElement.
302975@main changed the order of events which would have caused
MediaPlayer::characteristicsChanged
to be called before the hasAudio/hasVideo state was updated.
Fly-By fix: replace auto player = m_player.get() with RefPtr player to be in
line with
current SaferCPP coding style.
Added test media/media-source/media-source-has-audio-video-gpu.html
LayoutTests/media/media-source/media-source-restrictions-expected.txt
LayoutTests/media/media-source/media-source-restrictions.html: The test assumed
that
the paused event would be fired. But this was incorrect, playback should have
never started
as a user gesture was required. The test only passed earlier because the
MockMediaPlayerMediaSource
was never calling MediaPlayer::characteristicsChanged and so
MediaPlayer::hasAudio()
was never updated.
Canonical link: https://commits.webkit.org/304336@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications