VideoFrame发送的起点
来源:互联网 发布:手机淘宝联盟怎么用 编辑:程序博客网 时间:2024/06/18 08:00
先看类图:
我们知道WebRtcVideoSendStream实现VideoSinkInterface, 并且已经注册到VideoTrack中,当一帧视频frame准备好的时候,Onframe会被调用,我们看下它干了什么:
void WebRtcVideoChannel2::WebRtcVideoSendStream::OnFrame( const VideoFrame& frame) { //吧啦吧啦省略了一堆 stream_->Input()->IncomingCapturedFrame(video_frame);}
我们看到它调用了VideoCaptureInput的IncomingCapturedFrame函数,我们看下它干了什么:
void VideoCaptureInput::IncomingCapturedFrame(const VideoFrame& video_frame) { //吧啦吧啦省略了一堆 capture_event_->Set();}
我省略掉函数里无关的代码,它最重要的其实只是唤醒了capture_event_,看回开始的类图,capture_event_其实和VideoSendStream的encoder_wakeup_event_是同一个event, 在VideoSendStream的EncoderProcess()函数中,会阻塞在encoder_wakeup_event_中等待一帧videoframe的到来,后面会说到。
阅读全文
0 0
- VideoFrame发送的起点
- VideoFrame的编码,发送流(一)
- VideoFrame的编码,发送流(二)
- 本地的VideoFrame渲染一(VideoTrack)
- 一个新的起点
- 我的Blog起点
- 新的起点
- 新的起点
- 起点的下午
- SCJP,新的起点
- 技术收集的起点
- 新的起点
- 人生的起点很多。。。
- 新的起点
- 新的起点
- 终身受益的起点
- 终身受益的起点
- 终身受益的起点
- QuickSort
- How many ways??
- 《step4:tiny-spring-ioc学习四》——读取xml配置来初始化bean
- 老版本彻底解决Android 应用方法数不能超过65K的问题
- SpringMVC下net.sf.json.JSONObject陷阱
- VideoFrame发送的起点
- Javaee----02----前端知识概述
- vim + youcomplete安装方法
- 学习U3d官方项目——Space Shooter
- HTTP Status 500
- Transportation UVALive
- 笔记
- DEM生成及精度评定
- ArrayList与LinkedList