Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7b530c387a74a7ad2f9ad64a16137da1ec66c7c9
      
https://github.com/WebKit/WebKit/commit/7b530c387a74a7ad2f9ad64a16137da1ec66c7c9
  Author: Andy Estes <[email protected]>
  Date:   2026-02-09 (Mon, 09 Feb 2026)

  Changed paths:
    A 
LayoutTests/media/wireless-playback-media-player/remote-playback-disconnected-expected.txt
    A 
LayoutTests/media/wireless-playback-media-player/remote-playback-disconnected.html
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    R Source/WebCore/PAL/pal/spi/ios/AVRoutingSPI.h
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/platform/audio/ios/MediaDeviceRouteController.h
    M Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm
    M Source/WebCore/platform/graphics/avfoundation/MediaPlaybackTargetCocoa.h
    M Source/WebCore/platform/graphics/avfoundation/MediaPlaybackTargetCocoa.mm
    M Source/WebCore/testing/cocoa/WebMockMediaDeviceRoute.h

  Log Message:
  -----------
  [iOS] When a MediaDeviceRoute deactivates, HTMLMediaElement should switch 
back to the local route
https://bugs.webkit.org/show_bug.cgi?id=307348
rdar://169976276

Reviewed by Jer Noble.

When a MediaDeviceRoute deactivates, called 
MediaSessionHelper::activeAudioRouteDidChange and
MediaSessionHelper::activeVideoRouteDidChange with parameters for the local 
route. In
HTMLMediaElement::checkPlaybackTargetCompatibility(), when 
m_isPlayingToWirelessTarget is false,
called scheduleRebuildMediaEngineForWirelessPlayback() to pick the media player 
appropriate for
local playback.

Test: media/wireless-playback-media-player/remote-playback-disconnected.html

* 
LayoutTests/media/wireless-playback-media-player/remote-playback-disconnected-expected.txt:
 Added.
* 
LayoutTests/media/wireless-playback-media-player/remote-playback-disconnected.html:
 Added.
* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
* Source/WebCore/PAL/pal/spi/ios/AVRoutingSPI.h: Removed.
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::checkPlaybackTargetCompatibility):
* Source/WebCore/platform/audio/ios/MediaDeviceRouteController.h:
* Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm:
(MediaSessionHelper::activeRoutesDidChange):
(MediaSessionHelperIOS::activeVideoRouteDidChange):
(-[WebMediaSessionHelper activeOutputDeviceDidChange:]):
* Source/WebCore/platform/graphics/avfoundation/MediaPlaybackTargetCocoa.h:
* Source/WebCore/platform/graphics/avfoundation/MediaPlaybackTargetCocoa.mm:
(WebCore::MediaPlaybackTargetCocoa::create):
* Source/WebCore/testing/cocoa/WebMockMediaDeviceRoute.h:

Canonical link: https://commits.webkit.org/307113@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to