# Print output for @column tags ?>
public
final
class
MediaCodec.QueueRequest
extends Object
java.lang.Object | |
↳ | android.media.MediaCodec.QueueRequest |
Builder-like class for queue requests. Use this class to prepare a queue request and send it.
Public methods | |
---|---|
void
|
queue()
Finish building a queue request and queue the buffers with tunings. |
MediaCodec.QueueRequest
|
setByteBufferParameter(String key, ByteBuffer value)
Add a |
MediaCodec.QueueRequest
|
setEncryptedLinearBlock(MediaCodec.LinearBlock block, int offset, int size, MediaCodec.CryptoInfo cryptoInfo)
Set an encrypted linear block to this queue request. |
MediaCodec.QueueRequest
|
setFlags(int flags)
Set flags to this queue request. |
MediaCodec.QueueRequest
|
setFloatParameter(String key, float value)
Add a float parameter. |
MediaCodec.QueueRequest
|
setHardwareBuffer(HardwareBuffer buffer)
Set a harware graphic buffer to this queue request. |
MediaCodec.QueueRequest
|
setIntegerParameter(String key, int value)
Add an integer parameter. |
MediaCodec.QueueRequest
|
setLinearBlock(MediaCodec.LinearBlock block, int offset, int size)
Set a linear block to this queue request. |
MediaCodec.QueueRequest
|
setLongParameter(String key, long value)
Add a long parameter. |
MediaCodec.QueueRequest
|
setPresentationTimeUs(long presentationTimeUs)
Set timestamp to this queue request. |
MediaCodec.QueueRequest
|
setStringParameter(String key, String value)
Add a string parameter. |
Inherited methods | |
---|---|
public void queue ()
Finish building a queue request and queue the buffers with tunings.
public MediaCodec.QueueRequest setByteBufferParameter (String key, ByteBuffer value)
Add a ByteBuffer
parameter.
See MediaFormat
for an exhaustive list of supported keys with
values of byte buffer, that can also be set with MediaFormat#setByteBuffer
.
If there was MediaCodec#setParameters
call with the same key which is not processed by the codec yet, the
value set from this method will override the unprocessed value.
Parameters | |
---|---|
key |
String : This value cannot be null . |
value |
ByteBuffer : This value cannot be null . |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |
public MediaCodec.QueueRequest setEncryptedLinearBlock (MediaCodec.LinearBlock block, int offset, int size, MediaCodec.CryptoInfo cryptoInfo)
Set an encrypted linear block to this queue request. Exactly one buffer must be
set for a queue request before calling queue()
. It is possible
to use the same LinearBlock
object for multiple queue
requests. The behavior is undefined if the range of the buffer
overlaps for multiple requests, or the application writes into the
region being processed by the codec.
Parameters | |
---|---|
block |
MediaCodec.LinearBlock : The linear block object
This value cannot be null . |
offset |
int : The byte offset into the input buffer at which the data starts. |
size |
int : The number of bytes of valid input data. |
cryptoInfo |
MediaCodec.CryptoInfo : Metadata describing the structure of the encrypted input sample.
This value cannot be null . |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |
Throws | |
---|---|
IllegalStateException |
if a buffer is already set |
public MediaCodec.QueueRequest setFlags (int flags)
Set flags to this queue request.
Parameters | |
---|---|
flags |
int : A bitmask of flags
MediaCodec.BUFFER_FLAG_CODEC_CONFIG and MediaCodec.BUFFER_FLAG_END_OF_STREAM .
While not prohibited, most codecs do not use the
MediaCodec.BUFFER_FLAG_KEY_FRAME flag for input buffers.
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 , and android.media.MediaCodec.BUFFER_FLAG_MUXER_DATA |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |
public MediaCodec.QueueRequest setFloatParameter (String key, float value)
Add a float parameter.
See MediaFormat
for an exhaustive list of supported keys with
values of type float, that can also be set with MediaFormat#setFloat
.
If there was MediaCodec#setParameters
call with the same key which is not processed by the codec yet, the
value set from this method will override the unprocessed value.
Parameters | |
---|---|
key |
String : This value cannot be null . |
value |
float |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |
public MediaCodec.QueueRequest setHardwareBuffer (HardwareBuffer buffer)
Set a harware graphic buffer to this queue request. Exactly one buffer must
be set for a queue request before calling queue()
.
Note: buffers should have format HardwareBuffer#YCBCR_420_888
,
a single layer, and an appropriate usage (HardwareBuffer#USAGE_CPU_READ_OFTEN
for software codecs and HardwareBuffer#USAGE_VIDEO_ENCODE
for hardware)
for codecs to recognize. Codecs may throw exception if the buffer is not recognizable.
Parameters | |
---|---|
buffer |
HardwareBuffer : The hardware graphic buffer object
This value cannot be null . |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |
Throws | |
---|---|
IllegalStateException |
if a buffer is already set |
public MediaCodec.QueueRequest setIntegerParameter (String key, int value)
Add an integer parameter.
See MediaFormat
for an exhaustive list of supported keys with
values of type int, that can also be set with MediaFormat#setInteger
.
If there was MediaCodec#setParameters
call with the same key which is not processed by the codec yet, the
value set from this method will override the unprocessed value.
Parameters | |
---|---|
key |
String : This value cannot be null . |
value |
int |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |
public MediaCodec.QueueRequest setLinearBlock (MediaCodec.LinearBlock block, int offset, int size)
Set a linear block to this queue request. Exactly one buffer must be
set for a queue request before calling queue()
. It is possible
to use the same LinearBlock
object for multiple queue
requests. The behavior is undefined if the range of the buffer
overlaps for multiple requests, or the application writes into the
region being processed by the codec.
Parameters | |
---|---|
block |
MediaCodec.LinearBlock : The linear block object
This value cannot be null . |
offset |
int : The byte offset into the input buffer at which the data starts. |
size |
int : The number of bytes of valid input data. |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |
Throws | |
---|---|
IllegalStateException |
if a buffer is already set |
public MediaCodec.QueueRequest setLongParameter (String key, long value)
Add a long parameter.
See MediaFormat
for an exhaustive list of supported keys with
values of type long, that can also be set with MediaFormat#setLong
.
If there was MediaCodec#setParameters
call with the same key which is not processed by the codec yet, the
value set from this method will override the unprocessed value.
Parameters | |
---|---|
key |
String : This value cannot be null . |
value |
long |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |
public MediaCodec.QueueRequest setPresentationTimeUs (long presentationTimeUs)
Set timestamp to this queue request.
Parameters | |
---|---|
presentationTimeUs |
long : The presentation timestamp in microseconds for this
buffer. This is normally the media time at which this
buffer should be presented (rendered). When using an output
surface, this will be propagated as the SurfaceTexture#getTimestamp for the frame (after
conversion to nanoseconds). |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |
public MediaCodec.QueueRequest setStringParameter (String key, String value)
Add a string parameter.
See MediaFormat
for an exhaustive list of supported keys with
values of type string, that can also be set with MediaFormat#setString
.
If there was MediaCodec#setParameters
call with the same key which is not processed by the codec yet, the
value set from this method will override the unprocessed value.
Parameters | |
---|---|
key |
String : This value cannot be null . |
value |
String : This value cannot be null . |
Returns | |
---|---|
MediaCodec.QueueRequest |
this object
This value cannot be null . |