FFmpeg
Data Fields
WHIPContext Struct Reference

Data Fields

AVClassav_class
 
enum WHIPState state
 
AVCodecParametersaudio_par
 
AVCodecParametersvideo_par
 
int h264_annexb_insert_sps_pps
 The h264_mp4toannexb Bitstream Filter (BSF) bypasses the AnnexB packet; therefore, it is essential to insert the SPS and PPS before each IDR frame in such cases. More...
 
AVLFG rnd
 
char ice_ufrag_local [9]
 
char ice_pwd_local [33]
 
uint32_t audio_ssrc
 
uint32_t video_ssrc
 
uint32_t video_rtx_ssrc
 
uint16_t audio_first_seq
 
uint16_t video_first_seq
 
uint8_t audio_payload_type
 
uint8_t video_payload_type
 
uint8_t video_rtx_payload_type
 
char * sdp_offer
 This is the SDP offer generated by the muxer based on the codec parameters, DTLS, and ICE information. More...
 
int is_peer_ice_lite
 
uint64_t ice_tie_breaker
 
char * ice_ufrag_remote
 
char * ice_pwd_remote
 
char * ice_protocol
 This represents the ICE candidate protocol, priority, host and port. More...
 
char * ice_host
 
int ice_port
 
char * sdp_answer
 
char * whip_resource_url
 
int64_t whip_starttime
 
int64_t whip_init_time
 
int64_t whip_offer_time
 
int64_t whip_answer_time
 
int64_t whip_udp_time
 
int64_t whip_ice_time
 
int64_t whip_dtls_time
 
int64_t whip_srtp_time
 
int64_t whip_last_consent_tx_time
 
int64_t whip_last_consent_rx_time
 
char cert_buf [MAX_CERTIFICATE_SIZE]
 
char key_buf [MAX_CERTIFICATE_SIZE]
 
char * dtls_fingerprint
 
uint8_t dtls_srtp_materials [(DTLS_SRTP_KEY_LEN+DTLS_SRTP_SALT_LEN) *2]
 This represents the material used to build the SRTP master key. More...
 
char ssl_error_message [256]
 
URLContextdtls_uc
 
SRTPContext srtp_audio_send
 
SRTPContext srtp_video_send
 
SRTPContext srtp_video_rtx_send
 
SRTPContext srtp_rtcp_send
 
SRTPContext srtp_recv
 
URLContextudp
 
char buf [MAX_UDP_BUFFER_SIZE]
 
int handshake_timeout
 
int pkt_size
 The size of RTP packet, should generally be set to MTU. More...
 
int buffer_size
 
char * authorization
 The optional Bearer token for WHIP Authorization. More...
 
char * cert_file
 
char * key_file
 

Detailed Description

Definition at line 214 of file whip.c.

Field Documentation

◆ av_class

AVClass* WHIPContext::av_class

Definition at line 215 of file whip.c.

◆ state

enum WHIPState WHIPContext::state

◆ audio_par

AVCodecParameters* WHIPContext::audio_par

Definition at line 221 of file whip.c.

Referenced by generate_sdp_offer(), and parse_codec().

◆ video_par

AVCodecParameters* WHIPContext::video_par

Definition at line 222 of file whip.c.

Referenced by generate_sdp_offer(), and parse_codec().

◆ h264_annexb_insert_sps_pps

int WHIPContext::h264_annexb_insert_sps_pps

The h264_mp4toannexb Bitstream Filter (BSF) bypasses the AnnexB packet; therefore, it is essential to insert the SPS and PPS before each IDR frame in such cases.

Definition at line 229 of file whip.c.

Referenced by whip_check_bitstream(), and whip_write_packet().

◆ rnd

AVLFG WHIPContext::rnd

Definition at line 232 of file whip.c.

Referenced by generate_sdp_offer(), ice_create_request(), and initialize().

◆ ice_ufrag_local

char WHIPContext::ice_ufrag_local[9]

Definition at line 235 of file whip.c.

Referenced by generate_sdp_offer(), ice_create_request(), and ice_dtls_handshake().

◆ ice_pwd_local

char WHIPContext::ice_pwd_local[33]

Definition at line 236 of file whip.c.

Referenced by generate_sdp_offer(), and ice_create_response().

◆ audio_ssrc

uint32_t WHIPContext::audio_ssrc

Definition at line 238 of file whip.c.

Referenced by create_rtp_muxer(), and generate_sdp_offer().

◆ video_ssrc

uint32_t WHIPContext::video_ssrc

Definition at line 239 of file whip.c.

Referenced by create_rtp_muxer(), and generate_sdp_offer().

◆ video_rtx_ssrc

uint32_t WHIPContext::video_rtx_ssrc

Definition at line 240 of file whip.c.

Referenced by generate_sdp_offer().

◆ audio_first_seq

uint16_t WHIPContext::audio_first_seq

Definition at line 242 of file whip.c.

Referenced by create_rtp_muxer(), and initialize().

◆ video_first_seq

uint16_t WHIPContext::video_first_seq

Definition at line 243 of file whip.c.

Referenced by create_rtp_muxer(), and initialize().

◆ audio_payload_type

uint8_t WHIPContext::audio_payload_type

Definition at line 245 of file whip.c.

Referenced by create_rtp_muxer(), generate_sdp_offer(), and on_rtp_write_packet().

◆ video_payload_type

uint8_t WHIPContext::video_payload_type

Definition at line 246 of file whip.c.

Referenced by create_rtp_muxer(), generate_sdp_offer(), and on_rtp_write_packet().

◆ video_rtx_payload_type

uint8_t WHIPContext::video_rtx_payload_type

Definition at line 247 of file whip.c.

Referenced by generate_sdp_offer().

◆ sdp_offer

char* WHIPContext::sdp_offer

This is the SDP offer generated by the muxer based on the codec parameters, DTLS, and ICE information.

Definition at line 252 of file whip.c.

Referenced by exchange_sdp(), generate_sdp_offer(), parse_answer(), and whip_deinit().

◆ is_peer_ice_lite

int WHIPContext::is_peer_ice_lite

Definition at line 254 of file whip.c.

Referenced by ice_dtls_handshake(), and parse_answer().

◆ ice_tie_breaker

uint64_t WHIPContext::ice_tie_breaker

Definition at line 255 of file whip.c.

Referenced by ice_create_request(), and initialize().

◆ ice_ufrag_remote

char* WHIPContext::ice_ufrag_remote

Definition at line 257 of file whip.c.

Referenced by ice_create_request(), ice_dtls_handshake(), parse_answer(), and whip_deinit().

◆ ice_pwd_remote

char* WHIPContext::ice_pwd_remote

Definition at line 258 of file whip.c.

Referenced by ice_create_request(), parse_answer(), and whip_deinit().

◆ ice_protocol

char* WHIPContext::ice_protocol

This represents the ICE candidate protocol, priority, host and port.

Currently, we only support one candidate and choose the first UDP candidate. However, we plan to support multiple candidates in the future.

Definition at line 264 of file whip.c.

Referenced by parse_answer(), and whip_deinit().

◆ ice_host

char* WHIPContext::ice_host

Definition at line 265 of file whip.c.

Referenced by ice_dtls_handshake(), parse_answer(), udp_connect(), and whip_deinit().

◆ ice_port

int WHIPContext::ice_port

Definition at line 266 of file whip.c.

Referenced by ice_dtls_handshake(), parse_answer(), and udp_connect().

◆ sdp_answer

char* WHIPContext::sdp_answer

Definition at line 269 of file whip.c.

Referenced by exchange_sdp(), parse_answer(), and whip_deinit().

◆ whip_resource_url

char* WHIPContext::whip_resource_url

Definition at line 271 of file whip.c.

Referenced by dispose_session(), exchange_sdp(), ice_dtls_handshake(), and whip_deinit().

◆ whip_starttime

int64_t WHIPContext::whip_starttime

◆ whip_init_time

int64_t WHIPContext::whip_init_time

Definition at line 275 of file whip.c.

Referenced by create_rtp_muxer(), and initialize().

◆ whip_offer_time

int64_t WHIPContext::whip_offer_time

Definition at line 276 of file whip.c.

Referenced by create_rtp_muxer(), and generate_sdp_offer().

◆ whip_answer_time

int64_t WHIPContext::whip_answer_time

Definition at line 277 of file whip.c.

Referenced by create_rtp_muxer(), and parse_answer().

◆ whip_udp_time

int64_t WHIPContext::whip_udp_time

Definition at line 278 of file whip.c.

Referenced by create_rtp_muxer(), and udp_connect().

◆ whip_ice_time

int64_t WHIPContext::whip_ice_time

Definition at line 279 of file whip.c.

Referenced by create_rtp_muxer(), and ice_dtls_handshake().

◆ whip_dtls_time

int64_t WHIPContext::whip_dtls_time

Definition at line 280 of file whip.c.

Referenced by create_rtp_muxer(), and ice_dtls_handshake().

◆ whip_srtp_time

int64_t WHIPContext::whip_srtp_time

Definition at line 281 of file whip.c.

Referenced by create_rtp_muxer(), and setup_srtp().

◆ whip_last_consent_tx_time

int64_t WHIPContext::whip_last_consent_tx_time

Definition at line 282 of file whip.c.

Referenced by ice_dtls_handshake(), and whip_write_packet().

◆ whip_last_consent_rx_time

int64_t WHIPContext::whip_last_consent_rx_time

Definition at line 283 of file whip.c.

Referenced by ice_dtls_handshake(), and whip_write_packet().

◆ cert_buf

char WHIPContext::cert_buf[MAX_CERTIFICATE_SIZE]

Definition at line 286 of file whip.c.

Referenced by certificate_key_init(), and ice_dtls_handshake().

◆ key_buf

char WHIPContext::key_buf[MAX_CERTIFICATE_SIZE]

Definition at line 287 of file whip.c.

Referenced by certificate_key_init(), and ice_dtls_handshake().

◆ dtls_fingerprint

char* WHIPContext::dtls_fingerprint

Definition at line 289 of file whip.c.

Referenced by certificate_key_init(), and generate_sdp_offer().

◆ dtls_srtp_materials

uint8_t WHIPContext::dtls_srtp_materials[(DTLS_SRTP_KEY_LEN+DTLS_SRTP_SALT_LEN) *2]

This represents the material used to build the SRTP master key.

It is generated by DTLS and has the following layout: 16B 16B 14B 14B client_key | server_key | client_salt | server_salt

Definition at line 296 of file whip.c.

Referenced by setup_srtp().

◆ ssl_error_message

char WHIPContext::ssl_error_message[256]

Definition at line 298 of file whip.c.

◆ dtls_uc

URLContext* WHIPContext::dtls_uc

◆ srtp_audio_send

SRTPContext WHIPContext::srtp_audio_send

Definition at line 304 of file whip.c.

Referenced by on_rtp_write_packet(), setup_srtp(), and whip_deinit().

◆ srtp_video_send

SRTPContext WHIPContext::srtp_video_send

Definition at line 305 of file whip.c.

Referenced by on_rtp_write_packet(), setup_srtp(), and whip_deinit().

◆ srtp_video_rtx_send

SRTPContext WHIPContext::srtp_video_rtx_send

Definition at line 306 of file whip.c.

Referenced by setup_srtp(), and whip_deinit().

◆ srtp_rtcp_send

SRTPContext WHIPContext::srtp_rtcp_send

Definition at line 307 of file whip.c.

Referenced by on_rtp_write_packet(), setup_srtp(), and whip_deinit().

◆ srtp_recv

SRTPContext WHIPContext::srtp_recv

Definition at line 309 of file whip.c.

Referenced by handle_nack_rtx(), setup_srtp(), and whip_deinit().

◆ udp

URLContext* WHIPContext::udp

◆ buf

char WHIPContext::buf[MAX_UDP_BUFFER_SIZE]

◆ handshake_timeout

int WHIPContext::handshake_timeout

Definition at line 317 of file whip.c.

Referenced by ice_dtls_handshake(), and initialize().

◆ pkt_size

int WHIPContext::pkt_size

The size of RTP packet, should generally be set to MTU.

Note that pion requires a smaller value, for example, 1200.

Definition at line 322 of file whip.c.

Referenced by create_rtp_muxer(), ice_dtls_handshake(), initialize(), and udp_connect().

◆ buffer_size

int WHIPContext::buffer_size

Definition at line 323 of file whip.c.

Referenced by udp_connect().

◆ authorization

char* WHIPContext::authorization

The optional Bearer token for WHIP Authorization.

See https://www.ietf.org/archive/id/draft-ietf-wish-whip-08.html#name-authentication-and-authoriz

Definition at line 328 of file whip.c.

Referenced by dispose_session(), exchange_sdp(), and whip_deinit().

◆ cert_file

char* WHIPContext::cert_file

Definition at line 330 of file whip.c.

Referenced by certificate_key_init(), ice_dtls_handshake(), and whip_deinit().

◆ key_file

char* WHIPContext::key_file

Definition at line 331 of file whip.c.

Referenced by certificate_key_init(), ice_dtls_handshake(), and whip_deinit().


The documentation for this struct was generated from the following file: