This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 7505cea0e913ceb78f38081a47f717f732b0b9a7
Author:     Jack Lau <[email protected]>
AuthorDate: Sat Jan 24 20:01:55 2026 +0800
Commit:     Jack Lau <[email protected]>
CommitDate: Fri Feb 27 12:42:05 2026 +0000

    avformat/whip: skip the unmatch nack packet through ssrc
    
    Signed-off-by: Jack Lau <[email protected]>
---
 libavformat/whip.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavformat/whip.c b/libavformat/whip.c
index 6ec5badc47..bad0f38a26 100644
--- a/libavformat/whip.c
+++ b/libavformat/whip.c
@@ -1949,6 +1949,7 @@ static void handle_nack_rtx(AVFormatContext *s, int size)
     WHIPContext *whip = s->priv_data;
     uint8_t *buf = NULL;
     int rtcp_len, srtcp_len, header_len = 12/*RFC 4585 6.1*/;
+    uint32_t ssrc;
 
     /**
      * Refer to RFC 3550 6.4.1
@@ -1973,6 +1974,13 @@ static void handle_nack_rtx(AVFormatContext *s, int size)
         av_log(whip, AV_LOG_WARNING, "NACK packet decrypt failed: %d\n", ret);
         goto error;
     }
+    ssrc = AV_RB32(&buf[8]);
+    if (ssrc != whip->video_ssrc) {
+        av_log(whip, AV_LOG_DEBUG,
+               "NACK packet SSRC: %"PRIu32" not match with video track SSRC: 
%"PRIu32"\n",
+               ssrc, whip->video_ssrc);
+        goto end;
+    }
     while (header_len + i + 4 <= rtcp_len) {
         /**
          * See https://datatracker.ietf.org/doc/html/rfc4585#section-6.1

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to