Display Video
###chromium webrtc视频显示 ###
两个数据源:
本地数据源: MediaStreamRemoteVideoSource(content/renderer/media/webrtc/media_stream_remote_video_source.cc),
数据锚点在video_track_adapter。
远端数据源: MediaStreamVideoCapturerSource(content/renderer/media/stream/media_stream_video_capturer_source.cc),
数据锚点在video_track_adapter。
一个WebMediaPlayerMS表示一个播放器。
TX:
OnFrameReadyInBuffer@content/browser/renderer_host/media/video_capture_controller.cc.
OnBufferReady@content/renderer/media/video_capture_impl.cc (收到相机帧)
VideoTrackAdapter::DeliverFrameOnIO @content\renderer\media\stream\video_track_adapter.cc.
DeliverFrameOnIO@content\renderer\media\stream\video_track_adapter.cc.
MediaStreamVideoTrack::FrameDeliverer::DeliverFrameOnIO @ media_stream_video_track.cc [本地video track]
WebRtcVideoSourceAdapter::OnVideoFrameOnIO @ media_stream_video_webrtc_sink.cc
WebRtcVideoCapturerAdapter::OnFrameCaptured @ webrtc_video_capturer_adapter.cc (录制的数据送进WEBRTC)。
预览显示:
OnVideoFrame @ media_stream_video_renderer_sink.cc [连接到了本地video track]
repaint_cb_.Run(frame);//绘制本地图像。
RX:
RemoteVideoSourceDelegate::OnFrame @ media_stream_remote_video_source.cc RTC线程。
RemoteVideoSourceDelegate::DoRenderFrameOnIOThread @ media_stream_remote_video_source.cc IO线程。
MediaStreamVideoTrack::FrameDeliverer::DeliverFrameOnIO @ media_stream_video_track.cc [远程video track]
OnVideoFrame @ media_stream_video_renderer_sink.cc
repaint_cb_.Run(frame);//绘制远程图像。
Display Video的更多相关文章
- video事件
/** video播放器*/ * @ src: 指定所要嵌入视频.文档的URL. * @ poster: 视频预览图像 * @ autoplay: 视频自动播放 * @ loop: 循环播放 * @ ...
- 《Programming WPF》翻译 第7章 5.可视化层编程
原文:<Programming WPF>翻译 第7章 5.可视化层编程 形状元素能提供一种便利的方式与图形一起工作,在一些情形中,添加表示绘图的元素到UI树中,可能是比它的价值更加麻烦.你 ...
- DM368启动串口打印分析
DM36x initialization passed! TI UBL Version: 1.50 Booting Catalog Boot Loader //启动目 ...
- 设备管理 USB ID
发现个USB ID站点,对于做设备管理识别的小伙伴特别实用 http://www.linux-usb.org/usb.ids 附录: # # List of USB ID's # # Maintain ...
- 小强的HTML5移动开发之路(5)——制作一个漂亮的视频播放器
来自:http://blog.csdn.net/dawanganban/article/details/17679069 在前面几篇文章中介绍了HTML5的特点和需要掌握的基础知识,下面我们开始真正的 ...
- Jetson TX1使用usb camera采集图像 (1)
使用python实现 https://jkjung-avt.github.io/tx2-camera-with-python/ How to Capture and Display Camera Vi ...
- CRT/LCD/VGA Information and Timing
彩色阴极射线管的剖面图: 1. 电子QIANG Three Electron guns (for red, green, and blue phosphor dots)2. 电子束 Electron ...
- CRT/LCD/VGA Information and Timing【转】
转自:http://www.cnblogs.com/shangdawei/p/4760933.html 彩色阴极射线管的剖面图: 1. 电子QIANG Three Electron guns (for ...
- AVAudioFoundation(4):音视频录制
本文转自:AVAudioFoundation(4):音视频录制 | www.samirchen.com 本文主要内容来自 AVFoundation Programming Guide. 采集设备的音视 ...
随机推荐
- 银行bank系统项目实践
想看项目的注意了!完整版银行管理系统就在这里看不看你看着办! 按照惯例咱们还是先来看一下项目需求: 某银行为了提高业务率希望开发一个银行管理系统功能如下: 1.能够完成用户开户操作 2.能够完成用户取 ...
- pugixml读取unicode编码的xml文件的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 实际上在多字节编码的情况下,即以记事本打开显示的ANSI编码的,如下图: pugixml是可以直接读取中文字符的,示例 ...
- 51nod 1572 宝岛地图 (预处理四个方向的最大步数优化时间,时间复杂度O(n*m+k))
题目: 这题如果没有时间限制的话暴力可以解,暴力的话时间复杂度大概是O(k*n),1s的话非常悬. 所以我们需要换个思路,我们对每个点预处理四个方向最多能走的步数,这个预处理时间复杂度是O(n*m). ...
- ASP.NET MVC 使用FluentScheduler做定时任务
源代码地址: https://github.com/fluentscheduler/FluentScheduler 使用NuGet安装FluentScheduler 这是我实际项目中用到的代码,也可看 ...
- linux查看系统cpu信息
# 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即 ...
- Linux 操作基础(一) -- Shell 命令格式和元字符
1 命令格式 cmd [-选项] [参数] 说明: • 最简单的Shell命令只有命令名,复杂的Shell命令可以有多个选项和参数 • 参数是文件也可以是目录,有些命令必须使用多个操作对象 • 并非所 ...
- makefile--回顾基础篇
前阵子让写makefile,纠结了下,基本忘记差不多了. 1.gcc的编译选项 -c 只是编译不链接,生成目标文件“.o” -S 只是编译不汇编,生成汇编代码 -E 只进行预编译,不做其他处理 -g ...
- 3步简单实现SSH无密码登录
下面简单的做下实验: 一:准备2台服务器: 192.168.10.101 2 192.168.10.102 二:关键字解释 ssh-keygen : 产生公钥与私钥对 ssh-copy-id :将本 ...
- python学习笔记:第六天
一.元组(通用格式a=(1,),结束后面加个逗号,不同与数组是中括号,只能是只读的,不能修改,是有序的): 列表之间可以嵌套(列表之间嵌套,嵌套元组,是有序的):a[b[1,2],c[3,4]],输出 ...
- python list set dict的简单应用示例
list.count(x):返回指定元素x在列表中出现的次数 set(list):将list类型变量转换为set类型,去除重复值 dick:保存键值对 x=[1,2,2,3,3] s1=set(x) ...