fm.liveswitch.vp9.Decoder Class Reference

A libvpx-based VP9 decoder. More...

Public Member Functions

 Decoder ()
 Initializes a new instance of the fm.liveswitch.vp9.Decoder class. More...
 
 Decoder (fm.liveswitch.IVideoOutput input)
 Initializes a new instance of the fm.liveswitch.vp9.Decoder class. More...
 
fm.liveswitch.vpx.Codec getCodec ()
 Gets the current codec. More...
 
String getLabel ()
 Gets a label that identifies this class. More...
 
- Public Member Functions inherited from fm.liveswitch.vpx.Decoder
 Decoder (fm.liveswitch.VideoFormat inputFormat)
 Initializes a new instance of the fm.liveswitch.vpx.Decoder class. More...
 
boolean getNeedsKeyFrame ()
 Gets a value indicating whether the decoder needs a keyframe. More...
 
- Public Member Functions inherited from fm.liveswitch.VideoDecoder
boolean getDelayDecodeOnPendingKeyFrame ()
 Gets a flag indicating whether decoding should be bypassed for incoming media packets when a key frame request has been made via a PLI message. More...
 
int getFrameHeight ()
 Gets the last frame height. More...
 
double getFrameRate ()
 Gets the current frame rate. More...
 
long getFramesDecoded ()
 Gets the number of decoded frames. More...
 
int getFrameWidth ()
 Gets the last frame width. More...
 
int getMaxInputBitrate ()
 Gets the maximum allowed input bitrate, in kbps. More...
 
int getMaxOutputBitrate ()
 Gets the maximum allowed output bitrate, in kbps. More...
 
int getMinInputBitrate ()
 Gets the minimum allowed input bitrate, in kbps. More...
 
int getMinOutputBitrate ()
 Gets the minimum allowed output bitrate, in kbps. More...
 
void setDelayDecodeOnPendingKeyFrame (boolean value)
 Sets a flag indicating whether decoding should be bypassed for incoming media packets when a key frame request has been made via a PLI message. More...
 
 VideoDecoder (fm.liveswitch.VideoFormat inputFormat, fm.liveswitch.VideoFormat outputFormat)
 Initializes a new instance of the fm.liveswitch.VideoDecoder class. More...
 
- Public Member Functions inherited from fm.liveswitch.VideoPipe
void addOnProcessSizeChange (fm.liveswitch.IAction1< fm.liveswitch.Size > value)
 Adds a handler that is raised when a frame is about to be processed with a size that does not match the prior frame. More...
 
void addOnRaiseSizeChange (fm.liveswitch.IAction1< fm.liveswitch.Size > value)
 Adds a handler that is raised when a frame is about to be raised with a size that does not match the prior frame. More...
 
String getContent ()
 Gets the content descriptor. More...
 
fm.liveswitch.EncodingInfo getMaxInputEncoding ()
 Gets the maximum allowed input encoding. More...
 
double getMaxInputFrameRate ()
 Gets the maximum allowed input frame-rate, in fps. More...
 
int getMaxInputHeight ()
 Gets the maximum allowed input height. More...
 
double getMaxInputScale ()
 Gets the maximum allowed input scale. More...
 
fm.liveswitch.Size getMaxInputSize ()
 Gets the maximum allowed input size. More...
 
int getMaxInputWidth ()
 Gets the maximum allowed input width. More...
 
fm.liveswitch.EncodingInfo getMaxOutputEncoding ()
 Gets the maximum allowed output encoding. More...
 
double getMaxOutputFrameRate ()
 Gets the maximum allowed output frame-rate, in fps. More...
 
int getMaxOutputHeight ()
 Gets the maximum allowed output height. More...
 
double getMaxOutputScale ()
 Gets the maximum allowed output scale. More...
 
fm.liveswitch.Size getMaxOutputSize ()
 Gets the maximum allowed output size. More...
 
int getMaxOutputWidth ()
 Gets the maximum allowed output width. More...
 
fm.liveswitch.EncodingInfo getMinInputEncoding ()
 Gets the minimum allowed input encoding. More...
 
double getMinInputFrameRate ()
 Gets the minimum allowed input frame-rate, in fps. More...
 
int getMinInputHeight ()
 Gets the minimum allowed input height. More...
 
double getMinInputScale ()
 Gets the minimum allowed input scale. More...
 
fm.liveswitch.Size getMinInputSize ()
 Gets the minimum allowed input size. More...
 
int getMinInputWidth ()
 Gets the minimum allowed input width. More...
 
fm.liveswitch.EncodingInfo getMinOutputEncoding ()
 Gets the minimum allowed output encoding. More...
 
double getMinOutputFrameRate ()
 Gets the minimum allowed output frame-rate, in fps. More...
 
int getMinOutputHeight ()
 Gets the minimum allowed output height. More...
 
double getMinOutputScale ()
 Gets the minimum allowed output scale. More...
 
fm.liveswitch.Size getMinOutputSize ()
 Gets the minimum allowed output size. More...
 
int getMinOutputWidth ()
 Gets the minimum allowed output width. More...
 
boolean getOverConstrainedFrameRate ()
 Gets whether the pipe frame-rate is over-constrained. More...
 
boolean getOverConstrainedHeight ()
 Gets whether the pipe height is over-constrained. More...
 
boolean getOverConstrainedInput ()
 Gets whether the input is over-contrained. More...
 
boolean getOverConstrainedInputFrameRate ()
 Gets whether the minimum allowed input frame-rate exceeds the maximum allowed input frame-rate. More...
 
boolean getOverConstrainedInputHeight ()
 Gets whether the minimum allowed input height exceeds the maximum allowed input height. More...
 
boolean getOverConstrainedInputScale ()
 Gets whether the minimum allowed input scale exceeds the maximum allowed input scale. More...
 
boolean getOverConstrainedInputSize ()
 Gets whether the minimum allowed input size exceeds the maximum allowed input size. More...
 
boolean getOverConstrainedInputWidth ()
 Gets whether the minimum allowed input width exceeds the maximum allowed input width. More...
 
boolean getOverConstrainedOutput ()
 Gets whether the output is over-contrained. More...
 
boolean getOverConstrainedOutputFrameRate ()
 Gets whether the minimum allowed output frame-rate exceeds the maximum allowed output frame-rate. More...
 
boolean getOverConstrainedOutputHeight ()
 Gets whether the minimum allowed output height exceeds the maximum allowed output height. More...
 
boolean getOverConstrainedOutputScale ()
 Gets whether the minimum allowed output scale exceeds the maximum allowed output scale. More...
 
boolean getOverConstrainedOutputSize ()
 Gets whether the minimum allowed output size exceeds the maximum allowed output size. More...
 
boolean getOverConstrainedOutputWidth ()
 Gets whether the minimum allowed output width exceeds the maximum allowed output width. More...
 
boolean getOverConstrainedScale ()
 Gets whether the pipe scale is over-constrained. More...
 
boolean getOverConstrainedSize ()
 Gets whether the pipe size is over-constrained. More...
 
boolean getOverConstrainedWidth ()
 Gets whether the pipe width is over-constrained. More...
 
fm.liveswitch.EncodingInfo getTargetOutputEncoding ()
 Gets the target output encoding. More...
 
double getTargetOutputFrameRate ()
 Gets the target output frame-rate, in fps. More...
 
int getTargetOutputHeight ()
 Gets the target output height. More...
 
double getTargetOutputScale ()
 Gets the target output scale. More...
 
fm.liveswitch.Size getTargetOutputSize ()
 Gets the target output size. More...
 
int getTargetOutputWidth ()
 Gets the target output width. More...
 
fm.liveswitch.VideoType getVideoType ()
 Gets the video type. More...
 
void removeOnProcessSizeChange (fm.liveswitch.IAction1< fm.liveswitch.Size > value)
 Removes a handler that is raised when a frame is about to be processed with a size that does not match the prior frame. More...
 
void removeOnRaiseSizeChange (fm.liveswitch.IAction1< fm.liveswitch.Size > value)
 Removes a handler that is raised when a frame is about to be raised with a size that does not match the prior frame. More...
 
 VideoPipe (fm.liveswitch.VideoFormat inputFormat, fm.liveswitch.VideoFormat outputFormat)
 Initializes a new instance of the fm.liveswitch.VideoPipe class. More...
 
 VideoPipe (fm.liveswitch.VideoFormat outputFormat)
 Initializes a new instance of the fm.liveswitch.VideoPipe class. More...
 
- Public Member Functions inherited from fm.liveswitch.Dynamic
java.util.HashMap< String, Object > getDynamicProperties ()
 Gets all dynamic properties on this instance. More...
 
Object getDynamicValue (String key)
 Gets a property value from the local cache. More...
 
void setDynamicValue (String key, Object value)
 Sets a property value in the local cache. More...
 
boolean unsetDynamicValue (String key)
 Removes a property value from the local cache. More...
 
- Public Member Functions inherited from fm.liveswitch.IElement
abstract String getExternalId ()
 Gets the external identifier. More...
 
abstract String getId ()
 Gets the identifier. More...
 
abstract String getPipelineJson ()
 Gets the pipeline JSON with this as the central point. More...
 
abstract void setExternalId (String value)
 Sets the external identifier. More...
 
- Public Member Functions inherited from fm.liveswitch.IMediaElement
abstract boolean destroy ()
 Destroys this instance. More...
 
abstract boolean getDeactivated ()
 Gets a value indicating whether this instance is deactivated. More...
 
abstract boolean getDisabled ()
 Gets a value indicating whether this instance is disabled. More...
 
abstract boolean getMuted ()
 Gets a value indicating whether this instance is muted. More...
 
abstract boolean getPaused ()
 Gets a value indicating whether this instance is paused. More...
 
abstract boolean getPersistent ()
 Gets a value indicating whether this instance is persistent. More...
 
abstract void setDeactivated (boolean value)
 Sets a value indicating whether this instance is deactivated. More...
 
abstract void setMuted (boolean value)
 Sets a value indicating whether this instance is muted. More...
 

Protected Member Functions

boolean isKeyFrame (fm.liveswitch.DataBuffer dataBuffer)
 Determines whether a data buffer represents a keyframe. More...
 
- Protected Member Functions inherited from fm.liveswitch.vpx.Decoder
void doDestroy ()
 Destroys this instance. More...
 
void doProcessFrame (fm.liveswitch.VideoFrame frame, fm.liveswitch.VideoBuffer inputBuffer)
 Processes a frame. More...
 
- Protected Member Functions inherited from fm.liveswitch.VideoDecoder
void doProcessTrackStatsFromInput (fm.liveswitch.MediaTrackStats trackStats)
 Process track stats from an input. More...
 
boolean getDelayDecode ()
 Gets a value indicating whether decoding should be delayed. More...
 
void raiseFrame (fm.liveswitch.VideoFrame frame)
 Raises a frame. More...
 
void sendKeyFrameRequest (String reason)
 Sends a key-frame request. More...
 
- Protected Member Functions inherited from fm.liveswitch.VideoPipe
fm.liveswitch.VideoFrame createFrame (fm.liveswitch.VideoBuffer buffer)
 Creates a frame. More...
 
fm.liveswitch.IVideoInputCollection createInputCollection (fm.liveswitch.IVideoOutput output)
 Creates an input collection. More...
 
fm.liveswitch.IVideoOutputCollection createOutputCollection (fm.liveswitch.IVideoInput input)
 Creates an output collection. More...
 
void doPreProcessFrame (fm.liveswitch.VideoFrame frame, fm.liveswitch.VideoBuffer inputBuffer)
 Pre-processes a frame. More...
 
boolean outputCanProcessFrame (fm.liveswitch.IVideoInput output)
 Determines whether an output can process a frame from this pipe. More...
 
void setMaxInputEncoding (fm.liveswitch.EncodingInfo value)
 Sets the maximum allowed input encoding. More...
 
void setMaxInputFrameRate (double value)
 Sets the maximum allowed input frame-rate, in fps. More...
 
void setMaxInputScale (double value)
 Sets the maximum allowed input scale. More...
 
void setMaxInputSize (fm.liveswitch.Size value)
 Sets the maximum allowed input size. More...
 
void setMaxOutputEncoding (fm.liveswitch.EncodingInfo value)
 Sets the maximum allowed output encoding. More...
 
void setMaxOutputFrameRate (double value)
 Sets the maximum allowed output frame-rate, in fps. More...
 
void setMaxOutputScale (double value)
 Sets the maximum allowed output scale. More...
 
void setMaxOutputSize (fm.liveswitch.Size value)
 Sets the maximum allowed output size. More...
 
void setMinInputEncoding (fm.liveswitch.EncodingInfo value)
 Sets the minimum allowed input encoding. More...
 
void setMinInputFrameRate (double value)
 Sets the minimum allowed input frame-rate, in fps. More...
 
void setMinInputScale (double value)
 Sets the minimum allowed input scale. More...
 
void setMinInputSize (fm.liveswitch.Size value)
 Sets the minimum allowed input size. More...
 
void setMinOutputEncoding (fm.liveswitch.EncodingInfo value)
 Sets the minimum allowed output encoding. More...
 
void setMinOutputFrameRate (double value)
 Sets the minimum allowed output frame-rate, in fps. More...
 
void setMinOutputScale (double value)
 Sets the minimum allowed output scale. More...
 
void setMinOutputSize (fm.liveswitch.Size value)
 Sets the minimum allowed output size. More...
 
void setTargetOutputEncoding (fm.liveswitch.EncodingInfo value)
 Sets the target output encoding. More...
 
void setTargetOutputFrameRate (double value)
 Sets the target output frame-rate, in fps. More...
 
void setTargetOutputScale (double value)
 Sets the target output scale. More...
 
void setTargetOutputSize (fm.liveswitch.Size value)
 Sets the target output size. More...
 
void setVideoType (fm.liveswitch.VideoType value)
 Sets the video type. More...
 
- Protected Member Functions inherited from fm.liveswitch.Dynamic
 Dynamic ()
 
- Protected Member Functions inherited from fm.liveswitch.Serializable
boolean getIsDirty ()
 Gets a value indicating whether this instance is dirty. More...
 
 Serializable ()
 Initializes a new instance of the fm.liveswitch.Serializable class. More...
 
void setIsDirty (boolean value)
 Sets a value indicating whether this instance is dirty. More...
 

Detailed Description

A libvpx-based VP9 decoder.

Constructor & Destructor Documentation

◆ Decoder() [1/2]

fm.liveswitch.vp9.Decoder.Decoder ( )

Initializes a new instance of the fm.liveswitch.vp9.Decoder class.

◆ Decoder() [2/2]

fm.liveswitch.vp9.Decoder.Decoder ( fm.liveswitch.IVideoOutput  input)

Initializes a new instance of the fm.liveswitch.vp9.Decoder class.

Parameters
inputThe input.

Member Function Documentation

◆ getCodec()

fm.liveswitch.vpx.Codec fm.liveswitch.vp9.Decoder.getCodec ( )

Gets the current codec.

Reimplemented from fm.liveswitch.vpx.Decoder.

◆ getLabel()

String fm.liveswitch.vp9.Decoder.getLabel ( )

Gets a label that identifies this class.

Implements fm.liveswitch.IMediaElement.

◆ isKeyFrame()

boolean fm.liveswitch.vp9.Decoder.isKeyFrame ( fm.liveswitch.DataBuffer  dataBuffer)
protected

Determines whether a data buffer represents a keyframe.

Parameters
dataBufferThe data buffer.

Reimplemented from fm.liveswitch.VideoDecoder.