###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的更多相关文章

  1. video事件

    /** video播放器*/ * @ src: 指定所要嵌入视频.文档的URL. * @ poster: 视频预览图像 * @ autoplay: 视频自动播放 * @ loop: 循环播放 * @ ...

  2. 《Programming WPF》翻译 第7章 5.可视化层编程

    原文:<Programming WPF>翻译 第7章 5.可视化层编程 形状元素能提供一种便利的方式与图形一起工作,在一些情形中,添加表示绘图的元素到UI树中,可能是比它的价值更加麻烦.你 ...

  3. DM368启动串口打印分析

    DM36x initialization passed! TI UBL Version: 1.50 Booting Catalog Boot Loader                  //启动目 ...

  4. 设备管理 USB ID

    发现个USB ID站点,对于做设备管理识别的小伙伴特别实用 http://www.linux-usb.org/usb.ids 附录: # # List of USB ID's # # Maintain ...

  5. 小强的HTML5移动开发之路(5)——制作一个漂亮的视频播放器

    来自:http://blog.csdn.net/dawanganban/article/details/17679069 在前面几篇文章中介绍了HTML5的特点和需要掌握的基础知识,下面我们开始真正的 ...

  6. Jetson TX1使用usb camera采集图像 (1)

    使用python实现 https://jkjung-avt.github.io/tx2-camera-with-python/ How to Capture and Display Camera Vi ...

  7. CRT/LCD/VGA Information and Timing

    彩色阴极射线管的剖面图: 1. 电子QIANG Three Electron guns (for red, green, and blue phosphor dots)2. 电子束 Electron ...

  8. CRT/LCD/VGA Information and Timing【转】

    转自:http://www.cnblogs.com/shangdawei/p/4760933.html 彩色阴极射线管的剖面图: 1. 电子QIANG Three Electron guns (for ...

  9. AVAudioFoundation(4):音视频录制

    本文转自:AVAudioFoundation(4):音视频录制 | www.samirchen.com 本文主要内容来自 AVFoundation Programming Guide. 采集设备的音视 ...

随机推荐

  1. bzoj3173: [Tjoi2013]最长上升子序列(树状数组+二分倒推)

    3173: [Tjoi2013]最长上升子序列 题目:传送门 题解:  好题! 怎么说吧...是应该扇死自己...看错了两次题: 每次加一个数的时候,如果当前位置有数了,是要加到那个数的前面,而不是直 ...

  2. c语言运算符优先级与while循环案例

    sizeof可以获取数据类型的内存中的大小(字节) #include <stdio.h> #include <stdlib.h> // standared 标准 // inpu ...

  3. artTemplate的使用

    引言 腾讯的前端模板引擎,不逊于doT.js 1.引入 <script type="text/javascript" src="../plugin/artTempl ...

  4. JAVA设计模式之【外观模式】

    通过引入一个外观角色来简化客户端与子系统之间的交互. 顾客无需直接和茶叶.茶具.开水等交互,整个泡茶过程由服务员来完成,顾客只需与服务员交互即可. 通过引入一个外观角色可以降低原有系统的复杂度,同时降 ...

  5. MYSQL binlog 日志内容查看

    记录mysql数据库真正执行更改的所有操作(DML语句),不包含那些没有修改任何数据的语句,不会记录select和show这样的语句. 二进制日志的作用: 1. 可以完成主从复制的功能 2. 进行恢复 ...

  6. STL数组和com数组相互转换的做法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 STL的泛型数组是vetor,com的泛型数组类型是VARIANT.二者怎样能相互转化呢?就是说怎么把一个vector ...

  7. JavaScript学习——使用JS实现首页轮播图效果

    1.相关技术 获取元素 document.getElementById(“id 名称”) 事件(onload) 只能写一次并且放到body标签中 定时操作:setInterval(“changeImg ...

  8. 《剑指offer》二叉搜索树与双向链表

    一.题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向 二.输入描述 输入一棵二叉搜索树 三.输出描述 将该二叉搜索树转换成一个 ...

  9. C#网络编程—HTTP应用编程(转)

    https://www.cnblogs.com/huangxincheng/archive/2012/01/09/2316745.html https://www.cnblogs.com/wangqi ...

  10. nodejs 封装mysql连接池

    写在前面的 在nodejs后台代码中,我们总是会和数据库打交道 然而,每次都要写数据库的配置以及连接和断开,不胜其烦 我就封装了一个连接池模块,不足之处还请多多批评 上代码 一下是写在mysqls.j ...