FFmpeg
Data Fields
WHIPContext Struct Reference

Data Fields

AVClassav_class
 
enum WHIPState state
 
int dtls_ret
 
int dtls_closed
 
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
 
uint8_t audio_payload_type
 
uint8_t video_payload_type
 
char * sdp_offer
 This is the SDP offer generated by the muxer based on the codec parameters, DTLS, and ICE information. More...
 
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
 
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_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...
 
char * authorization
 The optional Bearer token for WHIP Authorization. More...
 
char * cert_file
 
char * key_file
 

Detailed Description

Definition at line 196 of file whip.c.

Field Documentation

◆ av_class

AVClass* WHIPContext::av_class

Definition at line 197 of file whip.c.

◆ state

enum WHIPState WHIPContext::state

◆ dtls_ret

int WHIPContext::dtls_ret

Definition at line 202 of file whip.c.

Referenced by dtls_context_on_state(), whip_init(), and whip_write_packet().

◆ dtls_closed

int WHIPContext::dtls_closed

Definition at line 203 of file whip.c.

Referenced by dtls_context_on_state(), and whip_write_packet().

◆ audio_par

AVCodecParameters* WHIPContext::audio_par

Definition at line 206 of file whip.c.

Referenced by generate_sdp_offer(), and parse_codec().

◆ video_par

AVCodecParameters* WHIPContext::video_par

Definition at line 207 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 214 of file whip.c.

Referenced by whip_check_bitstream(), and whip_write_packet().

◆ rnd

AVLFG WHIPContext::rnd

Definition at line 217 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 220 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 221 of file whip.c.

Referenced by generate_sdp_offer(), and ice_create_response().

◆ audio_ssrc

uint32_t WHIPContext::audio_ssrc

Definition at line 223 of file whip.c.

Referenced by create_rtp_muxer(), and generate_sdp_offer().

◆ video_ssrc

uint32_t WHIPContext::video_ssrc

Definition at line 224 of file whip.c.

Referenced by create_rtp_muxer(), and generate_sdp_offer().

◆ audio_payload_type

uint8_t WHIPContext::audio_payload_type

Definition at line 226 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 227 of file whip.c.

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

◆ 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 232 of file whip.c.

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

◆ ice_ufrag_remote

char* WHIPContext::ice_ufrag_remote

Definition at line 235 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 236 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 242 of file whip.c.

Referenced by parse_answer(), and whip_deinit().

◆ ice_host

char* WHIPContext::ice_host

Definition at line 243 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 244 of file whip.c.

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

◆ sdp_answer

char* WHIPContext::sdp_answer

Definition at line 247 of file whip.c.

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

◆ whip_resource_url

char* WHIPContext::whip_resource_url

Definition at line 249 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 253 of file whip.c.

Referenced by create_rtp_muxer(), and initialize().

◆ whip_offer_time

int64_t WHIPContext::whip_offer_time

Definition at line 254 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 255 of file whip.c.

Referenced by create_rtp_muxer(), and parse_answer().

◆ whip_udp_time

int64_t WHIPContext::whip_udp_time

Definition at line 256 of file whip.c.

Referenced by create_rtp_muxer(), and udp_connect().

◆ whip_ice_time

int64_t WHIPContext::whip_ice_time

Definition at line 257 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 258 of file whip.c.

Referenced by create_rtp_muxer(), and dtls_context_on_state().

◆ whip_srtp_time

int64_t WHIPContext::whip_srtp_time

Definition at line 259 of file whip.c.

Referenced by create_rtp_muxer(), and setup_srtp().

◆ cert_buf

char WHIPContext::cert_buf[MAX_CERTIFICATE_SIZE]

Definition at line 262 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 263 of file whip.c.

Referenced by certificate_key_init(), and ice_dtls_handshake().

◆ dtls_fingerprint

char* WHIPContext::dtls_fingerprint

Definition at line 265 of file whip.c.

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

◆ 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 272 of file whip.c.

Referenced by setup_srtp().

◆ ssl_error_message

char WHIPContext::ssl_error_message[256]

Definition at line 274 of file whip.c.

◆ dtls_uc

URLContext* WHIPContext::dtls_uc

◆ srtp_audio_send

SRTPContext WHIPContext::srtp_audio_send

Definition at line 280 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 281 of file whip.c.

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

◆ srtp_rtcp_send

SRTPContext WHIPContext::srtp_rtcp_send

Definition at line 282 of file whip.c.

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

◆ srtp_recv

SRTPContext WHIPContext::srtp_recv

Definition at line 284 of file whip.c.

Referenced by 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 292 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 297 of file whip.c.

Referenced by create_rtp_muxer(), ice_dtls_handshake(), initialize(), and 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 302 of file whip.c.

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

◆ cert_file

char* WHIPContext::cert_file

Definition at line 304 of file whip.c.

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

◆ key_file

char* WHIPContext::key_file

Definition at line 305 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: