docs/doc/reference/com/google/android/exoplayer2/effect/DefaultVideoFrameProcessor.Factory.html
Package com.google.android.exoplayer2.effect
All Implemented Interfaces:VideoFrameProcessor.FactoryEnclosing class:DefaultVideoFrameProcessor
public static final classDefaultVideoFrameProcessor.Factoryextends[Object](https://developer.android.com/reference/java/lang/Object.html "class or interface in java.lang")implements[VideoFrameProcessor.Factory](../util/VideoFrameProcessor.Factory.html "interface in com.google.android.exoplayer2.util")
A factory for DefaultVideoFrameProcessor instances.
Nested Classes | Modifier and Type | Class | Description |
| --- | --- | --- |
| static class | DefaultVideoFrameProcessor.Factory.Builder |
A builder for DefaultVideoFrameProcessor.Factory instances.
|
All Methods Instance Methods Concrete Methods | Modifier and Type | Method | Description |
| --- | --- | --- |
| DefaultVideoFrameProcessor | create(Context context, List<Effect> effects, DebugViewProvider debugViewProvider, ColorInfo inputColorInfo, ColorInfo outputColorInfo, boolean renderFramesAutomatically, Executor listenerExecutor, VideoFrameProcessor.Listener listener) |
Creates a new VideoFrameProcessor instance.
|
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
public[DefaultVideoFrameProcessor](DefaultVideoFrameProcessor.html "class in com.google.android.exoplayer2.effect")create([Context](https://developer.android.com/reference/android/content/Context.html "class or interface in android.content")context,[List](https://developer.android.com/reference/java/util/List.html "class or interface in java.util")<[Effect](../util/Effect.html "interface in com.google.android.exoplayer2.util")> effects,[DebugViewProvider](../util/DebugViewProvider.html "interface in com.google.android.exoplayer2.util")debugViewProvider,[ColorInfo](../video/ColorInfo.html "class in com.google.android.exoplayer2.video")inputColorInfo,[ColorInfo](../video/ColorInfo.html "class in com.google.android.exoplayer2.video")outputColorInfo,
boolean renderFramesAutomatically,[Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html "class or interface in java.util.concurrent")listenerExecutor,[VideoFrameProcessor.Listener](../util/VideoFrameProcessor.Listener.html "interface in com.google.android.exoplayer2.util")listener)
throws[VideoFrameProcessingException](../util/VideoFrameProcessingException.html "class in com.google.android.exoplayer2.util")
Creates a new VideoFrameProcessor instance.
All Effect instances must be GlEffect instances.
Using HDR inputColorInfo requires the EXT_YUV_target OpenGL extension.
Using HDR inputColorInfo or outputColorInfo requires OpenGL ES 3.0.
If outputting HDR content to a display, EGL_GL_COLORSPACE_BT2020_PQ_EXT is required, and outputColorInfo.colorTransfer must be C.COLOR_TRANSFER_ST2084.
Effects are applied on C.COLOR_RANGE_FULL colors with null ColorInfo.hdrStaticInfo. inputColorInfo's ColorInfo.hdrStaticInfo and outputColorInfo's ColorInfo.colorRange values are currently ignored, in favor of null and C.COLOR_RANGE_FULL, respectively.
If inputColorInfo or outputColorInfo ColorInfo.isTransferHdr(com.google.android.exoplayer2.video.ColorInfo) are HDR}, textures will use GLES30.GL_RGBA16F and GLES30.GL_HALF_FLOAT. Otherwise, textures will use GLES20.GL_RGBA and GLES20.GL_UNSIGNED_BYTE.
If inputColorInfo or outputColorInfo ColorInfo.isTransferHdr(com.google.android.exoplayer2.video.ColorInfo) are HDR}, color transfers must be enabled.
If outputColorInfo is HDR, the context will be configured with GlUtil.EGL_CONFIG_ATTRIBUTES_RGBA_1010102. Otherwise, the context will be configured with GlUtil.EGL_CONFIG_ATTRIBUTES_RGBA_8888.
If invoking the listener on DefaultVideoFrameProcessor's internal thread is desired, pass a direct listenerExecutor.
If texture output is set, VideoFrameProcessor.setOutputSurfaceInfo(com.google.android.exoplayer2.util.SurfaceInfo) and VideoFrameProcessor.renderOutputFrame(long) will be no-ops, and renderFramesAutomatically will behave as if it is set to true.
Specified by:create in interface VideoFrameProcessor.FactoryParameters:context - A Context.effects - The Effect instances to apply to each frame. Applied on the outputColorInfo's color space.debugViewProvider - A DebugViewProvider.inputColorInfo - The ColorInfo for the input frames.outputColorInfo - The ColorInfo for the output frames.renderFramesAutomatically - If true, the instance will render output frames to the output surface automatically as VideoFrameProcessor is done processing them. If false, the VideoFrameProcessor will block until VideoFrameProcessor.renderOutputFrame(long) is called, to render or drop the frame.listenerExecutor - The Executor on which the listener is invoked.listener - A VideoFrameProcessor.Listener.Returns:A new instance.Throws:VideoFrameProcessingException - If a problem occurs while creating the VideoFrameProcessor.