FMLiveSwitchNackConfig Class Reference

A NACK Config. More...

Instance Methods

(bool) - disableBuffering
 Gets a value indicating whether to disable support for Generic NACKs. More...
 
(instancetype) - init
 Initializes a new instance of the FMLiveSwitchNackConfig class. More...
 
(instancetype) - initWithSendBufferLength:receiveBufferLength:
 Initializes a new instance of the FMLiveSwitchNackConfig class. More...
 
(int) - receiveBufferLength
 Gets the number of packets to hold in the generic NACK buffer awaiting an earlier packet before releasing them. More...
 
(int) - sendBufferLength
 Gets the length of the send buffer. More...
 
(void) - setReceiveBufferLength:
 Sets the number of packets to hold in the generic NACK buffer awaiting an earlier packet before releasing them. More...
 
(void) - setSendBufferLength:
 Sets the length of the send buffer. More...
 

Class Methods

(FMLiveSwitchNackConfig *) + nackConfig
 Initializes a new instance of the FMLiveSwitchNackConfig class. More...
 
(FMLiveSwitchNackConfig *) + nackConfigWithSendBufferLength:receiveBufferLength:
 Initializes a new instance of the FMLiveSwitchNackConfig class. More...
 

Detailed Description

A NACK Config.

NackConfig is for enabling/configuring negative acknowledgement. Negative acknowledgements are used by media receivers to request that a media sender retransmit a packet. It is highly effective for video in low-latency networks since video is stateful and the cost of losing a packet is high. It is far less effective for audio, where any delay is especially harmful and the cost of losing a packet is not significant. Because of this, it is enabled by default for video and disabled by default for audio. You can modify the buffer size using NackConfig, but generally, it should be left with default values. The option to set these values will most likely be removed in a future release as our adaptive algorithms improve.

Method Documentation

◆ disableBuffering

- (bool) disableBuffering

Gets a value indicating whether to disable support for Generic NACKs.

◆ init

- (instancetype) init

Initializes a new instance of the FMLiveSwitchNackConfig class.

◆ initWithSendBufferLength:receiveBufferLength:

- (instancetype) initWithSendBufferLength: (int)  sendBufferLength
receiveBufferLength: (int)  receiveBufferLength 

Initializes a new instance of the FMLiveSwitchNackConfig class.

Parameters
sendBufferLengthLength of the send buffer.
receiveBufferLengthLength of the receive buffer.

◆ nackConfig

+ (FMLiveSwitchNackConfig*) nackConfig

Initializes a new instance of the FMLiveSwitchNackConfig class.

◆ nackConfigWithSendBufferLength:receiveBufferLength:

+ (FMLiveSwitchNackConfig*) nackConfigWithSendBufferLength: (int)  sendBufferLength
receiveBufferLength: (int)  receiveBufferLength 

Initializes a new instance of the FMLiveSwitchNackConfig class.

Parameters
sendBufferLengthLength of the send buffer.
receiveBufferLengthLength of the receive buffer.

◆ receiveBufferLength

- (int) receiveBufferLength

Gets the number of packets to hold in the generic NACK buffer awaiting an earlier packet before releasing them.

Defaults to 128.

◆ sendBufferLength

- (int) sendBufferLength

Gets the length of the send buffer.

◆ setReceiveBufferLength:

- (void) setReceiveBufferLength: (int)  value

Sets the number of packets to hold in the generic NACK buffer awaiting an earlier packet before releasing them.

Defaults to 128.

◆ setSendBufferLength:

- (void) setSendBufferLength: (int)  value

Sets the length of the send buffer.