视频播放(一)数据处理

前言

    视频播放涉及数据读入和输出,缓存数据,以及音画同步相关操作。

    相关技术涉及,多线程操作,队列等。

    按之前的逻辑,逐步深入,会有不连贯性,这里直接使用最终方案的分解。


线程

    pthread玩C/C++的应该都用过。

    pthread_create传入一个指针函数,处理好线程内操作就好。

队列

    Queue在C里面需要自己来实现。这个结构不算难,应该很快就写出来了。

读取


读取方法

这个方法是读取线程的指针函数,FFInstance是自定义的结构体,存储了视频每条轨道的信息,默认只有音频和视频两条轨道,各自有个缓存队列缓存各自的数据,其他是每个轨道特有参数。

输出

输出方法

这个方法是每天轨道的输出线程的指针函数,Consumer是输出具体操作的结构,包含了一个FFInstance,以及操作类型,根据操作类型判断是播放还是其他操作(当前只有play方法是有完整实现的)。


本文作者:刘小宇(Laffey)

本文为原创作品,未经允许不得转载。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。