fm.liveswitch.h264.Depacketizer Class Reference

An H.264 depacketizer. More...

Public Member Functions

 Depacketizer ()
 Initializes a new instance of the fm.liveswitch.h264.Depacketizer class. More...
 
 Depacketizer (fm.liveswitch.IVideoOutput input)
 Initializes a new instance of the fm.liveswitch.h264.Depacketizer class. More...
 
 Depacketizer (int packetizationMode)
 Initializes a new instance of the fm.liveswitch.h264.Depacketizer class. More...
 
 Depacketizer (String profile, String level, int packetizationMode)
 Initializes a new instance of the fm.liveswitch.h264.Depacketizer class. More...
 
 Depacketizer (fm.liveswitch.h264.ProfileLevelId profileLevelId, int packetizationMode)
 Initializes a new instance of the fm.liveswitch.h264.Depacketizer class. More...
 
String getLabel ()
 Gets a label that identifies this class. More...
 
int getPacketizationMode ()
 Gets the packetization mode. More...
 
- Public Member Functions inherited from fm.liveswitch.VideoDepacketizer< fm.liveswitch.h264.Fragment >
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...
 

Protected Member Functions

fm.liveswitch.h264.Fragment doCreateFragment (fm.liveswitch.RtpPacketHeader header, fm.liveswitch.DataBuffer dataBuffer)
 Creates a fragment from a data buffer. More...
 
void doDestroy ()
 Destroys this instance. More...
 
boolean isKeyFrame (fm.liveswitch.DataBuffer inputBuffer)
 Checks if the databuffer contains a keyframe. More...
 
void raiseFrame (fm.liveswitch.VideoFrame frame)
 Raises a frame. More...
 
- Protected Member Functions inherited from fm.liveswitch.VideoDepacketizer< fm.liveswitch.h264.Fragment >
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...
 

Detailed Description

An H.264 depacketizer.

Constructor & Destructor Documentation

◆ Depacketizer() [1/5]

fm.liveswitch.h264.Depacketizer.Depacketizer ( )

Initializes a new instance of the fm.liveswitch.h264.Depacketizer class.

◆ Depacketizer() [2/5]

fm.liveswitch.h264.Depacketizer.Depacketizer ( fm.liveswitch.IVideoOutput  input)

Initializes a new instance of the fm.liveswitch.h264.Depacketizer class.

Parameters
inputThe input.

◆ Depacketizer() [3/5]

fm.liveswitch.h264.Depacketizer.Depacketizer ( int  packetizationMode)

Initializes a new instance of the fm.liveswitch.h264.Depacketizer class.

Parameters
packetizationModeThe packetization mode.

◆ Depacketizer() [4/5]

fm.liveswitch.h264.Depacketizer.Depacketizer ( String  profile,
String  level,
int  packetizationMode 
)

Initializes a new instance of the fm.liveswitch.h264.Depacketizer class.

Parameters
profileThe profile.
levelThe level.
packetizationModeThe packetization mode.

◆ Depacketizer() [5/5]

fm.liveswitch.h264.Depacketizer.Depacketizer ( fm.liveswitch.h264.ProfileLevelId  profileLevelId,
int  packetizationMode 
)

Initializes a new instance of the fm.liveswitch.h264.Depacketizer class.

Parameters
profileLevelIdThe profile level ID.
packetizationModeThe packetization mode.

Member Function Documentation

◆ doCreateFragment()

fm.liveswitch.h264.Fragment fm.liveswitch.h264.Depacketizer.doCreateFragment ( fm.liveswitch.RtpPacketHeader  header,
fm.liveswitch.DataBuffer  dataBuffer 
)
protected

Creates a fragment from a data buffer.

Parameters
headerThe rtp header for this packet.
dataBufferThe data buffer.

◆ doDestroy()

void fm.liveswitch.h264.Depacketizer.doDestroy ( )
protected

Destroys this instance.

◆ getLabel()

String fm.liveswitch.h264.Depacketizer.getLabel ( )

Gets a label that identifies this class.

◆ getPacketizationMode()

int fm.liveswitch.h264.Depacketizer.getPacketizationMode ( )

Gets the packetization mode.

◆ isKeyFrame()

boolean fm.liveswitch.h264.Depacketizer.isKeyFrame ( fm.liveswitch.DataBuffer  inputBuffer)
protected

Checks if the databuffer contains a keyframe.

Parameters
inputBufferVideoBuffer containing video data.

◆ raiseFrame()

void fm.liveswitch.h264.Depacketizer.raiseFrame ( fm.liveswitch.VideoFrame  frame)
protected

Raises a frame.

Parameters
frameThe frame.