视频缓充池
官方解释:
个人理解:
我们进行音视频开发,本质上就是对图像数据按一定顺序进行处理。
拿海思平台的举例,数据从sensor进来按照经过VI,VPSS,VENC模块的顺序进行图像处理。但在实际的程序中,不是一个线程来完成这整个流程。而是每一个单独模块分别使用一个线程去处理。这样的话,这些模块之间是异步的。
这样的话,怎么来保证数据的有序处理呢?怎么保证各模块之间不会互相影响呢?
这就需要使用 缓存池 来解决。顾名思义,其就是用来暂存数据的。相信说到这,各位已经有了缓存池的概念与作用。
如果还没有,我们就来建立一个场景,我们把做菜比喻成我们的开发,其中有洗菜,炒菜,吃菜三个模块,每一个模块都是单独线程。把盘子比喻成缓存池,这时我们炒菜正在进行,同时我们的下一道菜已经洗好了,那我们的下一道菜是不是应该放到盘(缓存池)里,等待正在炒的菜炒完,厨师才从盘里拿菜炒,吃菜同理。这个盘的作用就是 缓存池的作用