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

Reply via email to