Language

MediaCodec.BufferFlagDecodeOnly フィールド

定義

注意事項

This constant will be removed in the future version. Use Android.Media.MediaCodecBufferFlags enum directly instead of this field.

これは、バッファーがデコードされ、デコーダーの内部状態が更新されますが、出力バッファーは生成されないことを示します。

[Android.Runtime.Register("BUFFER_FLAG_DECODE_ONLY", ApiSince=34)]
[System.Obsolete("This constant will be removed in the future version. Use Android.Media.MediaCodecBufferFlags enum directly instead of this field.", true)]
public const Android.Media.MediaCodecBufferFlags BufferFlagDecodeOnly = 32;
[<Android.Runtime.Register("BUFFER_FLAG_DECODE_ONLY", ApiSince=34)>]
[<System.Obsolete("This constant will be removed in the future version. Use Android.Media.MediaCodecBufferFlags enum directly instead of this field.", true)>]
val mutable BufferFlagDecodeOnly : Android.Media.MediaCodecBufferFlags

フィールド値

Value = 32
属性

注釈

これは、バッファーがデコードされ、デコーダーの内部状態が更新されますが、出力バッファーは生成されないことを示します。

バッファーにこのフラグが設定されている場合、 OnFrameRenderedListener#onFrameRendered(MediaCodec, long, long) および Callback#onOutputBufferAvailable(MediaCodec, int, BufferInfo) はその指定されたバッファーに対して呼び出されません。

たとえば、特定のフレームをシークするときに、そのフレームが出力を生成するために前のフレームを参照する必要がある場合があります。 上記のフレームにはこのフラグを付けることができます。これにより、デコードのみが行われ、最初にシーク後に表示する必要がある後者のフレームをデコードするときにデータが使用されます。 もう 1 つの例として、トリック プレイがあります。トリック プレイは、ビデオが高速転送され、フレームのサブセットのみが画面にレンダリングされる場合です。 レンダリングされないフレームは、上記と同じ理由でこのフラグでマークできます。 このフラグを使用してフレームをマークすると、アプリに戻す必要があるフレームが少ないほど、ビデオ ストリームを再生する全体的なパフォーマンスが向上します。

CodecCapabilities#FEATURE_TunneledPlaybackでは、このフラグでマークされたバッファーは出力サーフェイスにレンダリングされません。

フレームにこのフラグを付けず、同時に #BUFFER_FLAG_END_OF_STREAM すると、 InvalidBufferFlagsException

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象