lavf/tcp: check return value of setsockopt.
when setsockopt fail, use ff_log_net_error to dump the string describing for error number. Signed-off-by: Jun Zhao <mypopydev@gmail.com>
This commit is contained in:
		
							parent
							
								
									0a8ff1d8bb
								
							
						
					
					
						commit
						0ed0af595b
					
				@ -151,17 +151,25 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
 | 
			
		||||
    /* Set the socket's send or receive buffer sizes, if specified.
 | 
			
		||||
       If unspecified or setting fails, system default is used. */
 | 
			
		||||
    if (s->recv_buffer_size > 0) {
 | 
			
		||||
        setsockopt (fd, SOL_SOCKET, SO_RCVBUF, &s->recv_buffer_size, sizeof (s->recv_buffer_size));
 | 
			
		||||
        if (setsockopt (fd, SOL_SOCKET, SO_RCVBUF, &s->recv_buffer_size, sizeof (s->recv_buffer_size))) {
 | 
			
		||||
            ff_log_net_error(h, AV_LOG_WARNING, "setsockopt(SO_RCVBUF)");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    if (s->send_buffer_size > 0) {
 | 
			
		||||
        setsockopt (fd, SOL_SOCKET, SO_SNDBUF, &s->send_buffer_size, sizeof (s->send_buffer_size));
 | 
			
		||||
        if (setsockopt (fd, SOL_SOCKET, SO_SNDBUF, &s->send_buffer_size, sizeof (s->send_buffer_size))) {
 | 
			
		||||
            ff_log_net_error(h, AV_LOG_WARNING, "setsockopt(SO_SNDBUF)");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    if (s->tcp_nodelay > 0) {
 | 
			
		||||
        setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, &s->tcp_nodelay, sizeof (s->tcp_nodelay));
 | 
			
		||||
        if (setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, &s->tcp_nodelay, sizeof (s->tcp_nodelay))) {
 | 
			
		||||
            ff_log_net_error(h, AV_LOG_WARNING, "setsockopt(TCP_NODELAY)");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
#if !HAVE_WINSOCK2_H
 | 
			
		||||
    if (s->tcp_mss > 0) {
 | 
			
		||||
        setsockopt (fd, IPPROTO_TCP, TCP_MAXSEG, &s->tcp_mss, sizeof (s->tcp_mss));
 | 
			
		||||
        if (setsockopt (fd, IPPROTO_TCP, TCP_MAXSEG, &s->tcp_mss, sizeof (s->tcp_mss))) {
 | 
			
		||||
            ff_log_net_error(h, AV_LOG_WARNING, "setsockopt(TCP_MAXSEG)");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
#endif /* !HAVE_WINSOCK2_H */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user