From 2b9c4804fd2079ceb60da949321247d4f246f0a5 Mon Sep 17 00:00:00 2001 From: evdokimovs Date: Fri, 26 Jan 2024 11:25:33 +0100 Subject: [PATCH] Add patch --- build/macos-arm64/Makefile | 2 ++ build/macos-x64/Makefile | 2 ++ .../capture_device_support_on_old_macos.patch | 23 +++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 patch/capture_device_support_on_old_macos.patch diff --git a/build/macos-arm64/Makefile b/build/macos-arm64/Makefile index 3be4eac0..2d21b8dd 100644 --- a/build/macos-arm64/Makefile +++ b/build/macos-arm64/Makefile @@ -47,6 +47,8 @@ copy: common-copy .PHONY: patch patch: common-patch + cd $(SRC_DIR) && \ + patch -p2 < $(PATCH_DIR)/capture_device_support_on_old_macos.patch .PHONY: build build: patch diff --git a/build/macos-x64/Makefile b/build/macos-x64/Makefile index bf88d23c..64657453 100644 --- a/build/macos-x64/Makefile +++ b/build/macos-x64/Makefile @@ -47,6 +47,8 @@ copy: common-copy .PHONY: patch patch: common-patch + cd $(SRC_DIR) && \ + patch -p2 < $(PATCH_DIR)/capture_device_support_on_old_macos.patch .PHONY: build build: patch diff --git a/patch/capture_device_support_on_old_macos.patch b/patch/capture_device_support_on_old_macos.patch new file mode 100644 index 00000000..e55888ad --- /dev/null +++ b/patch/capture_device_support_on_old_macos.patch @@ -0,0 +1,23 @@ +--- a/src/sdk/objc/components/capturer/RTCCameraVideoCapturer.m ++++ b/src/sdk/objc/components/capturer/RTCCameraVideoCapturer.m +@@ -118,11 +118,15 @@ - (void)dealloc { + } + + + (NSArray *)captureDevices { +- AVCaptureDeviceDiscoverySession *session = [AVCaptureDeviceDiscoverySession +- discoverySessionWithDeviceTypes:@[ AVCaptureDeviceTypeBuiltInWideAngleCamera ] +- mediaType:AVMediaTypeVideo +- position:AVCaptureDevicePositionUnspecified]; +- return session.devices; ++ if (@available(macOS 10.15, *)) { ++ AVCaptureDeviceDiscoverySession *session = [AVCaptureDeviceDiscoverySession ++ discoverySessionWithDeviceTypes:@[ AVCaptureDeviceTypeBuiltInWideAngleCamera ] ++ mediaType:AVMediaTypeVideo ++ position:AVCaptureDevicePositionUnspecified]; ++ return session.devices; ++ } else { ++ return [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; ++ } + } + + + (NSArray *)supportedFormatsForDevice:(AVCaptureDevice *)device {