- 前处理会阻塞SDK回调线程,这是因为回调app的图像有时候处理比较耗时。
- 前处理处理过程丢给一个单独的线程回调给app,可以解决阻塞采集线程的问题。
- app的前处理是一个黑盒子,所以sdk不可控,但是异步任务化之后,而任务是泡在sdk 的“前处理”线程中的,就可以对每个前处理的任务可控。
webrtc的QueuedTask
- 需要引入webrtc rtc_base
- 向队列投递数据
- 队列是长这样的:
// Queue for callbacks and events.
std::shared_ptr<rtc::TaskQueue> event_queue_;
数据源
- 应用场景不同,数据源不同,所以抽象一个videoframe
- 数据源都构造为videoframe 然后构造task