Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d7df52b60ed83af41b0534cca154a3ac5a0533de
https://github.com/WebKit/WebKit/commit/d7df52b60ed83af41b0534cca154a3ac5a0533de
Author: Andy Estes <[email protected]>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M Source/WTF/wtf/PlatformHave.h
M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h
M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm
M Source/WebCore/PAL/pal/spi/cocoa/AVFoundationSPI.h
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/graphics/avfoundation/WebAVSampleBufferListener.h
M Source/WebCore/platform/graphics/avfoundation/WebAVSampleBufferListener.mm
M
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h
M
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm
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/MediaSourcePrivateAVFObjC.h
M
Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm
M
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h
M
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h
M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm
M Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.h
M Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.mm
A Source/WebCore/platform/graphics/cocoa/WebSampleBufferVideoRendering.h
M Source/WebKit/Platform/ios/PlaybackSessionInterfaceLMK.mm
Log Message:
-----------
[MediaSource] Use an AVSampleBufferVideoRenderer when a video receiver
endpoint is available
https://bugs.webkit.org/show_bug.cgi?id=269621
rdar://123119816
Reviewed by Jean-Yves Avenard.
When MediaPlayer has a VideoReceiverEndpoint, use it to create a FigVideoTarget
and add it to
MediaPlayerPrivateMediaSourceAVFObjC's AVSampleBufferVideoRenderer. Since
AVSampleBufferDisplayLayer's video renderer does not support adding video
targets, this patch
teaches MediaPlayerPrivateMediaSourceAVFObjC to create an
AVSampleBufferVideoRenderer when a
VideoReceiverEndpoint is available. This required abstracting the common
interface between
AVSampleBufferDisplayLayer and AVSampleBufferVideoRenderer into @protocol
WebSampleBufferVideoRendering
and passing that type to clients of MediaPlayerPrivateMediaSourceAVFObjC.
Note that MediaPlayerPrivateWebM has not been taught to create a
AVSampleBufferVideoRenderer;
that will occur in a follow-up fix.
* Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h:
* Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm:
* Source/WebCore/PAL/pal/spi/cocoa/AVFoundationSPI.h:
Declared and soft-linked AVSampleBufferVideoRenderer notification names.
* Source/WebCore/platform/graphics/avfoundation/WebAVSampleBufferListener.h:
* Source/WebCore/platform/graphics/avfoundation/WebAVSampleBufferListener.mm:
*
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
*
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
*
Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
*
Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
*
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
*
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm:
* Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.h:
* Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.mm:
Changed to work in terms of WebSampleBufferVideoRendering.
*
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
*
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
Taught to ensure and destroy a AVSampleBufferVideoRenderer and changed to work
in terms of
WebSampleBufferVideoRendering.
* Source/WebCore/platform/graphics/cocoa/WebSampleBufferVideoRendering.h:
Added. Defines a protocol
that encapsulates the common interface subset of AVSampleBufferDisplayLayer and
AVSampleBufferVideoRenderer.
Canonical link: https://commits.webkit.org/274931@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes