Thank you for your suggestion.
I will adapt the judgment condition, and submit again.
------------------ Original ------------------
From:
"FFmpeg development discussions
and patches"
<[email protected]>;
Date: Mon, Dec 4, 2023 09:55 PM
To: "ffmpeg-devel"<[email protected]>;
Cc: "Thilo Borgmann"<[email protected]>;
Subject: Re: [FFmpeg-devel] [PATCH] avdevice/avfoundation: replace
AVCaptureDevice with new api
Am 04.12.23 um 13:47 schrieb xufuji456 via ffmpeg-devel:
> Building with iOS platform, the compiler has a warning:
"'devicesWithMediaType:' is deprecated: first deprecated in iOS 10.0 - Use
AVCaptureDeviceDiscoverySession instead"
>
> Signed-off-by: xufuji456 <[email protected]>
> ---
> libavdevice/avfoundation.m | 81
+++++++++++++++++++++++++++++++++++---
> 1 file changed, 76 insertions(+), 5 deletions(-)
>
> diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
> index 36ad834753..668c726eb7 100644
> --- a/libavdevice/avfoundation.m
> +++ b/libavdevice/avfoundation.m
> @@ -770,8 +770,38 @@ static int avf_read_header(AVFormatContext *s)
> AVCaptureDevice *video_device = nil;
> AVCaptureDevice *audio_device = nil;
> // Find capture device
> - NSArray *devices = [AVCaptureDevice
devicesWithMediaType:AVMediaTypeVideo];
> - NSArray *devices_muxed = [AVCaptureDevice
devicesWithMediaType:AVMediaTypeMuxed];
> + NSArray *devices = nil;
> + NSArray *devices_muxed = nil;
> +
> + if (TARGET_OS_IPHONE) {
> + if (@available(iOS 10.0, *)) {
The preprocessor directives should be more reliable especially on older
machines.
See other parts of the code which are handled that way and adopt for your case.
> +
AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession =
>
+
[AVCaptureDeviceDiscoverySession
>
+
discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera]
>
+
mediaType:AVMediaTypeVideo
>
+
position:AVCaptureDevicePositionUnspecified];
> +
devices = [captureDeviceDiscoverySession devices];
> + } else {
> +
devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
> + }
> + } else {
> + devices = [AVCaptureDevice
devicesWithMediaType:AVMediaTypeVideo];
> + }
Here and in other chunks you can join the if() conditions into one and avoid
the duplication of the old code.
-Thilo
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".