From 403d10a8b3cd9c0c9a4a034b95a4cb5ffc4b1112 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Mon, 25 Sep 2017 16:52:35 -0700 Subject: avcodec/videotoolbox: create avcC even when h264 extradata is missing Removes the avctx->extradata_size requirement when creating avcC/hvcC, since avctx->extradata is only used in the esds code path. This fixes an issue where the VideoToolbox decoder would not work unless avformat_find_stream_info() was called. Signed-off-by: Aman Gupta --- libavcodec/videotoolbox.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'libavcodec/videotoolbox.c') diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c index c24f5aa3f3..7e915a4e83 100644 --- a/libavcodec/videotoolbox.c +++ b/libavcodec/videotoolbox.c @@ -702,7 +702,7 @@ static CFDictionaryRef videotoolbox_decoder_config_create(CMVideoCodecType codec kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder, kCFBooleanTrue); - if (avctx->extradata_size) { + if (1) { CFMutableDictionaryRef avc_info; CFDataRef data = NULL; @@ -713,7 +713,8 @@ static CFDictionaryRef videotoolbox_decoder_config_create(CMVideoCodecType codec switch (codec_type) { case kCMVideoCodecType_MPEG4Video : - data = videotoolbox_esds_extradata_create(avctx); + if (avctx->extradata_size) + data = videotoolbox_esds_extradata_create(avctx); if (data) CFDictionarySetValue(avc_info, CFSTR("esds"), data); break; -- cgit v1.2.3