2016-5-26
移植eac3音频库,从ffmpeg库中移植.经过验证是切实可行的。
感觉开源软件就是时间黑洞,有多少时间搭进去都不为过。已经3周过去了,ffmpeg还是没有熟悉完。
真正的移植工作还没有开始呢。有点心里着急了。
2016-7-14
现在在弄AVOption设置问题,现在想法是看懂AVOption,然后编译通过opt相关设置.
现在是卡在这里了。
看到AVClass成员parent_log_context_offset实在是看不懂,这个成员变量是干什么的呢?
在结构中的偏移,偏移处是个指针,指向父上下文,父上下文中存储logging.
/**
- Return next AVOptions-enabled child or NULL
/
void (*child_next)(void *obj, void *prev);
AVOptions-enabled child 是什么?
obj是什么?
/**
- Return an AVClass corresponding to the next potential
- AVOptions-enabled child.
- The difference between child_next and this is that
- child_next iterates over already existing objects, while
- child_class_next iterates over all possible children.
/
const struct AVClass (*child_class_next)(const struct AVClass *prev);
the next potential AVOptions-enabled child 什么是潜在的AVOptions-enabled child?
already existing objects?
all possible children?
/**
- Category used for visualization (like color)
- This is only set if the category is equal for all objects using this class.
- available since version (51 << 16 | 56 << 8 | 100)
*/
AVClassCategory category;
This is only set if the category is equal for all objects using this class.这是什么意思?
仅仅当。。。的时候才设置
the category(什么的类别) is equal for all objects(哪些对象) using this class.
应该是相同的context结构体对应的对象吧?真是让人费解!