Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d7df52b60ed83af41b0534cca154a3ac5a0533de https://github.com/WebKit/WebKit/commit/d7df52b60ed83af41b0534cca154a3ac5a0533de Author: Andy Estes <aes...@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes