Re: [FFmpeg-devel] [PATCH] avdevice/avfoundation: replace AVCaptureDevice with new api
Am 05.12.23 um 15:19 schrieb Thilo Borgmann via ffmpeg-devel: Am 05.12.23 um 15:16 schrieb Thilo Borgmann via ffmpeg-devel: Hi, Am 05.12.23 um 14:33 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 <839789...@qq.com> --- libavdevice/avfoundation.m | 25 - 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index 36ad834753..1bc99d543a 100644 --- a/libavdevice/avfoundation.m +++ b/libavdevice/avfoundation.m @@ -761,6 +761,21 @@ static int get_audio_config(AVFormatContext *s) return 0; } +static NSArray* getDevicesWithMediaType(AVMediaType mediaType) { +#if ((TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED >= 10) || (TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500)) + if (@available(macOS 10.15, iOS 10.0, *)) { The preprocessor guard is meant to void the @available condition. Also something appears not yet to achieve what you want, as on MacOS 13.4 I still get the deprication warning: libavdevice/avfoundation.m:776:29: warning: 'devicesWithMediaType:' is deprecated: first deprecated in macOS 10.15 - Use AVCaptureDeviceDiscoverySession instead. [-Wdeprecated-declarations] return [AVCaptureDevice devicesWithMediaType:mediaType]; + AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = + [AVCaptureDeviceDiscoverySession + discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] + mediaType:mediaType + position:AVCaptureDevicePositionUnspecified]; + return [captureDeviceDiscoverySession devices]; + } +#endif why not #else... #endif ? #elif ... of course. #else ... writing faster than thinking is no good... Also using it, would remove the deprication warning on capable systems. Otherwise it is still in the code and warned about. + // fallback + return [AVCaptureDevice devicesWithMediaType:mediaType]; +} + -Thilo ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] avdevice/avfoundation: replace AVCaptureDevice with new api
Am 05.12.23 um 15:16 schrieb Thilo Borgmann via ffmpeg-devel: Hi, Am 05.12.23 um 14:33 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 <839789...@qq.com> --- libavdevice/avfoundation.m | 25 - 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index 36ad834753..1bc99d543a 100644 --- a/libavdevice/avfoundation.m +++ b/libavdevice/avfoundation.m @@ -761,6 +761,21 @@ static int get_audio_config(AVFormatContext *s) return 0; } +static NSArray* getDevicesWithMediaType(AVMediaType mediaType) { +#if ((TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED >= 10) || (TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500)) + if (@available(macOS 10.15, iOS 10.0, *)) { The preprocessor guard is meant to void the @available condition. Also something appears not yet to achieve what you want, as on MacOS 13.4 I still get the deprication warning: libavdevice/avfoundation.m:776:29: warning: 'devicesWithMediaType:' is deprecated: first deprecated in macOS 10.15 - Use AVCaptureDeviceDiscoverySession instead. [-Wdeprecated-declarations] return [AVCaptureDevice devicesWithMediaType:mediaType]; + AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = + [AVCaptureDeviceDiscoverySession + discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] + mediaType:mediaType + position:AVCaptureDevicePositionUnspecified]; + return [captureDeviceDiscoverySession devices]; + } +#endif why not #else... #endif ? #elif ... of course. Also using it, would remove the deprication warning on capable systems. Otherwise it is still in the code and warned about. + // fallback + return [AVCaptureDevice devicesWithMediaType:mediaType]; +} + Thanks, Thilo -Thilo ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] avdevice/avfoundation: replace AVCaptureDevice with new api
Hi, Am 05.12.23 um 14:33 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 <839789...@qq.com> --- libavdevice/avfoundation.m | 25 - 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index 36ad834753..1bc99d543a 100644 --- a/libavdevice/avfoundation.m +++ b/libavdevice/avfoundation.m @@ -761,6 +761,21 @@ static int get_audio_config(AVFormatContext *s) return 0; } +static NSArray* getDevicesWithMediaType(AVMediaType mediaType) { +#if ((TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED >= 10) || (TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500)) +if (@available(macOS 10.15, iOS 10.0, *)) { The preprocessor guard is meant to void the @available condition. Also something appears not yet to achieve what you want, as on MacOS 13.4 I still get the deprication warning: libavdevice/avfoundation.m:776:29: warning: 'devicesWithMediaType:' is deprecated: first deprecated in macOS 10.15 - Use AVCaptureDeviceDiscoverySession instead. [-Wdeprecated-declarations] return [AVCaptureDevice devicesWithMediaType:mediaType]; +AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = +[AVCaptureDeviceDiscoverySession + discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] + mediaType:mediaType + position:AVCaptureDevicePositionUnspecified]; +return [captureDeviceDiscoverySession devices]; +} +#endif why not #else... #endif ? +// fallback +return [AVCaptureDevice devicesWithMediaType:mediaType]; +} + Thanks, Thilo ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH] avdevice/avfoundation: replace AVCaptureDevice with new api
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 <839789...@qq.com> --- libavdevice/avfoundation.m | 25 - 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index 36ad834753..1bc99d543a 100644 --- a/libavdevice/avfoundation.m +++ b/libavdevice/avfoundation.m @@ -761,6 +761,21 @@ static int get_audio_config(AVFormatContext *s) return 0; } +static NSArray* getDevicesWithMediaType(AVMediaType mediaType) { +#if ((TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED >= 10) || (TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500)) +if (@available(macOS 10.15, iOS 10.0, *)) { +AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = +[AVCaptureDeviceDiscoverySession + discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] + mediaType:mediaType + position:AVCaptureDevicePositionUnspecified]; +return [captureDeviceDiscoverySession devices]; +} +#endif +// fallback +return [AVCaptureDevice devicesWithMediaType:mediaType]; +} + static int avf_read_header(AVFormatContext *s) { int ret = 0; @@ -770,8 +785,8 @@ 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 = getDevicesWithMediaType(AVMediaTypeVideo); +NSArray *devices_muxed = getDevicesWithMediaType(AVMediaTypeMuxed); ctx->num_video_devices = [devices count] + [devices_muxed count]; @@ -806,7 +821,7 @@ static int avf_read_header(AVFormatContext *s) #endif av_log(ctx, AV_LOG_INFO, "AVFoundation audio devices:\n"); -devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; +devices = getDevicesWithMediaType(AVMediaTypeAudio); for (AVCaptureDevice *device in devices) { const char *name = [[device localizedName] UTF8String]; int index = [devices indexOfObject:device]; @@ -930,7 +945,7 @@ static int avf_read_header(AVFormatContext *s) // get audio device if (ctx->audio_device_index >= 0) { -NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; +NSArray *devices = getDevicesWithMediaType(AVMediaTypeAudio); if (ctx->audio_device_index >= [devices count]) { av_log(ctx, AV_LOG_ERROR, "Invalid audio device index\n"); @@ -943,7 +958,7 @@ static int avf_read_header(AVFormatContext *s) if (!strncmp(ctx->audio_filename, "default", 7)) { audio_device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio]; } else { -NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; +NSArray *devices = getDevicesWithMediaType(AVMediaTypeAudio); for (AVCaptureDevice *device in devices) { if (!strncmp(ctx->audio_filename, [[device localizedName] UTF8String], strlen(ctx->audio_filename))) { -- 2.32.0 (Apple Git-132) ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] avdevice/avfoundation: replace AVCaptureDevice with new api
Thank you for your suggestion. I will adapt the judgment condition, and submit again. --Original-- From: "FFmpeg development discussions and patches" https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] avdevice/avfoundation: replace AVCaptureDevice with new api
On 4 Dec 2023, at 13:47, xufuji456 via ffmpeg-devel wrote: > 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 <839789...@qq.com> Thanks for the patch, some remarks inline below: > --- > 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) { This should use a SDK guard, like: #if ((TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED >= 10) || (TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500)) (You can check https://epir.at/2019/10/30/api-availability-and-target-conditionals/ where I provided a more details about these) > +if (@available(iOS 10.0, *)) { This should be extended for other OSes too, the API is not just deprecated on iOS. > +AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = > +[AVCaptureDeviceDiscoverySession > + > discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] > + mediaType:AVMediaTypeVideo > + > position:AVCaptureDevicePositionUnspecified]; > +devices = [captureDeviceDiscoverySession devices]; > +} else { > +devices = [AVCaptureDevice > devicesWithMediaType:AVMediaTypeVideo]; > +} > +} else { > +devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; > +} > + > +if (TARGET_OS_IPHONE) { > +if (@available(iOS 10.0, *)) { > +AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = > +[AVCaptureDeviceDiscoverySession > + > discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] > + mediaType:AVMediaTypeMuxed > + > position:AVCaptureDevicePositionUnspecified]; > +devices_muxed = [captureDeviceDiscoverySession devices]; > +} else { > +devices_muxed = [AVCaptureDevice > devicesWithMediaType:AVMediaTypeMuxed]; > +} > +} else { > +devices_muxed = [AVCaptureDevice > devicesWithMediaType:AVMediaTypeMuxed]; > +} > > ctx->num_video_devices = [devices count] + [devices_muxed count]; > > @@ -806,7 +836,20 @@ static int avf_read_header(AVFormatContext *s) > #endif > > av_log(ctx, AV_LOG_INFO, "AVFoundation audio devices:\n"); > -devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; > +if (TARGET_OS_IPHONE) { > +if (@available(iOS 10.0, *)) { > +AVCaptureDeviceDiscoverySession > *captureDeviceDiscoverySession = > +[AVCaptureDeviceDiscoverySession > + > discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] > + mediaType:AVMediaTypeAudio > + > position:AVCaptureDevicePositionUnspecified]; > +devices = [captureDeviceDiscoverySession devices]; > +} else { > +devices = [AVCaptureDevice > devicesWithMediaType:AVMediaTypeAudio]; > +} > +} else { > +devices = [AVCaptureDevice > devicesWithMediaType:AVMediaTypeAudio]; > +} > for (AVCaptureDevice *device in devices) { > const char *name = [[device localizedName] UTF8String]; > int index = [devices indexOfObject:device]; > @@ -930,7 +973,21 @@ static int avf_read_header(AVFormatContext *s) > > // get audio device > if (ctx->audio_device_index >= 0) { > -NSArray *devices = [AVCaptureDevice > devicesWithMediaType:AVMediaTypeAudio]; > +NSArray *devices = nil; > +if (TARGET_OS_IPHONE) { > +if (@available(iOS 10.0, *)) { > +AVCaptureDeviceDiscoverySession > *captureDeviceDiscoverySession = > +[AVCaptureDeviceDiscoverySession > + >
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 <839789...@qq.com> --- 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 ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH] avdevice/avfoundation: replace AVCaptureDevice with new api
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 <839789...@qq.com> --- 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, *)) { +AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = +[AVCaptureDeviceDiscoverySession + discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] + mediaType:AVMediaTypeVideo + position:AVCaptureDevicePositionUnspecified]; +devices = [captureDeviceDiscoverySession devices]; +} else { +devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; +} +} else { +devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; +} + +if (TARGET_OS_IPHONE) { +if (@available(iOS 10.0, *)) { +AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = +[AVCaptureDeviceDiscoverySession + discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] + mediaType:AVMediaTypeMuxed + position:AVCaptureDevicePositionUnspecified]; +devices_muxed = [captureDeviceDiscoverySession devices]; +} else { +devices_muxed = [AVCaptureDevice devicesWithMediaType:AVMediaTypeMuxed]; +} +} else { +devices_muxed = [AVCaptureDevice devicesWithMediaType:AVMediaTypeMuxed]; +} ctx->num_video_devices = [devices count] + [devices_muxed count]; @@ -806,7 +836,20 @@ static int avf_read_header(AVFormatContext *s) #endif av_log(ctx, AV_LOG_INFO, "AVFoundation audio devices:\n"); -devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; +if (TARGET_OS_IPHONE) { +if (@available(iOS 10.0, *)) { +AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = +[AVCaptureDeviceDiscoverySession + discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] + mediaType:AVMediaTypeAudio + position:AVCaptureDevicePositionUnspecified]; +devices = [captureDeviceDiscoverySession devices]; +} else { +devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; +} +} else { +devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; +} for (AVCaptureDevice *device in devices) { const char *name = [[device localizedName] UTF8String]; int index = [devices indexOfObject:device]; @@ -930,7 +973,21 @@ static int avf_read_header(AVFormatContext *s) // get audio device if (ctx->audio_device_index >= 0) { -NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; +NSArray *devices = nil; +if (TARGET_OS_IPHONE) { +if (@available(iOS 10.0, *)) { +AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = +[AVCaptureDeviceDiscoverySession + discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] + mediaType:AVMediaTypeAudio + position:AVCaptureDevicePositionUnspecified]; +devices = [captureDeviceDiscoverySession devices]; +} else { +devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; +} +} else { +devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; +} if (ctx->audio_device_index >= [devices count]) { av_log(ctx, AV_LOG_ERROR, "Invalid audio device index\n"); @@ -943,7 +1000,21 @@ static int avf_read_header(AVFormatContext *s)