Amazon Kinesis Webrtc C SDK
 
Loading...
Searching...
No Matches
Timeouts

Timeouts related macros. More...

Collaboration diagram for Timeouts:

Macros

#define SIGNALING_CREATE_TIMEOUT   (10 * HUNDREDS_OF_NANOS_IN_A_SECOND)
 
#define SIGNALING_CONNECT_STATE_TIMEOUT   (15 * HUNDREDS_OF_NANOS_IN_A_SECOND)
 
#define SIGNALING_DISCONNECT_STATE_TIMEOUT   (15 * HUNDREDS_OF_NANOS_IN_A_SECOND)
 
#define SIGNALING_REFRESH_ICE_CONFIG_STATE_TIMEOUT   (20 * HUNDREDS_OF_NANOS_IN_A_SECOND)
 
#define SIGNALING_CONNECT_TIMEOUT   (5 * HUNDREDS_OF_NANOS_IN_A_SECOND)
 
#define THREADPOOL_MIN_THREADS   3
 
#define THREADPOOL_MAX_THREADS   10
 
#define WEBRTC_THREADPOOL_MIN_THREADS_ENV_VAR   (PCHAR) "AWS_KVS_WEBRTC_THREADPOOL_MIN_THREADS"
 
#define WEBRTC_THREADPOOL_MAX_THREADS_ENV_VAR   (PCHAR) "AWS_KVS_WEBRTC_THREADPOOL_MAX_THREADS"
 
#define USE_DUAL_STACK_ENDPOINTS_ENV_VAR   ((PCHAR) "KVS_DUALSTACK_ENDPOINTS")
 
#define DISABLE_IPV4_TURN_ENV_VAR   ((PCHAR) "KVS_DISABLE_IPV4_TURN")
 
#define DISABLE_IPV6_TURN_ENV_VAR   ((PCHAR) "KVS_DISABLE_IPV6_TURN")
 
#define SIGNALING_SEND_TIMEOUT   (5 * HUNDREDS_OF_NANOS_IN_A_SECOND)
 
#define SIGNALING_DELETE_TIMEOUT   (5 * HUNDREDS_OF_NANOS_IN_A_SECOND)
 
#define SIGNALING_DEFAULT_MESSAGE_TTL_VALUE   (60 * HUNDREDS_OF_NANOS_IN_A_SECOND)
 
#define SIGNALING_JOIN_STORAGE_SESSION_WAIT_TIMEOUT   (6 * HUNDREDS_OF_NANOS_IN_A_SECOND)
 
#define MAX_OUTBOUND_FRAME_SIZE_BYTES   (5 * 1024 * 1024)
 
#define MAX_INBOUND_FRAME_SIZE_BYTES   (5 * 1024 * 1024)
 
#define DEFAULT_JITTER_BUFFER_MAX_LATENCY   (2000L * HUNDREDS_OF_NANOS_IN_A_MILLISECOND)
 

Detailed Description

Timeouts related macros.

Timeouts for different activities in the stack

Macro Definition Documentation

◆ DEFAULT_JITTER_BUFFER_MAX_LATENCY

#define DEFAULT_JITTER_BUFFER_MAX_LATENCY   (2000L * HUNDREDS_OF_NANOS_IN_A_MILLISECOND)

Default jitter buffer tolerated latency, frame will be dropped if it is out of window

◆ DISABLE_IPV4_TURN_ENV_VAR

#define DISABLE_IPV4_TURN_ENV_VAR   ((PCHAR) "KVS_DISABLE_IPV4_TURN")

Envs to disable IPv4 or IPv6 TURN relay candidates

◆ DISABLE_IPV6_TURN_ENV_VAR

#define DISABLE_IPV6_TURN_ENV_VAR   ((PCHAR) "KVS_DISABLE_IPV6_TURN")

◆ MAX_INBOUND_FRAME_SIZE_BYTES

#define MAX_INBOUND_FRAME_SIZE_BYTES   (5 * 1024 * 1024)

Upper bound in bytes on a single media frame reassembled from received packets. This is a safeguard for the receiving device, not an RTP limit. The jitter buffer keeps every packet of a frame until the frame is complete, and the per-transceiver frame buffer grows to the largest frame received and keeps that size. Larger frames are rejected and the stream continues with the next frame. Crossing the limit is logged with STATUS_RTP_INBOUND_FRAME_TOO_LARGE; no API returns it. See docs/FRAME_SIZE_LIMITS.md.

◆ MAX_OUTBOUND_FRAME_SIZE_BYTES

#define MAX_OUTBOUND_FRAME_SIZE_BYTES   (5 * 1024 * 1024)

Upper bound in bytes on a single media frame passed to writeFrame(). This is a safeguard for the sending device during media transmission, not an RTP limit. writeFrame() packetizes, encrypts and sends the whole frame while holding the SRTP session lock. The per-transceiver payload buffer also grows to the largest frame seen and keeps that size. Larger frames are rejected with STATUS_RTP_OUTBOUND_FRAME_TOO_LARGE and nothing is sent. Receivers can have a lower limit: libwebrtc browsers reassemble at most 2048 packets per frame (about 2.4 MB at the default MTU). See docs/FRAME_SIZE_LIMITS.md.

◆ SIGNALING_CONNECT_STATE_TIMEOUT

#define SIGNALING_CONNECT_STATE_TIMEOUT   (15 * HUNDREDS_OF_NANOS_IN_A_SECOND)

Default connect sync API timeout

◆ SIGNALING_CONNECT_TIMEOUT

#define SIGNALING_CONNECT_TIMEOUT   (5 * HUNDREDS_OF_NANOS_IN_A_SECOND)

Default signaling connection establishment timeout

◆ SIGNALING_CREATE_TIMEOUT

#define SIGNALING_CREATE_TIMEOUT   (10 * HUNDREDS_OF_NANOS_IN_A_SECOND)

Default signaling creation timeout

◆ SIGNALING_DEFAULT_MESSAGE_TTL_VALUE

#define SIGNALING_DEFAULT_MESSAGE_TTL_VALUE   (60 * HUNDREDS_OF_NANOS_IN_A_SECOND)

Default signaling message alive time

◆ SIGNALING_DELETE_TIMEOUT

#define SIGNALING_DELETE_TIMEOUT   (5 * HUNDREDS_OF_NANOS_IN_A_SECOND)

Default timeout for deleting a channel

◆ SIGNALING_DISCONNECT_STATE_TIMEOUT

#define SIGNALING_DISCONNECT_STATE_TIMEOUT   (15 * HUNDREDS_OF_NANOS_IN_A_SECOND)

Default disconnect sync API timeout

◆ SIGNALING_JOIN_STORAGE_SESSION_WAIT_TIMEOUT

#define SIGNALING_JOIN_STORAGE_SESSION_WAIT_TIMEOUT   (6 * HUNDREDS_OF_NANOS_IN_A_SECOND)

◆ SIGNALING_REFRESH_ICE_CONFIG_STATE_TIMEOUT

#define SIGNALING_REFRESH_ICE_CONFIG_STATE_TIMEOUT   (20 * HUNDREDS_OF_NANOS_IN_A_SECOND)

Default refresh ICE server config API timeout

◆ SIGNALING_SEND_TIMEOUT

#define SIGNALING_SEND_TIMEOUT   (5 * HUNDREDS_OF_NANOS_IN_A_SECOND)

Default timeout for sending data

◆ THREADPOOL_MAX_THREADS

#define THREADPOOL_MAX_THREADS   10

Default maximum number of threads in the threadpool for the SDK

◆ THREADPOOL_MIN_THREADS

#define THREADPOOL_MIN_THREADS   3

Default minimum number of threads in the threadpool for the SDK

◆ USE_DUAL_STACK_ENDPOINTS_ENV_VAR

#define USE_DUAL_STACK_ENDPOINTS_ENV_VAR   ((PCHAR) "KVS_DUALSTACK_ENDPOINTS")

Env to control whether to use dual stack endpoints, unset means false

◆ WEBRTC_THREADPOOL_MAX_THREADS_ENV_VAR

#define WEBRTC_THREADPOOL_MAX_THREADS_ENV_VAR   (PCHAR) "AWS_KVS_WEBRTC_THREADPOOL_MAX_THREADS"

Env to set maximum number of threads in the threadpool for the SDK

◆ WEBRTC_THREADPOOL_MIN_THREADS_ENV_VAR

#define WEBRTC_THREADPOOL_MIN_THREADS_ENV_VAR   (PCHAR) "AWS_KVS_WEBRTC_THREADPOOL_MIN_THREADS"

Env to set minimum number of threads in the threadpool for the KVS SDK