[FFmpeg-devel] [PATCH] avformat/whip: check the peer whether is ice lite (PR #20256)
Jack Lau
code at ffmpeg.org
Sat Aug 16 15:29:58 EEST 2025
PR #20256 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20256
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20256.patch
See RFC 5245 Section 4.3
If an agent is a lite implementation, it MUST include an "a=ice-lite"
session-level attribute in its SDP. If an agent is a full
implementation, it MUST NOT include this attribute.
Signed-off-by: Jack Lau <jacklau1222 at qq.com>
From 0f00cd8787537efeb22ee7dd0c19271ac2cb5eda Mon Sep 17 00:00:00 2001
From: Jack Lau <jacklau1222 at qq.com>
Date: Sat, 16 Aug 2025 20:20:23 +0800
Subject: [PATCH] avformat/whip: check the peer whether is ice lite
See RFC 5245 Section 4.3
If an agent is a lite implementation, it MUST include an "a=ice-lite"
session-level attribute in its SDP. If an agent is a full
implementation, it MUST NOT include this attribute.
Signed-off-by: Jack Lau <jacklau1222 at qq.com>
---
libavformat/whip.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index e2fa774c6f..19ab701b05 100644
--- a/libavformat/whip.c
+++ b/libavformat/whip.c
@@ -228,6 +228,7 @@ typedef struct WHIPContext {
*/
char *sdp_offer;
+ int is_peer_ice_lite;
/* The ICE username and pwd from remote server. */
char *ice_ufrag_remote;
char *ice_pwd_remote;
@@ -829,6 +830,8 @@ static int parse_answer(AVFormatContext *s)
for (i = 0; !avio_feof(pb); i++) {
ff_get_chomp_line(pb, line, sizeof(line));
+ if (av_strstart(line, "a=ice-lite", &ptr))
+ whip->is_peer_ice_lite = 1;
if (av_strstart(line, "a=ice-ufrag:", &ptr) && !whip->ice_ufrag_remote) {
whip->ice_ufrag_remote = av_strdup(ptr);
if (!whip->ice_ufrag_remote) {
--
2.49.1
More information about the ffmpeg-devel
mailing list