Diff
Modified: trunk/Source/WebCore/ChangeLog (290720 => 290721)
--- trunk/Source/WebCore/ChangeLog 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebCore/ChangeLog 2022-03-02 07:08:11 UTC (rev 290721)
@@ -1,3 +1,17 @@
+2022-03-01 Youenn Fablet <[email protected]>
+
+ Remove RemoteVideoSample support from ImageTransferSessionVT
+ https://bugs.webkit.org/show_bug.cgi?id=237318
+
+ Reviewed by Eric Carlson.
+
+ No change of behavior.
+
+ * platform/graphics/cv/ImageTransferSessionVT.h:
+ * platform/graphics/cv/ImageTransferSessionVT.mm:
+ * platform/mediastream/RealtimeMediaSource.h:
+ * platform/mediastream/RealtimeVideoCaptureSource.cpp:
+
2022-03-01 Fujii Hironori <[email protected]>
Fix deprecations for ERB.new in GenerateSettings.rb
Modified: trunk/Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.h (290720 => 290721)
--- trunk/Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.h 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.h 2022-03-02 07:08:11 UTC (rev 290721)
@@ -38,8 +38,6 @@
namespace WebCore {
-class RemoteVideoSample;
-
class ImageTransferSessionVT {
public:
static std::unique_ptr<ImageTransferSessionVT> create(uint32_t pixelFormat, bool shouldUseIOSurface = true)
@@ -53,10 +51,7 @@
#if !PLATFORM(MACCATALYST)
WEBCORE_EXPORT RefPtr<MediaSample> createMediaSample(IOSurfaceRef, const MediaTime&, const IntSize&, MediaSample::VideoRotation = MediaSample::VideoRotation::None, bool mirrored = false);
-#if ENABLE(MEDIA_STREAM)
- WEBCORE_EXPORT RefPtr<MediaSample> createMediaSample(const RemoteVideoSample&);
#endif
-#endif
uint32_t pixelFormat() const { return m_pixelFormat; }
Modified: trunk/Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.mm (290720 => 290721)
--- trunk/Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.mm 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.mm 2022-03-02 07:08:11 UTC (rev 290721)
@@ -30,7 +30,6 @@
#import "GraphicsContextCG.h"
#import "Logging.h"
#import "MediaSampleAVFObjC.h"
-#import "RemoteVideoSample.h"
#import <CoreMedia/CMFormatDescription.h>
#import <CoreMedia/CMSampleBuffer.h>
@@ -270,13 +269,6 @@
}
#if !PLATFORM(MACCATALYST)
-#if ENABLE(MEDIA_STREAM)
-RefPtr<MediaSample> ImageTransferSessionVT::createMediaSample(const RemoteVideoSample& remoteSample)
-{
- return createMediaSample(remoteSample.surface(), remoteSample.time(), remoteSample.size(), remoteSample.rotation(), remoteSample.mirrored());
-}
-#endif
-
RefPtr<MediaSample> ImageTransferSessionVT::createMediaSample(IOSurfaceRef surface, const MediaTime& sampleTime, const IntSize& size, MediaSample::VideoRotation rotation, bool mirrored)
{
auto sampleBuffer = createCMSampleBuffer(surface, sampleTime, size);
Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h (290720 => 290721)
--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h 2022-03-02 07:08:11 UTC (rev 290721)
@@ -64,7 +64,6 @@
class OrientationNotifier;
class PlatformAudioData;
class RealtimeMediaSourceSettings;
-class RemoteVideoSample;
struct CaptureSourceOrError;
Modified: trunk/Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp (290720 => 290721)
--- trunk/Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp 2022-03-02 07:08:11 UTC (rev 290721)
@@ -31,7 +31,6 @@
#include "Logging.h"
#include "RealtimeMediaSourceCenter.h"
#include "RealtimeMediaSourceSettings.h"
-#include "RemoteVideoSample.h"
#include <wtf/JSONValues.h>
namespace WebCore {
Modified: trunk/Source/WebKit/ChangeLog (290720 => 290721)
--- trunk/Source/WebKit/ChangeLog 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/ChangeLog 2022-03-02 07:08:11 UTC (rev 290721)
@@ -1,3 +1,27 @@
+2022-03-01 Youenn Fablet <[email protected]>
+
+ Remove RemoteVideoSample support from ImageTransferSessionVT
+ https://bugs.webkit.org/show_bug.cgi?id=237318
+
+ Reviewed by Eric Carlson.
+
+ Remove no longer needed forward declaration or include of RemoteVideoSample.
+ Remove ImageTransferSessionVT::createMediaSample(RemoteVideoSample&&) and replace it with direct use of MediaSampleAVFObjC.
+
+ No change of behavior.
+
+ * GPUProcess/webrtc/RemoteMediaRecorder.cpp:
+ * GPUProcess/webrtc/RemoteMediaRecorder.h:
+ * GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
+ * GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
+ * WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
+ * WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
+ * WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
+ * WebProcess/cocoa/RemoteCaptureSampleManager.h:
+ * WebProcess/cocoa/RemoteRealtimeAudioSource.h:
+ * WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h:
+ * WebProcess/cocoa/UserMediaCaptureManager.h:
+
2022-03-01 Robert Jenner <[email protected]>
Unreviewed, reverting r290588.
Modified: trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp (290720 => 290721)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp 2022-03-02 07:08:11 UTC (rev 290721)
@@ -34,7 +34,6 @@
#include "SharedRingBufferStorage.h"
#include <WebCore/CARingBuffer.h>
#include <WebCore/MediaSampleAVFObjC.h>
-#include <WebCore/RemoteVideoSample.h>
#include <WebCore/WebAudioBufferList.h>
#include <wtf/CompletionHandler.h>
Modified: trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.h (290720 => 290721)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.h 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.h 2022-03-02 07:08:11 UTC (rev 290721)
@@ -44,7 +44,6 @@
namespace WebCore {
class CARingBuffer;
-class RemoteVideoSample;
class WebAudioBufferList;
struct MediaRecorderPrivateOptions;
}
Modified: trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp (290720 => 290721)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp 2022-03-02 07:08:11 UTC (rev 290721)
@@ -34,7 +34,6 @@
#include <WebCore/ImageTransferSessionVT.h>
#include <WebCore/LocalSampleBufferDisplayLayer.h>
#include <WebCore/MediaSampleAVFObjC.h>
-#include <WebCore/RemoteVideoSample.h>
namespace WebKit {
Modified: trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h (290720 => 290721)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h 2022-03-02 07:08:11 UTC (rev 290721)
@@ -40,7 +40,6 @@
namespace WebCore {
class ImageTransferSessionVT;
class LocalSampleBufferDisplayLayer;
-class RemoteVideoSample;
};
namespace WebKit {
Modified: trunk/Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp (290720 => 290721)
--- trunk/Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp 2022-03-02 07:08:11 UTC (rev 290721)
@@ -39,7 +39,6 @@
#include <WebCore/MediaStreamPrivate.h>
#include <WebCore/MediaStreamTrackPrivate.h>
#include <WebCore/RealtimeIncomingVideoSourceCocoa.h>
-#include <WebCore/RemoteVideoSample.h>
#include <WebCore/SharedBuffer.h>
#include <WebCore/WebAudioBufferList.h>
Modified: trunk/Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp (290720 => 290721)
--- trunk/Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp 2022-03-02 07:08:11 UTC (rev 290721)
@@ -38,7 +38,6 @@
#include "SampleBufferDisplayLayerManager.h"
#include "WebCoreArgumentCoders.h"
#include "WebProcess.h"
-#include <WebCore/RemoteVideoSample.h>
namespace WebKit {
using namespace WebCore;
Modified: trunk/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.cpp (290720 => 290721)
--- trunk/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.cpp 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.cpp 2022-03-02 07:08:11 UTC (rev 290721)
@@ -32,7 +32,8 @@
#include "RemoteVideoFrameProxy.h"
#include "SharedRingBufferStorage.h"
#include "WebProcess.h"
-#include <WebCore/ImageTransferSessionVT.h>
+#include <WebCore/CVUtilities.h>
+#include <WebCore/MediaSampleAVFObjC.h>
#include <WebCore/RemoteVideoSample.h>
#include <WebCore/WebAudioBufferList.h>
@@ -259,20 +260,19 @@
void RemoteCaptureSampleManager::RemoteVideo::videoSampleAvailable(RemoteVideoSample&& remoteSample, VideoSampleMetadata metadata)
{
- if (!m_imageTransferSession || m_imageTransferSession->pixelFormat() != remoteSample.videoFormat())
- m_imageTransferSession = ImageTransferSessionVT::create(remoteSample.videoFormat());
-
- if (!m_imageTransferSession) {
+ auto pixelBuffer = createCVPixelBuffer(remoteSample.surface()).value_or(nullptr);
+ if (!pixelBuffer) {
ASSERT_NOT_REACHED();
return;
}
- auto sampleRef = m_imageTransferSession->createMediaSample(remoteSample);
- if (!sampleRef) {
+ auto videoFrame = MediaSampleAVFObjC::createImageSample(WTFMove(pixelBuffer), remoteSample.rotation(), remoteSample.mirrored(), remoteSample.time());
+ if (!videoFrame) {
ASSERT_NOT_REACHED();
return;
}
- videoFrameAvailable(sampleRef.releaseNonNull(), remoteSample.size(), metadata);
+
+ videoFrameAvailable(videoFrame.releaseNonNull(), remoteSample.size(), metadata);
}
void RemoteCaptureSampleManager::RemoteVideo::videoFrameAvailable(Ref<MediaSample>&& sample, IntSize size, VideoSampleMetadata metadata)
Modified: trunk/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.h (290720 => 290721)
--- trunk/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.h 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.h 2022-03-02 07:08:11 UTC (rev 290721)
@@ -117,7 +117,6 @@
private:
Source m_source;
- std::unique_ptr<WebCore::ImageTransferSessionVT> m_imageTransferSession;
};
bool m_isRegisteredToParentProcessConnection { false };
Modified: trunk/Source/WebKit/WebProcess/cocoa/RemoteRealtimeAudioSource.h (290720 => 290721)
--- trunk/Source/WebKit/WebProcess/cocoa/RemoteRealtimeAudioSource.h 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/WebProcess/cocoa/RemoteRealtimeAudioSource.h 2022-03-02 07:08:11 UTC (rev 290721)
@@ -41,7 +41,6 @@
class CAAudioStreamDescription;
class ImageTransferSessionVT;
struct MediaConstraints;
-class RemoteVideoSample;
}
namespace WebKit {
Modified: trunk/Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h (290720 => 290721)
--- trunk/Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h 2022-03-02 07:08:11 UTC (rev 290721)
@@ -38,7 +38,6 @@
class CAAudioStreamDescription;
class ImageTransferSessionVT;
struct MediaConstraints;
-class RemoteVideoSample;
}
namespace WebKit {
Modified: trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.h (290720 => 290721)
--- trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.h 2022-03-02 06:42:27 UTC (rev 290720)
+++ trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.h 2022-03-02 07:08:11 UTC (rev 290721)
@@ -38,7 +38,6 @@
namespace WebCore {
class CAAudioStreamDescription;
-class RemoteVideoSample;
}
namespace WebKit {