java.lang.Object

com.opentok.android.BaseVideoRenderer


public abstract class BaseVideoRenderer extends Object

Defines a video renderer to be used by a PublisherKit object or a SubscriberKit object.

See Also: : - PublisherKit.getRenderer() - PublisherKit.setRenderer(BaseVideoRenderer) - SubscriberKit.getRenderer() - SubscriberKit.setRenderer(BaseVideoRenderer)

Nested Class Summary

Nested Classes

Modifier and Type

Class

Description

final class

BaseVideoRenderer.Frame

Defines a frame of a video stream.

Field Summary

Fields

Modifier and Type

Field

Description

static final String

STYLE_VIDEO_FILL

A value for the STYLE_VIDEO_SCALE style, specifying that the video scales to fill the entire area of the renderer, with cropping as needed).

static final String

STYLE_VIDEO_FIT

A value for the STYLE_VIDEO_SCALE style, specifying that the video shrinks, as needed, so that the entire video is visible with pillarboxing.

static final String

STYLE_VIDEO_SCALE

A value for the key parameter of the setStyle(String key, String value), SubscriberKit.setStyle(String key, String value), and PublisherKit.setStyle(String key, String value) methods, used to determine the scaling of the video.

Constructor Summary

Constructors

Constructor

Description

BaseVideoRenderer()

Method Summary

All MethodsInstance MethodsAbstract Methods

Modifier and Type

Method

Description

abstract android.view.View

getView()

Returns the View containing the video.

abstract void

onFrame(BaseVideoRenderer.Frame frame)

Called when a frame is rendered for the stream.

abstract void

onPause()

Call this method when the activity pauses.

abstract void

onResume()

Call this method when the activity resumes.

abstract void

onVideoPropertiesChanged(boolean videoEnabled)

Called when the stream changes between having video and not having video (audio-only).

abstract void

setStyle(String key, String value)

Set a style for this video renderer.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

STYLE_VIDEO_SCALE

public static final String STYLE_VIDEO_SCALE

A value for the key parameter of the setStyle(String key, String value), SubscriberKit.setStyle(String key, String value), and PublisherKit.setStyle(String key, String value) methods, used to determine the scaling of the video. Valid values for this key are BaseVideoRenderer.STYLE_VIDEO_FILL (the video scales to fill the entire area of the renderer, with cropping as needed) and BaseVideoRenderer.STYLE_VIDEO_FIT (the video shrinks, as needed, so that the entire video is visible with pillarboxing).

See Also: : - [Constant Field Values]

STYLE_VIDEO_FILL

public static final String STYLE_VIDEO_FILL

A value for the STYLE_VIDEO_SCALE style, specifying that the video scales to fill the entire area of the renderer, with cropping as needed).

See Also: : - PublisherKit.setStyle(String key, String value) - SubscriberKit.setStyle(String key, String value) - [Constant Field Values]

STYLE_VIDEO_FIT

public static final String STYLE_VIDEO_FIT

A value for the STYLE_VIDEO_SCALE style, specifying that the video shrinks, as needed, so that the entire video is visible with pillarboxing.

See Also: : - PublisherKit.setStyle(String key, String value) - SubscriberKit.setStyle(String key, String value) - [Constant Field Values]

Constructor Details

BaseVideoRenderer

public BaseVideoRenderer()

Method Details

onFrame

public abstract void onFrame(BaseVideoRenderer.Frame frame)

Called when a frame is rendered for the stream. Do not call any OpenTok API methods (except those in the Frame class) on the same thread that invokes this callback. If you need to call an OpenTok API method (for example, PublisherKit or SubscriberKit methods), reschedule its execution to a different thread.

Parameters: : frame - The video frame. Call the getBuffer method of this object to get the frame data, which is in I420 format.

setStyle

public abstract void setStyle(String key, String value)

Set a style for this video renderer. By default, there is only one pre-defined style key: STYLE_VIDEO_SCALE. You can set a value for this key to determine the scaling of the video. The following values are supported:

  • STYLE_VIDEO_FILL — The video scales to fill the entire area of the renderer, with cropping as needed.
  • STYLE_VIDEO_FIT — The video shrinks, as needed, so that the entire video is visible, with pillarboxing (the default setting).

You can extend this class and override this method to support other styles and behaviors.

Parameters: : key - The style to set. : value - The value you are setting the style to.

onVideoPropertiesChanged

public abstract void onVideoPropertiesChanged(boolean videoEnabled)

Called when the stream changes between having video and not having video (audio-only).

Parameters: : videoEnabled - Whether the stream has video (true) or not (false).

getView

public abstract android.view.View getView()

Returns the View containing the video.

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 rendering 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 rendering audio or video.

See Also: : - onPause()