public class EglRenderer extends java.lang.Object implements VideoRenderer.Callbacks, VideoSink
限定符和类型 | 类和说明 |
---|---|
static interface |
EglRenderer.FrameListener |
static class |
EglRenderer.RenderZone |
限定符和类型 | 字段和说明 |
---|---|
protected java.lang.String |
name |
构造器和说明 |
---|
EglRenderer(java.lang.String name)
Standard constructor.
|
限定符和类型 | 方法和说明 |
---|---|
void |
addFrameListener(EglRenderer.FrameListener listener,
float scale)
Register a callback to be invoked when a new video frame has been received.
|
void |
addFrameListener(EglRenderer.FrameListener listener,
float scale,
RendererCommon.GlDrawer drawerParam)
Register a callback to be invoked when a new video frame has been received.
|
void |
addFrameListener(EglRenderer.FrameListener listener,
float scale,
RendererCommon.GlDrawer drawerParam,
boolean applyFpsReduction)
Register a callback to be invoked when a new video frame has been received.
|
void |
clearImage()
Post a task to clear the surface to a transparent uniform color.
|
void |
clearImage(float r,
float g,
float b,
float a)
Post a task to clear the surface to a specific color.
|
void |
clearRenderZone() |
void |
createEglSurface(Surface surface) |
void |
createEglSurface(SurfaceTexture surfaceTexture) |
void |
disableFpsReduction() |
void |
init(EglBase.Context sharedContext,
int[] configAttributes,
RendererCommon.GlDrawer drawer)
Initialize this class, sharing resources with |sharedContext|.
|
void |
invalidDrawFrame(boolean invalid)
fix greenScreen
|
void |
onFrame(VideoFrame frame)
Implementations should call frame.retain() if they need to hold a reference to the frame after
this function returns.
|
void |
pauseVideo() |
void |
printStackTrace() |
void |
release()
Block until any pending frame is returned and all GL resources released, even if an interrupt
occurs.
|
void |
releaseEglSurface(java.lang.Runnable completionCallback)
Release EGL surface.
|
void |
removeFrameListener(EglRenderer.FrameListener listener)
Remove any pending callback that was added with addFrameListener.
|
void |
renderFrame(VideoRenderer.I420Frame frame) |
void |
setFpsReduction(float fps)
Limit render framerate.
|
void |
setLayoutAspectRatio(float layoutAspectRatio)
Set layout aspect ratio.
|
void |
setMirror(boolean mirror)
Set if the video stream should be mirrored or not.
|
void |
setRenderZone(EglRenderer.RenderZone zone) |
public EglRenderer(java.lang.String name)
public void init(@Nullable EglBase.Context sharedContext, int[] configAttributes, RendererCommon.GlDrawer drawer)
public void createEglSurface(Surface surface)
public void createEglSurface(SurfaceTexture surfaceTexture)
public void invalidDrawFrame(boolean invalid)
invalid
- public void release()
public void printStackTrace()
public void setMirror(boolean mirror)
public void setLayoutAspectRatio(float layoutAspectRatio)
public void setFpsReduction(float fps)
fps
- Limit render framerate to this value, or use Float.POSITIVE_INFINITY to disable fps
reduction.public void disableFpsReduction()
public void pauseVideo()
public void addFrameListener(EglRenderer.FrameListener listener, float scale)
listener
- The callback to be invoked. The callback will be invoked on the render thread.
It should be lightweight and must not call removeFrameListener.scale
- The scale of the Bitmap passed to the callback, or 0 if no Bitmap is
required.public void addFrameListener(EglRenderer.FrameListener listener, float scale, RendererCommon.GlDrawer drawerParam)
listener
- The callback to be invoked. The callback will be invoked on the render thread.
It should be lightweight and must not call removeFrameListener.scale
- The scale of the Bitmap passed to the callback, or 0 if no Bitmap is
required.drawer
- Custom drawer to use for this frame listener or null to use the default one.public void addFrameListener(EglRenderer.FrameListener listener, float scale, @Nullable RendererCommon.GlDrawer drawerParam, boolean applyFpsReduction)
listener
- The callback to be invoked. The callback will be invoked on the render thread.
It should be lightweight and must not call removeFrameListener.scale
- The scale of the Bitmap passed to the callback, or 0 if no Bitmap is
required.drawer
- Custom drawer to use for this frame listener or null to use the default one.applyFpsReduction
- This callback will not be called for frames that have been dropped by
FPS reduction.public void removeFrameListener(EglRenderer.FrameListener listener)
runnable
- The callback to remove.public void renderFrame(VideoRenderer.I420Frame frame)
renderFrame
在接口中 VideoRenderer.Callbacks
public void onFrame(VideoFrame frame)
VideoSink
public void releaseEglSurface(java.lang.Runnable completionCallback)
public void clearImage()
public void clearImage(float r, float g, float b, float a)
public void setRenderZone(EglRenderer.RenderZone zone)
public void clearRenderZone()