aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/whip.c
Commit message (Collapse)AuthorAgeFilesLines
* all: fix typos found by codespellTimo Rothenpieler4 days1-1/+1
|
* avformat/whip: force NONBLOCK for rtpJack Lau2025-07-171-0/+1
| | | | | | | | We need to ensure rtp sets NONBLOCK since the dtls handshake has potentially overriden the sockets mode. Signed-off-by: Jack Lau <jacklau1222@qq.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avformat/whip: free udp socket after dtls freeJack Lau2025-07-171-1/+1
| | | | | | | | the SSL_shutdown in tls_close need call the url_bio_bwrite so we should keep udp still alive Signed-off-by: Jack Lau <jacklau1222@qq.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avformat/tls: make passing an external socket universalTimo Rothenpieler2025-07-111-2/+2
|
* avformat/tls: move whip specific init out of generic tls codeTimo Rothenpieler2025-07-111-0/+5
|
* avformat/whip: fix format string for printing size_tTimo Rothenpieler2025-07-031-3/+3
|
* avformat/tls: clean up new whip optionsTimo Rothenpieler2025-07-031-2/+2
|
* avformat/tls: remove unused fingerprint optionTimo Rothenpieler2025-07-031-1/+0
|
* avformat/whip: remove redundant WHIP: prefix from all loggingTimo Rothenpieler2025-07-031-75/+75
|
* avformat/whip: don't leak options dictTimo Rothenpieler2025-07-031-0/+1
|
* avformat/whip: use av_dict_set_int for intTimo Rothenpieler2025-07-031-6/+3
|
* avformat/whip: check the exchange sdp url is start with httpSteven Liu2025-06-261-0/+8
| | | | | | | | Make sure the WHIP protocol performs the SDP offer/answer exchange with the WebRTC peer over HTTP. Signed-off-by: Steven Liu <lq@chinaffmpeg.org> Reviewed-by: Jack Lau <jacklau1222@qq.com>
* avformat/whip: Remove unnecessary pkt checksSteven Liu2025-06-261-2/+0
| | | | | | | | | | h264_annexb_insert_sps_pps (called after write_packet) reorganizes PPS, SPS, and IDR packets in H.264 streams. Since write_packet already validates pkt, redundant null checks in h264_annexb_insert_sps_pps can be removed. Signed-off-by: Steven Liu <lq@chinaffmpeg.org> Reviewed-by: Marvin Scholz <epirat07@gmail.com>
* avformat/whip: replace AV_OPT_FLAG_DECODING_PARAM to ENCODINGJack Lau2025-06-211-6/+6
| | | | | Signed-off-by: Jack Lau <jacklau1222@qq.com> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/whip: mark as experimentalJack Lau2025-06-211-1/+1
| | | | | | | | This patch doesn't effect WHIP usage via command, as WHIP always needs to be explicitly specified Signed-off-by: Jack Lau <jacklau1222@qq.com> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/whip: Constify arguments in is_rtp_rtcp/is_rtcpZhao Zhili2025-06-071-2/+2
| | | | | | Fix warning of -Wincompatible-pointer-types-discards-qualifiers. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/whip: Add WHIP muxer support for subsecond latency streamingJack Lau2025-06-041-0/+1917
0. WHIP Version 3. 1. The WHIP muxer has been renamed and refined, with improved logging context and error messages for SSL, DTLS, and RTC. 2. Magic numbers have been replaced with macros and extracted to functions, and log levels have been altered for better clarity. 3. DTLS curve list has been updated, and SRTP profile names have been refined for FFmpeg and OpenSSL. 4. ICE STUN magic number has been refined, and RTP payload types have been updated based on Chrome's definition. 5. Fixed frame size has been refined to rtc->audio_par->frame_size, and h264_mp4toannexb is now used to convert MP4/ISOM to annexb. 6. OPUS timestamp issue has been addressed, and marker setting has been corrected after utilizing BSF. 7. DTLS handshake and ICE handling have been optimized for improved performance, with a single handshake timeout and server role to prevent ARQ. 8. Consolidated ICE request/response handling and DTLS handshake into a single function, and fixed OpenSSL build errors to work with Pion. 9. Merge TLS & DTLS implementation, shared BIO callbacks, read, write, print_ssl_error, openssl_init_ca_key_cert, init_bio_method function and shared same data structure 10. Modify configure that whip is enabled only dtls is enabled(just support openssl for now) to fix build error Co-authored-by: winlin <winlinvip@gmail.com> Co-authored-by: yangrtc <yangrtc@aliyun.com> Co-authored-by: cloudwebrtc <duanweiwei1982@gmail.com> Co-authored-by: Haibo Chen <495810242@qq.com> Co-authored-by: Steven Liu <lq@chinaffmpeg.org> Co-authored-by: Jun Zhao <barryjzhao@tencent.com> Signed-off-by: Jack Lau <jacklau1222@qq.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>