当前位置: 首页 > news >正文

【WebRTC---源码篇】(十:一)WEBRTC 发送视频RTP包

RTPSenderVideo在整个框架中起到重要的作用,它把采集的数据进行编码,并且在流程中会进行将编码后的数据进行RTP打包,最后发送到网络层

RTPSenderVideo::SendVideo

//对编码数据打包
bool RTPSenderVideo::SendVideo(int payload_type,absl::optional<VideoCodecType> codec_type,uint32_t rtp_timestamp,int64_t capture_time_ms,rtc::ArrayView<const uint8_t> payload,const RTPFragmentationHeader* fragmentation,RTPVideoHeader video_header,absl::optional<int64_t> expected_retransmission_time_ms) {
#if RTC_TRACE_EVENTS_ENABLEDTRACE_EVENT_ASYNC_STEP1("webrtc", "Video", capture_time_ms, "Send", "type",FrameTypeToString(video_header.frame_type));
#endifRTC_CHECK_RUNS_SERIALIZED(&send_checker_);//如果是空帧直接返回if (video_header.frame_type == VideoFrameType::kEmptyFrame)return true;//如果有效荷载没有内容,直接返回falseif (payload.empty())return false;int32_t retra
http://www.lryc.cn/news/164852.html

相关文章:

  • cmd 90 validate error!(达梦数据库日志报错)
  • Shape Completion Enabled Robotic Grasping
  • 【C++】构造函数意义 ( 构造函数显式调用与隐式调用 | 构造函数替代方案 - 初始化函数 | 初始化函数缺陷 | 默认构造函数 )
  • VMware16安装ghost版win7
  • 项目集成swagger,访问不到swagger页面
  • 微信小程序怎么隐藏顶部导航栏(navigationBar)变透明的解决方案
  • RabbitMQ基础概念-02
  • 从构建者到设计者的低代码之路
  • Linux创建进程 及父子进程虚拟空间 多进程GDB调试
  • uni-app 之 表格设置
  • Linux易混淆知识点
  • 移植FlashDB、SFUD到STM32f407
  • 【算法基础】时间复杂度和空间复杂度
  • 解决微信小程序不支持TextEncoder/TextDecoder对象
  • Qt下SVG格式图片应用
  • python异常处理
  • go get命令不再具有安装功能
  • 合宙Air724UG LuatOS-Air lvgl7-lvgl(矢量字体)
  • LRU的实现
  • consul 备份还原导入导出
  • 6.网络编程套接字(下)
  • 4.3-内置后置PostProcess处理器深度讲解
  • LeetCode(力扣)45. 跳跃游戏 IIPython
  • mysql5.8 免安装版(压缩包)win10 安装
  • STM32-HAL库06-硬件IIC驱动FM24CL16B非易失存储器
  • python-wordcloud词云
  • 单元测试与自测
  • 2023-09-12 LeetCode每日一题(课程表 IV)
  • RabbitMQ基础
  • ITIL 4—创建、交付和支持—创建、交付和支持服务的价值流