dport++;
fd = net_OpenDgram (obj, src, sport, dst, dport, AF_UNSPEC, proto);
-
- /* Copy the multicast IPv4 TTL value (useless for IPv6) */
if (fd != -1)
{
+ /* Copy the multicast IPv4 TTL value (useless for IPv6) */
int ttl;
socklen_t len = sizeof (ttl);
if (!getsockopt (rtp_fd, SOL_IP, IP_MULTICAST_TTL, &ttl, &len))
setsockopt (fd, SOL_IP, IP_MULTICAST_TTL, &ttl, len);
+
+ /* Ignore all incoming RTCP-RR packets */
+ setsockopt (fd, SOL_SOCKET, SO_RCVBUF, &(int){ 0 }, sizeof (int));
}
}
msg_Err( p_stream, "cannot create RTP socket" );
goto error;
}
+ /* Ignore any unexpected incoming packet (including RTCP-RR
+ * packets in case of rtcp-mux) */
+ setsockopt (fd, SOL_SOCKET, SO_RCVBUF, &(int){ 0 },
+ sizeof (int));
rtp_add_sink( id, fd, p_sys->rtcp_mux );
}
}
continue;
}
+ /* Ignore any unexpected incoming packet */
+ setsockopt (track.fd, SOL_SOCKET, SO_RCVBUF, &(int){ 0 },
+ sizeof (int));
net_GetSockAddress( track.fd, src, &sport );
vlc_mutex_lock( &rtsp->lock );