第23讲 录像Buffer Path实战和Trace分析 - Android Camera性能分析

本讲是Android Camera性能分析专题的第23讲,我们介绍录像Buffer Path实战和Trace分析,包括如下内容:

  1. Video Codec + MediaRecorder.getSurface录像Buffer Path Trace分析
  2. Video Codec2 + MediaRecorder.getSurface录像Buffer Path Trace分析
  3. Video Codec2 + MediaRecorder.setInputSurface录像Buffer Path Trace分析

视频在线观看:

加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815
– Wechat: 极客笔记圈

1. Video Codec + MediaRecorder.getSurface录像Buffer Path Trace分析

GraphicBufferSource是在MediaCodec进程创建的,CameraServer直接将录像的Buffer送给MediaCodec进程。

如下图所示,645是CameraServer进程,682是Media.Codec进程。

  • CameraServer调用BufferQueue的queueBuffer会跨Binder调用到Media.codec进程, MediaCodec会执行acquireBuffer动作。

Video Codec + MediaRecorder.getSurface录像Buffer Path Trace分析

releaseBuffer的流程,请参考视频讲解。

2. Video Codec2 + MediaRecorder.getSurface录像Buffer Path Trace分析

GraphicBufferSource是在MediaServer进程创建的,CameraServer直接将录像的Buffer送给MediaServer进程。

如下图所示,1546是CameraServer进程,1565是MediaServer进程。

  • CameraServer调用BufferQueue的queueBuffer会跨Binder调用到MediaServer进程, MediaServer会执行acquireBuffer动作。

Video Codec2 + MediaRecorder.getSurface录像Buffer Path Trace分析

releaseBuffer的流程,请参考视频讲解。

3. Video Codec2 + MediaRecorder.setInputSurface录像Buffer Path Trace分析

GraphicBufferSource是在Camera App进程创建的,CameraServer直接将录像的Buffer送给Camera App进程。

如下图所示,1546是CameraServer进程,16847是CameraApp进程。

  • CameraServer调用BufferQueue的queueBuffer会跨Binder调用到CameraApp进程, CameraApp会执行acquireBuffer动作。

Video Codec2 + MediaRecorder.setInputSurface录像Buffer Path Trace分析

releaseBuffer的流程,请参考视频讲解。

赞(5)
未经允许不得转载:极客笔记 » 第23讲 录像Buffer Path实战和Trace分析

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址