DebugViewShaderProgram
@UnstableApi
class DebugViewShaderProgram : GlShaderProgram
GlShaderProgram that renders to a SurfaceView provided by DebugViewProvider.
Summary
Public constructors |
|---|
DebugViewShaderProgram( |
Public functions |
|
|---|---|
Unit |
flush()Flushes the |
Unit |
queueInputFrame(Processes an input frame if possible. |
Unit |
release()Releases all resources. |
Unit |
releaseOutputFrame(outputTexture: GlTextureInfo!)Notifies the |
Unit |
setErrorListener(Sets the |
Unit |
setInputListener(inputListener: GlShaderProgram.InputListener!)Sets the |
Unit |
setOutputListener(outputListener: GlShaderProgram.OutputListener!)Sets the |
Unit |
Notifies the |
Public constructors
DebugViewShaderProgram
DebugViewShaderProgram(
context: Context!,
debugViewProvider: DebugViewProvider!,
outputColorInfo: ColorInfo!
)
Public functions
flush
fun flush(): Unit
Flushes the GlShaderProgram.
The GlShaderProgram should reclaim the ownership of its allocated textures, notify its InputListener about the flush event, and report its availability if necessary.
The implementation must not output frames until after this method returns.
queueInputFrame
fun queueInputFrame(
glObjectsProvider: GlObjectsProvider!,
inputTexture: GlTextureInfo!,
presentationTimeUs: Long
): Unit
Processes an input frame if possible.
The GlShaderProgram owns the accepted frame until it calls onInputFrameProcessed. The caller should not overwrite or release the texture before the GlShaderProgram has finished processing it.
This method must only be called when the GlShaderProgram can accept an input frame.
| Parameters | |
|---|---|
glObjectsProvider: GlObjectsProvider! |
The |
inputTexture: GlTextureInfo! |
A |
presentationTimeUs: Long |
The presentation timestamp of the input frame, in microseconds. |
release
fun release(): Unit
Releases all resources.
| Throws | |
|---|---|
androidx.media3.common.VideoFrameProcessingException |
If an error occurs while releasing resources. |
releaseOutputFrame
fun releaseOutputFrame(outputTexture: GlTextureInfo!): Unit
Notifies the GlShaderProgram that the frame on the given output texture is no longer used and can be overwritten.
setErrorListener
fun setErrorListener(
executor: Executor!,
errorListener: GlShaderProgram.ErrorListener!
): Unit
Sets the ErrorListener.
The ErrorListener is invoked on the provided Executor.
setInputListener
fun setInputListener(inputListener: GlShaderProgram.InputListener!): Unit
Sets the InputListener.
The InputListener should be invoked on the thread that owns the parent OpenGL context. For example, DefaultVideoFrameProcessor invokes the InputListener methods on its internal thread.
setOutputListener
fun setOutputListener(outputListener: GlShaderProgram.OutputListener!): Unit
Sets the OutputListener.
The OutputListener should be invoked on the thread that owns the parent OpenGL context. For example, DefaultVideoFrameProcessor invokes the OutputListener methods on its internal thread.
signalEndOfCurrentInputStream
fun signalEndOfCurrentInputStream(): Unit
Notifies the GlShaderProgram that no further input frames belonging to the current input stream will be queued.
Input frames that are queued after this method is called belong to a different input stream.