@ -2484,12 +2484,22 @@ 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 ( mov_open_dref ( & sc - > pb , c - > fc - > filename , dref , & c - > fc - > interrupt_callback ) < 0 )
av_log ( c - > fc , AV_LOG_ERROR ,
" stream %d, error opening alias: path='%s', dir='%s', "
" filename='%s', volume='%s', nlvl_from=%d, nlvl_to=%d \n " ,
if ( c - > enable_drefs ) {
if ( mov_open_dref ( & sc - > pb , c - > fc - > filename , dref , & c - > fc - > interrupt_callback ) < 0 )
av_log ( c - > fc , AV_LOG_ERROR ,
" stream %d, error opening alias: path='%s', dir='%s', "
" 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 ;
@ -3643,6 +3653,8 @@ static const AVOption mov_options[] = {
AV_OPT_TYPE_INT , { . i64 = 0 } , 0 , 1 , . flags = FLAGS } ,
{ " export_xmp " , " Export full XMP metadata " , OFFSET ( export_xmp ) ,
AV_OPT_TYPE_INT , { . i64 = 0 } , 0 , 1 , . flags = FLAGS } ,
{ " enable_drefs " , " Enable external track support. " , OFFSET ( enable_drefs ) ,
AV_OPT_TYPE_INT , { . i64 = 0 } , 0 , 1 , . flags = FLAGS } ,
{ NULL } ,
} ;