docs/doc/reference/com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.html
Package com.google.android.exoplayer2.mediacodec
All Implemented Interfaces:MediaCodecAdapter
[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public final classSynchronousMediaCodecAdapterextends[Object](https://developer.android.com/reference/java/lang/Object.html "class or interface in java.lang")implements[MediaCodecAdapter](MediaCodecAdapter.html "interface in com.google.android.exoplayer2.mediacodec")
Deprecated. com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.
A MediaCodecAdapter that operates the underlying MediaCodec in synchronous mode.
Nested Classes | Modifier and Type | Class | Description |
| --- | --- | --- |
| static class | SynchronousMediaCodecAdapter.Factory |
Deprecated.
A factory for SynchronousMediaCodecAdapter instances.
|
-
MediaCodecAdapter.Configuration, MediaCodecAdapter.OnFrameRenderedListener
All Methods Instance Methods Concrete Methods Deprecated Methods | Modifier and Type | Method | Description |
| --- | --- | --- |
| int | dequeueInputBufferIndex() |
Deprecated.
Returns the next available input buffer index from the underlying MediaCodec or MediaCodec.INFO_TRY_AGAIN_LATER if no such buffer exists.
|
| int | dequeueOutputBufferIndex(MediaCodec.BufferInfo bufferInfo) |
Deprecated.
Returns the next available output buffer index from the underlying MediaCodec.
|
| void | flush() |
Deprecated.
Flushes the adapter and the underlying MediaCodec.
|
| ByteBuffer | getInputBuffer(int index) |
Deprecated.
Returns a writable ByteBuffer object for a dequeued input buffer index.
|
| PersistableBundle | getMetrics() |
Deprecated.
Returns metrics data about the current codec instance.
|
| ByteBuffer | getOutputBuffer(int index) |
Deprecated.
Returns a read-only ByteBuffer for a dequeued output buffer index.
|
| MediaFormat | getOutputFormat() |
Deprecated.
Gets the MediaFormat that was output from the MediaCodec.
|
| boolean | needsReconfiguration() |
Deprecated.
Whether the adapter needs to be reconfigured before it is used.
|
| void | queueInputBuffer(int index, int offset, int size, long presentationTimeUs, int flags) |
Deprecated.
Submit an input buffer for decoding.
|
| void | queueSecureInputBuffer(int index, int offset, CryptoInfo info, long presentationTimeUs, int flags) |
Deprecated.
Submit an input buffer that is potentially encrypted for decoding.
|
| void | release() |
Deprecated.
Releases the adapter and the underlying MediaCodec.
|
| void | releaseOutputBuffer(int index, boolean render) |
Deprecated.
Returns the buffer to the MediaCodec.
|
| void | releaseOutputBuffer(int index, long renderTimeStampNs) |
Deprecated.
Updates the output buffer's surface timestamp and sends it to the MediaCodec to render it on the output surface.
|
| void | setOnFrameRenderedListener(MediaCodecAdapter.OnFrameRenderedListener listener, Handler handler) |
Deprecated.
Registers a callback to be invoked when an output frame is rendered on the output surface.
|
| void | setOutputSurface(Surface surface) |
Deprecated.
Dynamically sets the output surface of a MediaCodec.
|
| void | setParameters(Bundle params) |
Deprecated.
Communicate additional parameter changes to the MediaCodec instance.
|
| void | setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingMode int scalingMode) |
Deprecated.
Specifies the scaling mode to use, if a surface was specified when the codec was created. |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
public boolean needsReconfiguration()
Deprecated.
Description copied from interface: MediaCodecAdapter
Whether the adapter needs to be reconfigured before it is used.
Specified by:needsReconfiguration in interface MediaCodecAdapter
-
public int dequeueInputBufferIndex()
Deprecated.
Description copied from interface: MediaCodecAdapter
Returns the next available input buffer index from the underlying MediaCodec or MediaCodec.INFO_TRY_AGAIN_LATER if no such buffer exists.
Specified by:dequeueInputBufferIndex in interface MediaCodecAdapter
-
public int dequeueOutputBufferIndex([MediaCodec.BufferInfo](https://developer.android.com/reference/android/media/MediaCodec.BufferInfo.html "class or interface in android.media")bufferInfo)
Deprecated.
Description copied from interface: MediaCodecAdapter
Returns the next available output buffer index from the underlying MediaCodec. If the next available output is a MediaFormat change, it will return MediaCodec.INFO_OUTPUT_FORMAT_CHANGED and you should call MediaCodecAdapter.getOutputFormat() to get the format. If there is no available output, this method will return MediaCodec.INFO_TRY_AGAIN_LATER.
Specified by:dequeueOutputBufferIndex in interface MediaCodecAdapter
-
public[MediaFormat](https://developer.android.com/reference/android/media/MediaFormat.html "class or interface in android.media")getOutputFormat()
Deprecated.
Description copied from interface: MediaCodecAdapter
Gets the MediaFormat that was output from the MediaCodec.
Call this method if a previous call to MediaCodecAdapter.dequeueOutputBufferIndex(android.media.MediaCodec.BufferInfo) returned MediaCodec.INFO_OUTPUT_FORMAT_CHANGED.
Specified by:getOutputFormat in interface MediaCodecAdapter
-
@Nullable
public[ByteBuffer](https://developer.android.com/reference/java/nio/ByteBuffer.html "class or interface in java.nio")getInputBuffer(int index)
Deprecated.
Description copied from interface: MediaCodecAdapter
Returns a writable ByteBuffer object for a dequeued input buffer index.
Specified by:getInputBuffer in interface MediaCodecAdapterSee Also:MediaCodec.getInputBuffer(int)
-
@Nullable
public[ByteBuffer](https://developer.android.com/reference/java/nio/ByteBuffer.html "class or interface in java.nio")getOutputBuffer(int index)
Deprecated.
Description copied from interface: MediaCodecAdapter
Returns a read-only ByteBuffer for a dequeued output buffer index.
Specified by:getOutputBuffer in interface MediaCodecAdapterSee Also:MediaCodec.getOutputBuffer(int)
-
public void queueInputBuffer(int index,
int offset,
int size,
long presentationTimeUs,
int flags)
Deprecated.
Description copied from interface: MediaCodecAdapter
Submit an input buffer for decoding.
The index must be an input buffer index that has been obtained from a previous call to MediaCodecAdapter.dequeueInputBufferIndex().
Specified by:queueInputBuffer in interface MediaCodecAdapterSee Also:MediaCodec.queueInputBuffer(int, int, int, long, int)
-
public void queueSecureInputBuffer(int index,
int offset,[CryptoInfo](../decoder/CryptoInfo.html "class in com.google.android.exoplayer2.decoder")info,
long presentationTimeUs,
int flags)
Deprecated.
Description copied from interface: MediaCodecAdapter
Submit an input buffer that is potentially encrypted for decoding.
The index must be an input buffer index that has been obtained from a previous call to MediaCodecAdapter.dequeueInputBufferIndex().
This method behaves like MediaCodec.queueSecureInputBuffer(int, int, android.media.MediaCodec.CryptoInfo, long, int), with the difference that info is of type CryptoInfo and not MediaCodec.CryptoInfo.
Specified by:queueSecureInputBuffer in interface MediaCodecAdapterSee Also:MediaCodec.queueSecureInputBuffer(int, int, android.media.MediaCodec.CryptoInfo, long, int)
-
public void releaseOutputBuffer(int index,
boolean render)
Deprecated.
Description copied from interface: MediaCodecAdapter
Returns the buffer to the MediaCodec. If the MediaCodec was configured with an output surface, setting render to true will first send the buffer to the output surface. The surface will release the buffer back to the codec once it is no longer used/displayed.
Specified by:releaseOutputBuffer in interface MediaCodecAdapterSee Also:MediaCodec.releaseOutputBuffer(int, boolean)
-
@RequiresApi(21)
public void releaseOutputBuffer(int index,
long renderTimeStampNs)
Deprecated.
Description copied from interface: MediaCodecAdapter
Updates the output buffer's surface timestamp and sends it to the MediaCodec to render it on the output surface. If the MediaCodec is not configured with an output surface, this call will simply return the buffer to the MediaCodec.
Specified by:releaseOutputBuffer in interface MediaCodecAdapterSee Also:MediaCodec.releaseOutputBuffer(int, long)
-
public void flush()
Deprecated.
Description copied from interface: MediaCodecAdapter
Flushes the adapter and the underlying MediaCodec.
Specified by:flush in interface MediaCodecAdapter
-
public void release()
Deprecated.
Description copied from interface: MediaCodecAdapter
Releases the adapter and the underlying MediaCodec.
Specified by:release in interface MediaCodecAdapter
-
@RequiresApi(23)
public void setOnFrameRenderedListener([MediaCodecAdapter.OnFrameRenderedListener](MediaCodecAdapter.OnFrameRenderedListener.html "interface in com.google.android.exoplayer2.mediacodec")listener,[Handler](https://developer.android.com/reference/android/os/Handler.html "class or interface in android.os")handler)
Deprecated.
Description copied from interface: MediaCodecAdapter
Registers a callback to be invoked when an output frame is rendered on the output surface.
Specified by:setOnFrameRenderedListener in interface MediaCodecAdapterSee Also:MediaCodec.setOnFrameRenderedListener(android.media.MediaCodec.OnFrameRenderedListener, android.os.Handler)
-
@RequiresApi(23)
public void setOutputSurface([Surface](https://developer.android.com/reference/android/view/Surface.html "class or interface in android.view")surface)
Deprecated.
Description copied from interface: MediaCodecAdapter
Dynamically sets the output surface of a MediaCodec.
Specified by:setOutputSurface in interface MediaCodecAdapterSee Also:MediaCodec.setOutputSurface(Surface)
-
@RequiresApi(19)
public void setParameters([Bundle](https://developer.android.com/reference/android/os/Bundle.html "class or interface in android.os")params)
Deprecated.
Description copied from interface: MediaCodecAdapter
Communicate additional parameter changes to the MediaCodec instance.
Specified by:setParameters in interface MediaCodecAdapterSee Also:MediaCodec.setParameters(Bundle)
-
public void setVideoScalingMode([@VideoScalingMode](../C.VideoScalingMode.html "annotation in com.google.android.exoplayer2")@com.google.android.exoplayer2.C.VideoScalingMode int scalingMode)
Deprecated.
Description copied from interface: MediaCodecAdapter
Specifies the scaling mode to use, if a surface was specified when the codec was created.
Specified by:setVideoScalingMode in interface MediaCodecAdapterSee Also:MediaCodec.setVideoScalingMode(int)
-
@RequiresApi(26)
public[PersistableBundle](https://developer.android.com/reference/android/os/PersistableBundle.html "class or interface in android.os")getMetrics()
Deprecated.
Description copied from interface: MediaCodecAdapter
Returns metrics data about the current codec instance.
Specified by:getMetrics in interface MediaCodecAdapterSee Also:MediaCodec.getMetrics()