[webkit-changes] [WebKit/WebKit] d7df52: [MediaSource] Use an AVSampleBufferVideoRenderer w...
aestes
noreply at github.com
Sat Feb 17 15:43:58 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d7df52b60ed83af41b0534cca154a3ac5a0533de
https://github.com/WebKit/WebKit/commit/d7df52b60ed83af41b0534cca154a3ac5a0533de
Author: Andy Estes <aestes at apple.com>
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
More information about the webkit-changes
mailing list