diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 9a4b1e2c49..c67991a5c1 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1375,8 +1375,13 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st, if (url_interrupt_cb()) return AVERROR(EINTR); FD_ZERO(&rfds); - tcp_fd = fd_max = url_get_file_handle(rt->rtsp_hd); - FD_SET(tcp_fd, &rfds); + if (rt->rtsp_hd) { + tcp_fd = fd_max = url_get_file_handle(rt->rtsp_hd); + FD_SET(tcp_fd, &rfds); + } else { + fd_max = 0; + tcp_fd = -1; + } for(i = 0; i < rt->nb_rtsp_streams; i++) { rtsp_st = rt->rtsp_streams[i]; if (rtsp_st->rtp_handle) {