###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. 如何让Java写的程序,脱离Eclipse在别人的电脑上运行?

    Java程序运行,离不开JRE. 将JRE文件夹拷贝出来, 将编写程序的bin文件夹拷贝出来, 再编写一个bat文件. start jre\bin\javaw.exe -cp .\bin\ -Djav ...

  2. nyoj--1239--引水工程(最小生成树)

    引水工程 时间限制:2000 ms  |  内存限制:65535 KB 难度: 描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投资额最大.涉及面最广的战略性工程,事 ...

  3. javascript系列-class5.数组

    转载请标明出处!   栈堆结构:   堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.   栈:存放的是路径:容量有限(在一开始被定义之后就不会改变了): ...

  4. 判断一个整数是否是回文数C++实现 leetcode系列(九)

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  5. 【英雄会】微软题目:几个bing

    今天是元旦,开篇先祝福大家在新的一年心想事成,工作顺利,开心生活每一天 . 看到[英雄会]上出现了微软出的题目:几个bing,题目内容如下: 本届大赛由微软必应词典冠名,必应词典(Bing Dicti ...

  6. STM8S103之GPIO

    如何快速了解GPIO,查看Reference manual中GPIO章节,初步了解到GPIO GPIO输入分为:Floating Input和Input with pull-up GPIO输出分为:O ...

  7. 响应式流API的构建基础

    下面三个重要的概念是响应式流API的构建基础: 发布者是事件的发送方,可以向它订阅. 订阅者是事件订阅方. 订阅将发布者和订阅者联系起来,使订阅者可以向发布者发送信号. http://www.info ...

  8. Markdown语法简记

    目录 一.标题 1. 六个级别的标题 2. 主.副两级标题 二.根据标题生成文档结构大纲 三.字体 1. 斜体 2. 粗体 3. 倾斜加粗 4. 行首缩进 5. 删除线 四.引用块 五.代码块 1. ...

  9. 【jQuery04】折叠树

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. VUEJS开发规范

    VUEJS开发规范 基于组件化开发理解 组件命名规范 结构化规范 注释规范 编码规范 基于组件化开发理解 什么是组件? ``` 组件其实就是页面组成的一部分,好比是电脑中的每一个元件(如硬盘.键盘.鼠 ...