FMLiveSwitchVideoDepacketizer Class Reference

A video depacketizer. More...

Instance Methods

(bool) - delayDepacketize
 Gets a value indicating whether depacketizing should be delayed. More...
 
(bool) - delayDepacketizeOnPendingKeyFrame
 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...
 
(TFragment) - doCreateFragmentWithHeader:dataBuffer:
 Creates a fragment from a data buffer. More...
 
(void) - doDestroy
 Destroys this instance. More...
 
(void) - doProcessFrame:inputBuffer:
 Processes a frame. More...
 
(void) - doProcessTrackStatsFromInputWithTrackStats:
 Process track stats from an input. More...
 
(long long) - framesCorrupted
 Gets the number of corrupted frames. More...
 
(long long) - framesDropped
 Gets the number of dropped frames. More...
 
(long long) - framesReceived
 Gets the number of received frames. More...
 
(instancetype) - initWithFormat:
 Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class. More...
 
(instancetype) - initWithInput:
 Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class. More...
 
(instancetype) - initWithInputFormat:outputFormat:
 Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class. More...
 
(bool) - isGapAllowedWithFragment:lastFragment:
 Determines whether a gap between two fragments is allowed. More...
 
(bool) - isKeyFrameWithInputBuffer:
 Determines whether a buffer represents the start of a keyframe. More...
 
(void) - sendKeyFrameRequestWithReason:
 Sends a key-frame request. More...
 
(void) - setDelayDepacketizeOnPendingKeyFrame:
 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...
 

Class Methods

(FMLiveSwitchVideoDepacketizer *) + videoDepacketizerWithFormat:
 Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class. More...
 
(FMLiveSwitchVideoDepacketizer *) + videoDepacketizerWithInput:
 Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class. More...
 
(FMLiveSwitchVideoDepacketizer *) + videoDepacketizerWithInputFormat:outputFormat:
 Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class. More...
 

Protected Attributes

 __pad0__: FMLiveSwitchVideoPipe- (bool) allowDiagnosticTimer
 

Detailed Description

A video depacketizer.

Method Documentation

◆ delayDepacketize

- (bool) delayDepacketize

Gets a value indicating whether depacketizing should be delayed.

◆ delayDepacketizeOnPendingKeyFrame

- (bool) delayDepacketizeOnPendingKeyFrame

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.

◆ doCreateFragmentWithHeader:dataBuffer:

- (TFragment) doCreateFragmentWithHeader: (FMLiveSwitchRtpPacketHeader *)  header
dataBuffer: (FMLiveSwitchDataBuffer *)  dataBuffer 

Creates a fragment from a data buffer.

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

Implemented in FMLiveSwitchVp9Depacketizer, FMLiveSwitchVp8Depacketizer, FMLiveSwitchH265Depacketizer, FMLiveSwitchH264Depacketizer, and FMLiveSwitchBasicVideoDepacketizer.

◆ doDestroy

◆ doProcessFrame:inputBuffer:

- (void) doProcessFrame: (FMLiveSwitchVideoFrame *)  frame
inputBuffer: (FMLiveSwitchVideoBuffer *)  inputBuffer 

Processes a frame.

Parameters
frameThe frame.
inputBufferThe input buffer.

◆ doProcessTrackStatsFromInputWithTrackStats:

- (void) doProcessTrackStatsFromInputWithTrackStats: (FMLiveSwitchMediaTrackStats *)  trackStats

Process track stats from an input.

Parameters
trackStatsThe track stats.

◆ framesCorrupted

- (long long) framesCorrupted

Gets the number of corrupted frames.

◆ framesDropped

- (long long) framesDropped

Gets the number of dropped frames.

◆ framesReceived

- (long long) framesReceived

Gets the number of received frames.

◆ initWithFormat:

- (instancetype) initWithFormat: (FMLiveSwitchVideoFormat *)  format

Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class.

Parameters
formatThe format.

Implemented in FMLiveSwitchBasicVideoDepacketizer.

◆ initWithInput:

- (instancetype) initWithInput: (NSObject< FMLiveSwitchIVideoOutput > *)  input

Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class.

Parameters
inputThe input.

Implemented in FMLiveSwitchVp9Depacketizer, FMLiveSwitchVp8Depacketizer, FMLiveSwitchH264Depacketizer, and FMLiveSwitchBasicVideoDepacketizer.

◆ initWithInputFormat:outputFormat:

- (instancetype) initWithInputFormat: (FMLiveSwitchVideoFormat *)  inputFormat
outputFormat: (FMLiveSwitchVideoFormat *)  outputFormat 

Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class.

Parameters
inputFormatThe input format.
outputFormatThe output format.

◆ isGapAllowedWithFragment:lastFragment:

- (bool) isGapAllowedWithFragment: (TFragment)  fragment
lastFragment: (TFragment)  lastFragment 

Determines whether a gap between two fragments is allowed.

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

◆ isKeyFrameWithInputBuffer:

- (bool) isKeyFrameWithInputBuffer: (FMLiveSwitchDataBuffer *)  inputBuffer

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.

Implemented in FMLiveSwitchVp9Depacketizer, FMLiveSwitchVp8Depacketizer, FMLiveSwitchH265Depacketizer, FMLiveSwitchH264Depacketizer, and FMLiveSwitchBasicVideoDepacketizer.

◆ sendKeyFrameRequestWithReason:

- (void) sendKeyFrameRequestWithReason: (NSString *)  reason

Sends a key-frame request.

◆ setDelayDepacketizeOnPendingKeyFrame:

- (void) setDelayDepacketizeOnPendingKeyFrame: (bool)  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.

◆ videoDepacketizerWithFormat:

+ (FMLiveSwitchVideoDepacketizer*) videoDepacketizerWithFormat: (FMLiveSwitchVideoFormat *)  format

Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class.

Parameters
formatThe format.

◆ videoDepacketizerWithInput:

+ (FMLiveSwitchVideoDepacketizer*) videoDepacketizerWithInput: (NSObject< FMLiveSwitchIVideoOutput > *)  input

Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class.

Parameters
inputThe input.

◆ videoDepacketizerWithInputFormat:outputFormat:

+ (FMLiveSwitchVideoDepacketizer*) videoDepacketizerWithInputFormat: (FMLiveSwitchVideoFormat *)  inputFormat
outputFormat: (FMLiveSwitchVideoFormat *)  outputFormat 

Initializes a new instance of the FMLiveSwitchVideoDepacketizer`1 class.

Parameters
inputFormatThe input format.
outputFormatThe output format.

Member Data Documentation

◆ __pad0__

- __pad0__
protected