fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment > Class Template Referenceabstract

A video depacketizer. More...

Public Member Functions

boolean getDelayDepacketizeOnPendingKeyFrame ()
 Gets a flag indicating whether depacketizing should be bypassed for incoming media packets when a key frame request has been made via a PLI message. More...
 
long getFramesCorrupted ()
 Gets the number of corrupted frames. More...
 
long getFramesDropped ()
 Gets the number of dropped frames. More...
 
long getFramesReceived ()
 Gets the number of received frames. More...
 
void setDelayDepacketizeOnPendingKeyFrame (boolean value)
 Sets a flag indicating whether depacketizing should be bypassed for incoming media packets when a key frame request has been made via a PLI message. More...
 
 VideoDepacketizer (fm.liveswitch.VideoFormat format)
 Initializes a new instance of the fm.liveswitch.VideoDepacketizer class. More...
 
 VideoDepacketizer (fm.liveswitch.IVideoOutput input)
 Initializes a new instance of the fm.liveswitch.VideoDepacketizer class. More...
 
 VideoDepacketizer (fm.liveswitch.VideoFormat inputFormat, fm.liveswitch.VideoFormat outputFormat)
 Initializes a new instance of the fm.liveswitch.VideoDepacketizer 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 String getLabel ()
 Gets a label that identifies this instance. 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

abstract TFragment doCreateFragment (fm.liveswitch.RtpPacketHeader header, fm.liveswitch.DataBuffer dataBuffer)
 Creates a fragment from a data buffer. More...
 
void doDestroy ()
 Destroys this instance. More...
 
void doProcessFrame (fm.liveswitch.VideoFrame frame, fm.liveswitch.VideoBuffer inputBuffer)
 Processes a frame. More...
 
void doProcessTrackStatsFromInput (fm.liveswitch.MediaTrackStats trackStats)
 Process track stats from an input. More...
 
boolean getAllowDiagnosticTimer ()
 Gets whether this pipe is allowed to be timed. More...
 
boolean getDelayDepacketize ()
 Gets a value indicating whether depacketizing should be delayed. More...
 
boolean isGapAllowed (TFragment fragment, TFragment lastFragment)
 Determines whether a gap between two fragments is allowed. More...
 
abstract boolean isKeyFrame (fm.liveswitch.DataBuffer inputBuffer)
 Determines whether a buffer represents the start of a keyframe. 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 raiseFrame (fm.liveswitch.VideoFrame frame)
 Raises a frame. 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 video depacketizer.

Constructor & Destructor Documentation

◆ VideoDepacketizer() [1/3]

Initializes a new instance of the fm.liveswitch.VideoDepacketizer class.

Parameters
formatThe format.

◆ VideoDepacketizer() [2/3]

Initializes a new instance of the fm.liveswitch.VideoDepacketizer class.

Parameters
inputThe input.

◆ VideoDepacketizer() [3/3]

Initializes a new instance of the fm.liveswitch.VideoDepacketizer class.

Parameters
inputFormatThe input format.
outputFormatThe output format.

Member Function Documentation

◆ doCreateFragment()

abstract TFragment fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.doCreateFragment ( fm.liveswitch.RtpPacketHeader  header,
fm.liveswitch.DataBuffer  dataBuffer 
)
abstractprotected

Creates a fragment from a data buffer.

Parameters
headerThe RTP header for this packet.
dataBufferThe data buffer.
Returns
A fragment.

◆ doDestroy()

void fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.doDestroy ( )
protected

Destroys this instance.

◆ doProcessFrame()

void fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.doProcessFrame ( fm.liveswitch.VideoFrame  frame,
fm.liveswitch.VideoBuffer  inputBuffer 
)
protected

Processes a frame.

Parameters
frameThe frame.
inputBufferThe input buffer.

◆ doProcessTrackStatsFromInput()

void fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.doProcessTrackStatsFromInput ( fm.liveswitch.MediaTrackStats  trackStats)
protected

Process track stats from an input.

Parameters
trackStatsThe track stats.

◆ getAllowDiagnosticTimer()

boolean fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.getAllowDiagnosticTimer ( )
protected

Gets whether this pipe is allowed to be timed.

◆ getDelayDepacketize()

boolean fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.getDelayDepacketize ( )
protected

Gets a value indicating whether depacketizing should be delayed.

◆ getDelayDepacketizeOnPendingKeyFrame()

boolean fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.getDelayDepacketizeOnPendingKeyFrame ( )

Gets a flag indicating whether depacketizing should be bypassed for incoming media packets when a key frame request has been made via a PLI message.

Default is true.

◆ getFramesCorrupted()

long fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.getFramesCorrupted ( )

Gets the number of corrupted frames.

◆ getFramesDropped()

long fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.getFramesDropped ( )

Gets the number of dropped frames.

◆ getFramesReceived()

long fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.getFramesReceived ( )

Gets the number of received frames.

◆ isGapAllowed()

boolean fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.isGapAllowed ( TFragment  fragment,
TFragment  lastFragment 
)
protected

Determines whether a gap between two fragments is allowed.

Parameters
fragmentThe fragment.
lastFragmentThe last fragment.
Returns
true
if the gap is allowed; otherwise,
false
.

◆ isKeyFrame()

abstract boolean fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.isKeyFrame ( fm.liveswitch.DataBuffer  inputBuffer)
abstractprotected

Determines whether a buffer represents the start of a keyframe.

Parameters
inputBufferThe buffer.
Returns
true
if the buffer represents the start of a keyframe; otherwise,
false
.

◆ sendKeyFrameRequest()

void fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.sendKeyFrameRequest ( String  reason)
protected

Sends a key-frame request.

◆ setDelayDepacketizeOnPendingKeyFrame()

void fm.liveswitch.VideoDepacketizer< TFragment extends fm.liveswitch.VideoFragment >.setDelayDepacketizeOnPendingKeyFrame ( boolean  value)

Sets a flag indicating whether depacketizing should be bypassed for incoming media packets when a key frame request has been made via a PLI message.

Default is true.