これは、ffmpeg の libav* を使用してオーディオ ストリームをデコードするプロセスです。
[videofile]--> (オーディオ パケットの読み取り) --> [pkts キュー] --> (デコーダー) --> スピーカーのサンプル バッファー
何らかの理由で、デコーダーの後にバッファーを挿入する必要があります
[videofile]--> (オーディオ パケットの読み取り) --> [pkts キュー] --> (デコーダー) --> [サンプル バッファー] --> スピーカーのサンプル バッファー
のオーディオ サンプルsamples buffer
は LPCM 16 ビットです。オーディオのポイントを保存するにはsample buffer
、最初のサンプルのポイントを保存します。そうすれば、バッファ内の任意のサンプルのポイントを計算できます。
問題は、オーディオ ストリームに連続したオーディオ サンプルが含まれている場合にのみ計算が正しいことです。ffmpeg のデコードされたオーディオ フレームには常に連続したサンプルが含まれていますか?