PR #20825 opened by Jack Lau (JackLau) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20825 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20825.patch
In early code, the BUNDLE always has two stream id "a=group:BUNDLE 0 1" even though there's only one stream. This patch aims to dynamically set BUNDLE value. Signed-off-by: Jack Lau <[email protected]> >From d8d586fcd45cefc14246013fb1943975ce1a0e30 Mon Sep 17 00:00:00 2001 From: Jack Lau <[email protected]> Date: Mon, 3 Nov 2025 10:20:50 +0800 Subject: [PATCH] avformat/whip: fix hard code in SDP BUNDLE In early code, the BUNDLE always has two stream id "a=group:BUNDLE 0 1" even though there's only one stream. This patch aims to dynamically set BUNDLE value. Signed-off-by: Jack Lau <[email protected]> --- libavformat/whip.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/libavformat/whip.c b/libavformat/whip.c index a11fffb9c6..2a83fe991c 100644 --- a/libavformat/whip.c +++ b/libavformat/whip.c @@ -602,6 +602,8 @@ static int generate_sdp_offer(AVFormatContext *s) { int ret = 0, profile_idc = 0, level, profile_iop = 0; const char *acodec_name = NULL, *vcodec_name = NULL; + char bundle[4]; + int bundle_index = 0; AVBPrint bp; WHIPContext *whip = s->priv_data; int is_dtls_active = whip->flags & WHIP_DTLS_ACTIVE; @@ -629,16 +631,27 @@ static int generate_sdp_offer(AVFormatContext *s) whip->video_payload_type = WHIP_RTP_PAYLOAD_TYPE_H264; whip->video_rtx_payload_type = WHIP_RTP_PAYLOAD_TYPE_VIDEO_RTX; + if (whip->audio_par) { + bundle[bundle_index++] = '0'; + bundle[bundle_index++] = ' '; + } + if (whip->video_par) { + bundle[bundle_index++] = '1'; + bundle[bundle_index++] = ' '; + } + bundle[bundle_index - 1] = '\0'; + av_bprintf(&bp, "" "v=0\r\n" "o=FFmpeg %s 2 IN IP4 %s\r\n" "s=FFmpegPublishSession\r\n" "t=0 0\r\n" - "a=group:BUNDLE 0 1\r\n" + "a=group:BUNDLE %s\r\n" "a=extmap-allow-mixed\r\n" "a=msid-semantic: WMS\r\n", WHIP_SDP_SESSION_ID, - WHIP_SDP_CREATOR_IP); + WHIP_SDP_CREATOR_IP, + bundle); if (whip->audio_par) { if (whip->audio_par->codec_id == AV_CODEC_ID_OPUS) -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
