1. 程式人生 > >Android MediaCodec 狀態(States)轉換分析

Android MediaCodec 狀態(States)轉換分析

configure 三種 com android m spl 詳細 blog pla sta

*由於工作需要,需要利用MediaCodec實現Playback及Transcode等功能,故在學習過程中翻譯了Google官方的MediaCodec API文檔,由於作者水平限制,文中難免有錯誤和不恰當之處,望批評指正。

*轉載請註明出處:http://www.cnblogs.com/roger-yu/

概述

  在MediaCodec的生命周期內存在三種狀態:Stopped, Executing or Released,其中

  Stopped狀態包含三種子狀態:Uninitialized, Configured and Error

  Executing狀態包含三種子狀態:Flushed, Running

and End-of-Stream

  由於MediaCodec在不同的數據處理模式下狀態間的轉換會有些許差別,故接下來我們分別對同步處理模式異步處理模式下的狀態轉換做詳細分析

同步模式下的狀態轉換(Asynchronous Processing using Buffers)

  首先我們先看一下狀態轉換的流程圖,如下:

技術分享

  1. 當通過

Android MediaCodec 狀態(States)轉換分析