public class OffScreenGlThread extends java.lang.Object implements GlInterface, java.lang.Runnable, android.graphics.SurfaceTexture.OnFrameAvailableListener
Constructor and Description |
---|
OffScreenGlThread(android.content.Context context) |
Modifier and Type | Method and Description |
---|---|
void |
addMediaCodecSurface(android.view.Surface surface)
Set surface from MediaCodec class to Opengl.
|
void |
enableAA(boolean AAEnabled)
Enable or disable Anti aliasing (This method use FXAA).
|
android.view.Surface |
getSurface()
Get Surface generated by Opengl.
|
android.graphics.SurfaceTexture |
getSurfaceTexture()
Get SurfaceTexture generated by Opengl.
|
void |
init()
Initialize necessary classes.
|
boolean |
isAAEnabled()
Get Anti alias is enabled.
|
void |
onFrameAvailable(android.graphics.SurfaceTexture surfaceTexture) |
void |
removeMediaCodecSurface()
Remove surface generated from MediaCodec.
|
void |
run() |
void |
setCameraFace(boolean frontCamera)
INTERNAL METHOD.
|
void |
setEncoderSize(int width,
int height)
Set video encoder size use to Opengl
|
void |
setFilter(BaseFilterRender baseFilterRender)
Set filter in position 0.
|
void |
setFilter(int filterPosition,
BaseFilterRender baseFilterRender)
Set a filter to stream.
|
void |
setWaitTime(int waitTime)
INTERNAL METHOD.
|
void |
start(boolean isCamera2Landscape)
INTERNAL METHOD.
|
void |
stop()
INTERNAL METHOD.
|
void |
takePhoto(TakePhotoCallback takePhotoCallback)
Capture an Image from Opengl.
|
public void init()
GlInterface
init
in interface GlInterface
public void setEncoderSize(int width, int height)
GlInterface
setEncoderSize
in interface GlInterface
width
- video encoder width in pxheight
- video encoder height in pxpublic android.graphics.SurfaceTexture getSurfaceTexture()
GlInterface
getSurfaceTexture
in interface GlInterface
public android.view.Surface getSurface()
GlInterface
getSurface
in interface GlInterface
public void addMediaCodecSurface(android.view.Surface surface)
GlInterface
addMediaCodecSurface
in interface GlInterface
surface
- surface created from MediaCodec.public void removeMediaCodecSurface()
GlInterface
removeMediaCodecSurface
in interface GlInterface
public void takePhoto(TakePhotoCallback takePhotoCallback)
GlInterface
takePhoto
in interface GlInterface
takePhotoCallback
- uzLivestreamCallback where you will get your image like a bitmap.public void setFilter(int filterPosition, BaseFilterRender baseFilterRender)
GlInterface
com.pedro.encoder.input.gl.render.filters
or create
your own filter if you extends from BaseFilterRender
setFilter
in interface GlInterface
baseFilterRender
- filter to set. You can modify parameters to filter after set it to stream.public void setFilter(BaseFilterRender baseFilterRender)
GlInterface
setFilter
in interface GlInterface
baseFilterRender
- filter to set. You can modify parameters to filter after set it to stream.public void enableAA(boolean AAEnabled)
GlInterface
enableAA
in interface GlInterface
AAEnabled
- true is AA enabled, false is AA disabled. False by default.public void setCameraFace(boolean frontCamera)
GlInterface
Used to notify Opengl if you change to front camera for image rotation.
setCameraFace
in interface GlInterface
frontCamera
- true if you are using front camera, false if you are using back camera.public boolean isAAEnabled()
GlInterface
isAAEnabled
in interface GlInterface
public void setWaitTime(int waitTime)
GlInterface
Set wait time for next frame to OpenglView, LightOpenglView or OffScreenGlThread.
setWaitTime
in interface GlInterface
waitTime
- time in millisecondspublic void start(boolean isCamera2Landscape)
GlInterface
Start Opengl rendering.
start
in interface GlInterface
isCamera2Landscape
- true if you start stream with device in landscape and with camera2 to fix orientation error.public void stop()
GlInterface
Stop Opengl rendering.
stop
in interface GlInterface
public void run()
run
in interface java.lang.Runnable
public void onFrameAvailable(android.graphics.SurfaceTexture surfaceTexture)
onFrameAvailable
in interface android.graphics.SurfaceTexture.OnFrameAvailableListener