avformat/udp: cosmetics

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
pull/356/head
Limin Wang 5 years ago
parent 2676277b6d
commit 6fb2bdd1d0
  1. 31
      libavformat/udp.c

@ -190,7 +190,7 @@ static int udp_join_multicast_group(int sockfd, struct sockaddr *addr,struct soc
if (local_addr) if (local_addr)
mreq.imr_interface= ((struct sockaddr_in *)local_addr)->sin_addr; mreq.imr_interface= ((struct sockaddr_in *)local_addr)->sin_addr;
else else
mreq.imr_interface.s_addr= INADDR_ANY; mreq.imr_interface.s_addr = INADDR_ANY;
if (setsockopt(sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const void *)&mreq, sizeof(mreq)) < 0) { if (setsockopt(sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const void *)&mreq, sizeof(mreq)) < 0) {
ff_log_net_error(NULL, AV_LOG_ERROR, "setsockopt(IP_ADD_MEMBERSHIP)"); ff_log_net_error(NULL, AV_LOG_ERROR, "setsockopt(IP_ADD_MEMBERSHIP)");
return -1; return -1;
@ -203,7 +203,7 @@ static int udp_join_multicast_group(int sockfd, struct sockaddr *addr,struct soc
memcpy(&mreq6.ipv6mr_multiaddr, &(((struct sockaddr_in6 *)addr)->sin6_addr), sizeof(struct in6_addr)); memcpy(&mreq6.ipv6mr_multiaddr, &(((struct sockaddr_in6 *)addr)->sin6_addr), sizeof(struct in6_addr));
//TODO: Interface index should be looked up from local_addr //TODO: Interface index should be looked up from local_addr
mreq6.ipv6mr_interface= 0; mreq6.ipv6mr_interface = 0;
if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, &mreq6, sizeof(mreq6)) < 0) { if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, &mreq6, sizeof(mreq6)) < 0) {
ff_log_net_error(NULL, AV_LOG_ERROR, "setsockopt(IPV6_ADD_MEMBERSHIP)"); ff_log_net_error(NULL, AV_LOG_ERROR, "setsockopt(IPV6_ADD_MEMBERSHIP)");
return -1; return -1;
@ -221,9 +221,9 @@ static int udp_leave_multicast_group(int sockfd, struct sockaddr *addr,struct so
mreq.imr_multiaddr.s_addr = ((struct sockaddr_in *)addr)->sin_addr.s_addr; mreq.imr_multiaddr.s_addr = ((struct sockaddr_in *)addr)->sin_addr.s_addr;
if (local_addr) if (local_addr)
mreq.imr_interface= ((struct sockaddr_in *)local_addr)->sin_addr; mreq.imr_interface = ((struct sockaddr_in *)local_addr)->sin_addr;
else else
mreq.imr_interface.s_addr= INADDR_ANY; mreq.imr_interface.s_addr = INADDR_ANY;
if (setsockopt(sockfd, IPPROTO_IP, IP_DROP_MEMBERSHIP, (const void *)&mreq, sizeof(mreq)) < 0) { if (setsockopt(sockfd, IPPROTO_IP, IP_DROP_MEMBERSHIP, (const void *)&mreq, sizeof(mreq)) < 0) {
ff_log_net_error(NULL, AV_LOG_ERROR, "setsockopt(IP_DROP_MEMBERSHIP)"); ff_log_net_error(NULL, AV_LOG_ERROR, "setsockopt(IP_DROP_MEMBERSHIP)");
return -1; return -1;
@ -236,7 +236,7 @@ static int udp_leave_multicast_group(int sockfd, struct sockaddr *addr,struct so
memcpy(&mreq6.ipv6mr_multiaddr, &(((struct sockaddr_in6 *)addr)->sin6_addr), sizeof(struct in6_addr)); memcpy(&mreq6.ipv6mr_multiaddr, &(((struct sockaddr_in6 *)addr)->sin6_addr), sizeof(struct in6_addr));
//TODO: Interface index should be looked up from local_addr //TODO: Interface index should be looked up from local_addr
mreq6.ipv6mr_interface= 0; mreq6.ipv6mr_interface = 0;
if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP, &mreq6, sizeof(mreq6)) < 0) { if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP, &mreq6, sizeof(mreq6)) < 0) {
ff_log_net_error(NULL, AV_LOG_ERROR, "setsockopt(IPV6_DROP_MEMBERSHIP)"); ff_log_net_error(NULL, AV_LOG_ERROR, "setsockopt(IPV6_DROP_MEMBERSHIP)");
return -1; return -1;
@ -295,9 +295,9 @@ static int udp_set_multicast_sources(URLContext *h,
mreqs.imr_multiaddr.s_addr = ((struct sockaddr_in *)addr)->sin_addr.s_addr; mreqs.imr_multiaddr.s_addr = ((struct sockaddr_in *)addr)->sin_addr.s_addr;
if (local_addr) if (local_addr)
mreqs.imr_interface= ((struct sockaddr_in *)local_addr)->sin_addr; mreqs.imr_interface = ((struct sockaddr_in *)local_addr)->sin_addr;
else else
mreqs.imr_interface.s_addr= INADDR_ANY; mreqs.imr_interface.s_addr = INADDR_ANY;
mreqs.imr_sourceaddr.s_addr = ((struct sockaddr_in *)&sources[i])->sin_addr.s_addr; mreqs.imr_sourceaddr.s_addr = ((struct sockaddr_in *)&sources[i])->sin_addr.s_addr;
if (setsockopt(sockfd, IPPROTO_IP, if (setsockopt(sockfd, IPPROTO_IP,
@ -545,7 +545,7 @@ static void *circular_buffer_task_tx( void *_URLContext)
uint8_t tmp[4]; uint8_t tmp[4];
int64_t timestamp; int64_t timestamp;
len=av_fifo_size(s->fifo); len = av_fifo_size(s->fifo);
while (len<4) { while (len<4) {
if (s->close_req) if (s->close_req)
@ -553,11 +553,11 @@ static void *circular_buffer_task_tx( void *_URLContext)
if (pthread_cond_wait(&s->cond, &s->mutex) < 0) { if (pthread_cond_wait(&s->cond, &s->mutex) < 0) {
goto end; goto end;
} }
len=av_fifo_size(s->fifo); len = av_fifo_size(s->fifo);
} }
av_fifo_generic_read(s->fifo, tmp, 4, NULL); av_fifo_generic_read(s->fifo, tmp, 4, NULL);
len=AV_RL32(tmp); len = AV_RL32(tmp);
av_assert0(len >= 0); av_assert0(len >= 0);
av_assert0(len <= sizeof(s->tmp)); av_assert0(len <= sizeof(s->tmp));
@ -953,10 +953,10 @@ static int udp_read(URLContext *h, uint8_t *buf, int size)
uint8_t tmp[4]; uint8_t tmp[4];
av_fifo_generic_read(s->fifo, tmp, 4, NULL); av_fifo_generic_read(s->fifo, tmp, 4, NULL);
avail= AV_RL32(tmp); avail = AV_RL32(tmp);
if(avail > size){ if(avail > size){
av_log(h, AV_LOG_WARNING, "Part of datagram lost due to insufficient buffer size\n"); av_log(h, AV_LOG_WARNING, "Part of datagram lost due to insufficient buffer size\n");
avail= size; avail = size;
} }
av_fifo_generic_read(s->fifo, buf, avail, NULL); av_fifo_generic_read(s->fifo, buf, avail, NULL);
@ -970,8 +970,7 @@ static int udp_read(URLContext *h, uint8_t *buf, int size)
} else if(nonblock) { } else if(nonblock) {
pthread_mutex_unlock(&s->mutex); pthread_mutex_unlock(&s->mutex);
return AVERROR(EAGAIN); return AVERROR(EAGAIN);
} } else {
else {
/* FIXME: using the monotonic clock would be better, /* FIXME: using the monotonic clock would be better,
but it does not exist on all supported platforms. */ but it does not exist on all supported platforms. */
int64_t t = av_gettime() + 100000; int64_t t = av_gettime() + 100000;
@ -984,7 +983,7 @@ static int udp_read(URLContext *h, uint8_t *buf, int size)
} }
nonblock = 1; nonblock = 1;
} }
} while( 1); } while(1);
} }
#endif #endif
@ -1017,7 +1016,7 @@ static int udp_write(URLContext *h, const uint8_t *buf, int size)
Here we can't know on which packet error was, but it needs to know that error exists. Here we can't know on which packet error was, but it needs to know that error exists.
*/ */
if (s->circular_buffer_error<0) { if (s->circular_buffer_error<0) {
int err=s->circular_buffer_error; int err = s->circular_buffer_error;
pthread_mutex_unlock(&s->mutex); pthread_mutex_unlock(&s->mutex);
return err; return err;
} }

Loading…
Cancel
Save