Package com.opentok.android
Class BaseVideoCapturer
java.lang.Object
com.opentok.android.BaseVideoCapturer
Defines a video capturer to be used by a
PublisherKit
object.- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Defines the capture settings for a video capturer.static interface
An interface for defining how theBaseVideoCapturer.CaptureSwitch.cycleCamera()
method of a Publisher object that implements a custom video capturer.static enum
Defines the content hint settings for a video capturer. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Defines the value for the ABGR pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.static final int
Defines the value for the ARGB pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.static final int
Defines the value for the BGRA pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.protected boolean
static final int
Defines the value for the MJPEG pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.static final int
Defines the value for the NV12 pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.static final int
Defines the value for the NV21 pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.static final int
Defines the value for the RGB pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.static final int
Defines the value for the RGBA pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.static final int
Defines the value for the UYVY pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.static final int
Defines the value for the YUV420P pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.static final int
Defines the value for the YUY2 pixel format used by theBaseVideoCapturer.CaptureSettings.format
property. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
destroy()
Destroys the BaseVideoCapturer object.abstract BaseVideoCapturer.CaptureSettings
Returns the settings for the video capturer.Returns the video content hint setting.abstract void
init()
Initializes the video capturer.abstract boolean
Whether video is being captured (true) or not (false).protected void
onCameraChanged
(int cameraID) protected void
onCaptureError
(Exception exp) abstract void
onPause()
Call this method when the activity pauses.void
Call this method when the activity is restarted.abstract void
onResume()
Call this method when the activity resumes.void
onStop()
Call this method when the activity stops.void
provideBufferFrame
(ByteBuffer buffer, int format, int width, int height, int rotation, boolean mirrorX) Provide a frame of video as a byte buffer.void
provideBufferFrame
(ByteBuffer buffer, int format, int width, int height, int rotation, boolean mirrorX, byte[] metadata) Provide a frame of video as a byte buffer.void
provideBufferFramePlanar
(ByteBuffer yplane, ByteBuffer uplane, 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.void
provideBufferFramePlanar
(ByteBuffer yplane, ByteBuffer uplane, 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.void
provideByteArrayFrame
(byte[] data, int format, int width, int height, int rotation, boolean mirrorX) Provide a frame of video as a byte array.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.void
provideIntArrayFrame
(int[] data, int format, int width, int height, int rotation, boolean mirrorX) Provide a frame of video as an array of integers.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.protected void
setPublisherKit
(PublisherKit publisher) void
setVideoContentHint
(BaseVideoCapturer.VideoContentHint contentHint) Sets the video content hint.abstract int
Starts capturing video.abstract int
Stops capturing video.
-
Field Details
-
frameMirrorX
protected boolean frameMirrorX -
NV21
public static final int NV21Defines the value for the NV21 pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
ARGB
public static final int ARGBDefines the value for the ARGB pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
YUV420P
public static final int YUV420PDefines the value for the YUV420P pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
NV12
public static final int NV12Defines the value for the NV12 pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
YUY2
public static final int YUY2Defines the value for the YUY2 pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
UYVY
public static final int UYVYDefines the value for the UYVY pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
BGRA
public static final int BGRADefines the value for the BGRA pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
RGB
public static final int RGBDefines the value for the RGB pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
MJPEG
public static final int MJPEGDefines the value for the MJPEG pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
ABGR
public static final int ABGRDefines the value for the ABGR pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
RGBA
public static final int RGBADefines the value for the RGBA pixel format used by theBaseVideoCapturer.CaptureSettings.format
property.- See Also:
-
-
Constructor Details
-
BaseVideoCapturer
public BaseVideoCapturer()
-
-
Method Details
-
setVideoContentHint
Sets the video content hint. Valid values are defined in theBaseVideoCapturer.VideoContentHint
enum. The default setting isBaseVideoCapturer.VideoContentHint.NONE
.- Parameters:
contentHint
- The video content hint.
-
getVideoContentHint
Returns the video content hint setting.- Returns:
- The video content hint setting.
- See Also:
-
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
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
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:
-
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
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:
-
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 theARGB
andNV21
constants.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 theARGB
andNV21
constants.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 theARGB
andNV21
constants.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 theARGB
andNV21
constants.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(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 theARGB
andNV21
constants.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(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 ametadata
parameter, for including frame metadata.- Parameters:
buffer
- The video frame data, as a byte buffer.format
- The video format, as defined by theARGB
andNV21
constants.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(ByteBuffer yplane, ByteBuffer uplane, 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(ByteBuffer yplane, ByteBuffer uplane, 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 ametadata
parameter, 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.
-
onCaptureError
-
onCameraChanged
protected void onCameraChanged(int cameraID) -
setPublisherKit
-