[vlc-devel] commit: RTP: ignore packets with duplicated sequence numbers (closes #2003) ( Rémi Denis-Courmont )

git version control git at videolan.org
Sat Sep 6 09:58:57 CEST 2008


vlc | branch: 0.9-bugfix | Rémi Denis-Courmont <rdenis at simphalempin.com> | Sat Sep  6 10:52:37 2008 +0300| [6262a321dc62b87c9b5d98ca7c45c2717cc1e9ae] | committer: Rémi Denis-Courmont 

RTP: ignore packets with duplicated sequence numbers (closes #2003)
(cherry picked from commit d8c32a08f9c17f7c7d88cbb45bafe556a3103724)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6262a321dc62b87c9b5d98ca7c45c2717cc1e9ae
---

 modules/demux/rtpsession.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/modules/demux/rtpsession.c b/modules/demux/rtpsession.c
index ccad284..b3063fe 100644
--- a/modules/demux/rtpsession.c
+++ b/modules/demux/rtpsession.c
@@ -306,8 +306,11 @@ rtp_receive (demux_t *demux, rtp_session_t *session, block_t *block)
     block_t **pp = &src->blocks;
     for (block_t *prev = *pp; prev != NULL; prev = *pp)
     {
-        if ((int16_t)(seq - rtp_seq (*pp)) < 0)
+        int16_t delta_seq = seq - rtp_seq (prev);
+        if (delta_seq < 0)
             break;
+        if (delta_seq == 0)
+            goto drop; /* duplicate */
         pp = &prev->p_next;
     }
     block->p_next = *pp;




More information about the vlc-devel mailing list