Package com.opentok.android
Class BaseVideoCapturer
- java.lang.Object
-
- com.opentok.android.BaseVideoCapturer
-
public abstract class BaseVideoCapturer extends java.lang.ObjectDefines a video capturer to be used by aPublisherKitobject.- See Also:
PublisherKit.getCapturer()
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBaseVideoCapturer.CaptureSettingsDefines the capture settings for a video capturer.static interfaceBaseVideoCapturer.CaptureSwitchAn interface for defining how theBaseVideoCapturer.CaptureSwitch.cycleCamera()method of a Publisher object that implements a custom video capturer.static classBaseVideoCapturer.VideoContentHintDefines the content hint settings for a video capturer.
-
Field Summary
Fields Modifier and Type Field Description static intABGRDefines the value for the ABGR pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intARGBDefines the value for the ARGB pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intBGRADefines the value for the BGRA pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intMJPEGDefines the value for the MJPEG pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intNV12Defines the value for the NV12 pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intNV21Defines the value for the NV21 pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intRGBDefines the value for the RGB pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intRGBADefines the value for the RGBA pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intUYVYDefines the value for the UYVY pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intYUV420PDefines the value for the YUV420P pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.static intYUY2Defines the value for the YUY2 pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.
-
Constructor Summary
Constructors Constructor Description BaseVideoCapturer()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voiddestroy()Destroys the BaseVideoCapturer object.abstract BaseVideoCapturer.CaptureSettingsgetCaptureSettings()Returns the settings for the video capturer.BaseVideoCapturer.VideoContentHintgetVideoContentHint()Returns the video content hint setting.abstract voidinit()Initializes the video capturer.abstract booleanisCaptureStarted()Whether video is being captured (true) or not (false).abstract voidonPause()Call this method when the activity pauses.voidonRestart()Call this method when the activity is restarted.abstract voidonResume()Call this method when the activity resumes.voidonStop()Call this method when the activity stops.voidprovideBufferFrame(java.nio.ByteBuffer buffer, int format, int width, int height, int rotation, boolean mirrorX)Provide a frame of video as a byte buffer.voidprovideBufferFrame(java.nio.ByteBuffer buffer, int format, int width, int height, int rotation, boolean mirrorX, byte[] metadata)Provide a frame of video as a byte buffer.voidprovideBufferFramePlanar(java.nio.ByteBuffer yplane, java.nio.ByteBuffer uplane, java.nio.ByteBuffer vplane, int yPixelStride, int yRowStride, int uPixelStride, int uRowStride, int vPixelStride, int vRowStride, int width, int height, int rotation, boolean mirrorX)Provide a frame of video as 3 bytebuffer planes.voidprovideBufferFramePlanar(java.nio.ByteBuffer yplane, java.nio.ByteBuffer uplane, java.nio.ByteBuffer vplane, int yPixelStride, int yRowStride, int uPixelStride, int uRowStride, int vPixelStride, int vRowStride, int width, int height, int rotation, boolean mirrorX, byte[] metadata)Provide a frame of video as 3 bytebuffer planes.voidprovideByteArrayFrame(byte[] data, int format, int width, int height, int rotation, boolean mirrorX)Provide a frame of video as a byte array.voidprovideByteArrayFrame(byte[] data, int format, int width, int height, int rotation, boolean mirrorX, byte[] metadata)Provide a frame of video as a byte array.voidprovideIntArrayFrame(int[] data, int format, int width, int height, int rotation, boolean mirrorX)Provide a frame of video as an array of integers.voidprovideIntArrayFrame(int[] data, int format, int width, int height, int rotation, boolean mirrorX, byte[] metadata)Provide a frame of video as an array of integers.protected voidsetPublisherKit(PublisherKit publisher)voidsetVideoContentHint(BaseVideoCapturer.VideoContentHint contentHint)Sets the video content hint.abstract intstartCapture()Starts capturing video.abstract intstopCapture()Stops capturing video.
-
-
-
Field Detail
-
NV21
public static final int NV21
Defines the value for the NV21 pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
ARGB
public static final int ARGB
Defines the value for the ARGB pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
YUV420P
public static final int YUV420P
Defines the value for the YUV420P pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
NV12
public static final int NV12
Defines the value for the NV12 pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
YUY2
public static final int YUY2
Defines the value for the YUY2 pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
UYVY
public static final int UYVY
Defines the value for the UYVY pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
BGRA
public static final int BGRA
Defines the value for the BGRA pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
RGB
public static final int RGB
Defines the value for the RGB pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
MJPEG
public static final int MJPEG
Defines the value for the MJPEG pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
ABGR
public static final int ABGR
Defines the value for the ABGR pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
RGBA
public static final int RGBA
Defines the value for the RGBA pixel format used by theBaseVideoCapturer.CaptureSettings.formatproperty.- See Also:
- Constant Field Values
-
-
Method Detail
-
setVideoContentHint
public void setVideoContentHint(BaseVideoCapturer.VideoContentHint contentHint)
Sets the video content hint. Valid values are defined in theBaseVideoCapturer.VideoContentHintenum. The default setting isBaseVideoCapturer.VideoContentHint.NONE.- Parameters:
contentHint- The video content hint.
-
getVideoContentHint
public BaseVideoCapturer.VideoContentHint getVideoContentHint()
Returns the video content hint setting.- Returns:
- The video content hint setting.
- See Also:
BaseVideoCapturer.VideoContentHint
-
init
public abstract void init()
Initializes the video capturer.
-
startCapture
public abstract int startCapture()
Starts capturing video.
-
stopCapture
public abstract int stopCapture()
Stops capturing video.
-
destroy
public abstract void destroy()
Destroys the BaseVideoCapturer object.
-
isCaptureStarted
public abstract boolean isCaptureStarted()
Whether video is being captured (true) or not (false).
-
getCaptureSettings
public abstract BaseVideoCapturer.CaptureSettings getCaptureSettings()
Returns the settings for the video capturer.
-
onPause
public abstract void onPause()
Call this method when the activity pauses. When you override this method, implement code to respond to the activity being paused. For example, you may pause capturing audio or video.- See Also:
onResume()
-
onResume
public abstract void onResume()
Call this method when the activity resumes. When you override this method, implement code to respond to the activity being resumed. For example, you may resume capturing audio or video.- See Also:
onPause()
-
onStop
public void onStop()
Call this method when the activity stops. When you override this method, implement code to respond to the activity being stopped. For example, you may release all the resources this capture owns like the camera capturing session.- See Also:
onRestart()
-
onRestart
public void onRestart()
Call this method when the activity is restarted. When you override this method, implement code to respond to the activity being restarted. For example, you may restart video capturing.- See Also:
onStop()
-
provideByteArrayFrame
public void provideByteArrayFrame(byte[] data, int format, int width, int height, int rotation, boolean mirrorX)Provide a frame of video as a byte array.- Parameters:
data- The video frame data, as a byte array.format- The video format, as defined by theARGBandNV21constants.width- The width of the video frame, in pixels.height- The height of the video frame, in pixels.rotation- The rotation of the video frame. Valid values are defined by constants in the android.view.Surface class.mirrorX- Whether to mirror the video on the x-axis (true) or not (false).
-
provideByteArrayFrame
public void provideByteArrayFrame(byte[] data, int format, int width, int height, int rotation, boolean mirrorX, byte[] metadata)Provide a frame of video as a byte array.- Parameters:
data- The video frame data, as a byte array.format- The video format, as defined by theARGBandNV21constants.width- The width of the video frame, in pixels.height- The height of the video frame, in pixels.rotation- The rotation of the video frame. Valid values are defined by constants in the android.view.Surface class.mirrorX- Whether to mirror the video on the x-axis (true) or not (false).metadata- The video frame metadata to be associated with the frame, as a byte array. The maximum size allowed is 32 bytes.
-
provideIntArrayFrame
public void provideIntArrayFrame(int[] data, int format, int width, int height, int rotation, boolean mirrorX)Provide a frame of video as an array of integers.- Parameters:
data- The video frame data, as an array of integers.format- The video format, as defined by theARGBandNV21constants.width- The width of the video frame, in pixels.height- The height of the video frame, in pixels.rotation- The rotation of the video frame. Valid values are defined by constants in the android.view.Surface class.mirrorX- Whether to mirror the video on the x-axis (true) or not (false).
-
provideIntArrayFrame
public void provideIntArrayFrame(int[] data, int format, int width, int height, int rotation, boolean mirrorX, byte[] metadata)Provide a frame of video as an array of integers.- Parameters:
data- The video frame data, as an array of integers.format- The video format, as defined by theARGBandNV21constants.width- The width of the video frame, in pixels.height- The height of the video frame, in pixels.rotation- The rotation of the video frame. Valid values are defined by constants in the android.view.Surface class.mirrorX- Whether to mirror the video on the x-axis (true) or not (false).metadata- The video frame metadata to be associated with the frame, as a byte array. The maximum size allowed is 32 bytes.
-
provideBufferFrame
public void provideBufferFrame(java.nio.ByteBuffer buffer, int format, int width, int height, int rotation, boolean mirrorX)Provide a frame of video as a byte buffer.- Parameters:
buffer- The video frame data, as a byte buffer.format- The video format, as defined by theARGBandNV21constants.width- The width of the video frame, in pixels.height- The height of the video frame, in pixels.rotation- The rotation of the video frame. Valid values are defined by constants in the android.view.Surface class.mirrorX- Whether to mirror the video on the x-axis (true) or not (false).
-
provideBufferFrame
public void provideBufferFrame(java.nio.ByteBuffer buffer, int format, int width, int height, int rotation, boolean mirrorX, byte[] metadata)Provide a frame of video as a byte buffer. This version of the method includes ametadataparameter, for including frame metadata.- Parameters:
buffer- The video frame data, as a byte buffer.format- The video format, as defined by theARGBandNV21constants.width- The width of the video frame, in pixels.height- The height of the video frame, in pixels.rotation- The rotation of the video frame. Valid values are defined by constants in the android.view.Surface class.mirrorX- Whether to mirror the video on the x-axis (true) or not (false).metadata- The video frame metadata to be associated with the frame, as a byte array. The maximum size allowed is 32 bytes.
-
provideBufferFramePlanar
public void provideBufferFramePlanar(java.nio.ByteBuffer yplane, java.nio.ByteBuffer uplane, java.nio.ByteBuffer vplane, int yPixelStride, int yRowStride, int uPixelStride, int uRowStride, int vPixelStride, int vRowStride, int width, int height, int rotation, boolean mirrorX)Provide a frame of video as 3 bytebuffer planes.- Parameters:
yplane- The y video frame data, as a byte buffer.uplane- The u video frame data, as a byte buffer.vplane- The v video frame data, as a byte buffer.yPixelStride- The y pixel stride, in bytes.yRowStride- The y row stride, in bytes.uPixelStride- The u pixel stride, in bytes.uRowStride- The u row stride, in bytes.vPixelStride- The v pixel stride, in bytes.vRowStride- The v row stride, in bytes.width- The width of the video frame, in pixels.height- The height of the video frame, in pixels.rotation- The rotation of the video frame. Valid values are defined by constants in the android.view.Surface class.mirrorX- Whether to mirror the video on the x-axis (true) or not (false).
-
provideBufferFramePlanar
public void provideBufferFramePlanar(java.nio.ByteBuffer yplane, java.nio.ByteBuffer uplane, java.nio.ByteBuffer vplane, int yPixelStride, int yRowStride, int uPixelStride, int uRowStride, int vPixelStride, int vRowStride, int width, int height, int rotation, boolean mirrorX, byte[] metadata)Provide a frame of video as 3 bytebuffer planes. This version of the method includes ametadataparameter, for including frame metadata.- Parameters:
yplane- The y video frame data, as a byte buffer.uplane- The u video frame data, as a byte buffer.vplane- The v video frame data, as a byte buffer.yPixelStride- The y pixel stride, in bytes.yRowStride- The y row stride, in bytes.uPixelStride- The u pixel stride, in bytes.uRowStride- The u row stride, in bytes.vPixelStride- The v pixel stride, in bytes.vRowStride- The v row stride, in bytes.width- The width of the video frame, in pixels.height- The height of the video frame, in pixels.rotation- The rotation of the video frame. Valid values are defined by constants in the android.view.Surface class.mirrorX- Whether to mirror the video on the x-axis (true) or not (false).metadata- The video frame metadata to be associated with the frame, as a byte array. The maximum size allowed is 32 bytes.
-
setPublisherKit
protected void setPublisherKit(PublisherKit publisher)
-
-