@@ -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;
From: Aman Gupta <aman@tmm1.net> 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. --- libavcodec/videotoolbox.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)