]> git.sesse.net Git - vlc/commitdiff
Fix ordering of CSRC and RTP profile extension
authorRémi Denis-Courmont <rem@videolan.org>
Thu, 8 Mar 2007 16:47:15 +0000 (16:47 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Thu, 8 Mar 2007 16:47:15 +0000 (16:47 +0000)
modules/access/udp.c

index cf3391dbe94416bc9836193668e89a9ba8f2f97a..bea3946d0cd3f4e305b6ee5a3578eca0c4d691e2 100644 (file)
@@ -554,17 +554,17 @@ static block_t *BlockParseRTP( access_t *p_access, block_t *p_block )
     // Padding bit:
     uint8_t pad = (p_block->p_buffer[0] & 0x20)
                     ? p_block->p_buffer[p_block->i_buffer - 1] : 0;
+    // CSRC count:
+    i_skip += (p_block->p_buffer[0] & 0x0F) * 4;
     // Extension header:
-    if ((p_block->p_buffer[0] & 0x10)) /* Extension header */
+    if (p_block->p_buffer[0] & 0x10) /* Extension header */
     {
         i_skip += 4;
         if ((size_t)p_block->i_buffer < i_skip)
             goto trash;
 
-        i_skip += 4 * GetWBE( p_block->p_buffer + 14 );
+        i_skip += 4 * GetWBE( p_block->p_buffer + i_skip + 2 );
     }
-    // CSRC count:
-    i_skip += (p_block->p_buffer[0] & 0x0F) * 4;
 
     i_payload_type    = p_block->p_buffer[1] & 0x7F;