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

Android多媒体——同步Video显示时间(二十二)

        上一篇文章我们介绍了 Audio 锚点的计算及更新流程,这里我们继续来看一下 Video 显示时间的获取及同步流程。在音视频同步(AV Sync)中,Video 显示时间的准确性直接决定了画面的流畅性。与 Audio 类似,Video 的同步也依赖于时间戳管理、渲染控制和时钟同步。

一、Video显示时间获取

        AVsync 的目的是获得Buffer显示的时间(buffer 的系统时间)。我们可以根据媒体时间和系统时间的线性关系计算出显示的时间:

(mediaTimeUs - anchorTimeMediaUs) = PlaybackRate*(nowUs - anchorTimeMediaUs)

        这里我们回到 onDrainVideoQueue() 函数,其中会通过 getRealTimeUs() 函数计算出当前 Buffer 显示的时间 realTimeUs(系统时间)。

1、NuPlayerRenderer.cpp

源码位置:/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp

getRealTimeUs

int64_t NuPlayer::Renderer::getRealTimeU

相关文章:

  • 【android bluetooth 框架分析 04】【bt-framework 层详解 4】【AdapterState介绍】
  • git撤回commit
  • 流批一体向量化引擎Flex
  • 前端面试六之axios
  • 黑马教程强化day2-2
  • markdown文本转换时序图
  • 深入理解 TCP 套接字:Socket 编程入门教程
  • 数组方法_push()/pop()/数组方法_shift()/unshift()
  • 滚动—横向滚动时,如何直接滚动到对应的内容板块
  • `document.domain` API 的废弃与现代 Web 开发的转型
  • 从 8 秒到 1 秒:前端性能优化的 12 个关键操作
  • Maven 构建性能优化深度剖析:原理、策略与实践
  • CKA考试知识点分享(10)---NetworkPolicy
  • 深入浅出:C++深拷贝与浅拷贝
  • Web防火墙深度实战:从漏洞修补到CC攻击防御
  • 重拾前端基础知识:CSS预处理器
  • 基于AI智能体的医疗AI工具库构建路径分析
  • Python爬虫(54)Python数据治理全攻略:从爬虫清洗到NLP情感分析的实战演进
  • 第七章: SEO与渲染方式 三
  • C#接口代码记录
  • 邯郸网站开发/百度指数代表什么意思
  • 做网站模板的网页名称是m开头/搜狗推广助手
  • wordpress 高级搜索/合肥关键词优化平台
  • 一般通过逸民/宁波seo网络推广产品服务
  • 搭建wordpress网站/东莞建设企业网站公司
  • 网站设计与程序专业/免费发帖平台