Advertisement

ffmpeg源码分析open_input_file

阅读量:

open_input_file函数由open_files函数调用,在调用过程中,open_files函数会将解析得到的输入相关参数存储至OptionsContext o中。以ffmpeg -f v4l2 -i /dev/video0 test.mp4为例,实际上对应的是-f v4l2 -i /dev/video0这一参数组合。其中,-f v4l2的解析工作由parse_optgroup函数完成,而这一过程主要依赖于options中对f参数的定义。根据这些定义,系统将执行相应的操作,如调用write_option函数。在write_option部分的代码实现中,我们实际上是从参数中获取了v4l2并进行了存储处理。需要特别注意的是,在-f定义中出现的{ .off = OFFSET(format) }部分,其本质是对格式参数的设定,该设定将在后续流程中被使用到。

复制代码
     if (po->flags & OPT_STRING) {  //

    
     char *str;
    
     str = av_strdup(arg);    
    
     av_freep(dst);
    
     if (!str)
    
         return AVERROR(ENOMEM);
    
     *(char **)dst = str; 

全部评论 (0)

还没有任何评论哟~