MediaCodec.BufferInfo

public static final class MediaCodec.BufferInfo
extends Object

java.lang.Object
   ↳ android.media.MediaCodec.BufferInfo


Per buffer metadata includes an offset and size specifying the range of valid data in the associated codec (output) buffer.

Summary

Fields

public int flags

Buffer flags associated with the buffer.

public int offset

The start-offset of the data in the buffer.

public long presentationTimeUs

The presentation timestamp in microseconds for the buffer.

public int size

The amount of data (in bytes) in the buffer.

Public constructors

BufferInfo()

Public methods

void set(int newOffset, int newSize, long newTimeUs, int newFlags)

Update the buffer metadata information.

Inherited methods

Fields

flags

Added in API level 16
public int flags

Buffer flags associated with the buffer. A combination of MediaCodec.BUFFER_FLAG_KEY_FRAME and MediaCodec.BUFFER_FLAG_END_OF_STREAM.

Encoded buffers that are key frames are marked with MediaCodec.BUFFER_FLAG_KEY_FRAME.

The last output buffer corresponding to the input buffer marked with MediaCodec.BUFFER_FLAG_END_OF_STREAM will also be marked with MediaCodec.BUFFER_FLAG_END_OF_STREAM. In some cases this could be an empty buffer, whose sole purpose is to carry the end-of-stream marker.
Value is either 0 or a combination of MediaCodec.BUFFER_FLAG_SYNC_FRAME, MediaCodec.BUFFER_FLAG_KEY_FRAME, MediaCodec.BUFFER_FLAG_CODEC_CONFIG, MediaCodec.BUFFER_FLAG_END_OF_STREAM, MediaCodec.BUFFER_FLAG_PARTIAL_FRAME, android.media.MediaCodec.BUFFER_FLAG_MUXER_DATA, and MediaCodec.BUFFER_FLAG_DECODE_ONLY

offset

Added in API level 16
public int offset

The start-offset of the data in the buffer.

presentationTimeUs

Added in API level 16
public long presentationTimeUs

The presentation timestamp in microseconds for the buffer. This is derived from the presentation timestamp passed in with the corresponding input buffer. This should be ignored for a 0-sized buffer.

size

Added in API level 16
public int size

The amount of data (in bytes) in the buffer. If this is 0, the buffer has no data in it and can be discarded. The only use of a 0-size buffer is to carry the end-of-stream marker.

Public constructors

BufferInfo

public BufferInfo ()

Public methods

set

Added in API level 16
public void set (int newOffset, 
                int newSize, 
                long newTimeUs, 
                int newFlags)

Update the buffer metadata information.

Parameters
newOffset int: the start-offset of the data in the buffer.

newSize int: the amount of data (in bytes) in the buffer.

newTimeUs long: the presentation timestamp in microseconds.

newFlags int: buffer flags associated with the buffer. This should be a combination of MediaCodec.BUFFER_FLAG_KEY_FRAME and MediaCodec.BUFFER_FLAG_END_OF_STREAM. Value is either 0 or a combination of MediaCodec.BUFFER_FLAG_SYNC_FRAME, MediaCodec.BUFFER_FLAG_KEY_FRAME, MediaCodec.BUFFER_FLAG_CODEC_CONFIG, MediaCodec.BUFFER_FLAG_END_OF_STREAM, MediaCodec.BUFFER_FLAG_PARTIAL_FRAME, android.media.MediaCodec.BUFFER_FLAG_MUXER_DATA, and MediaCodec.BUFFER_FLAG_DECODE_ONLY