@ -3051,6 +3051,7 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom)
if ( sc - > dref_id - 1 < sc - > drefs_count & & sc - > drefs [ sc - > dref_id - 1 ] . path ) {
MOVDref * dref = & sc - > drefs [ sc - > dref_id - 1 ] ;
if ( c - > enable_drefs ) {
if ( mov_open_dref ( c , & sc - > pb , c - > fc - > filename , dref ,
& c - > fc - > interrupt_callback ) < 0 )
av_log ( c - > fc , AV_LOG_ERROR ,
@ -3058,6 +3059,15 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom)
" filename='%s', volume='%s', nlvl_from=%d, nlvl_to=%d \n " ,
st - > index , dref - > path , dref - > dir , dref - > filename ,
dref - > volume , dref - > nlvl_from , dref - > nlvl_to ) ;
} else {
av_log ( c - > fc , AV_LOG_WARNING ,
" Skipped opening external track: "
" stream %d, alias: path='%s', dir='%s', "
" filename='%s', volume='%s', nlvl_from=%d, nlvl_to=%d. "
" Set enable_drefs to allow this. \n " ,
st - > index , dref - > path , dref - > dir , dref - > filename ,
dref - > volume , dref - > nlvl_from , dref - > nlvl_to ) ;
}
} else {
sc - > pb = c - > fc - > pb ;
sc - > pb_is_copied = 1 ;
@ -5219,6 +5229,8 @@ static const AVOption mov_options[] = {
AV_OPT_TYPE_BINARY , { . str = " 77214d4b196a87cd520045fd20a51d67 " } ,
. flags = AV_OPT_FLAG_DECODING_PARAM } ,
{ " decryption_key " , " The media decryption key (hex) " , OFFSET ( decryption_key ) , AV_OPT_TYPE_BINARY , . flags = AV_OPT_FLAG_DECODING_PARAM } ,
{ " enable_drefs " , " Enable external track support. " , OFFSET ( enable_drefs ) , AV_OPT_TYPE_BOOL ,
{ . i64 = 0 } , 0 , 1 , FLAGS } ,
{ NULL } ,
} ;