Mercurial > libavformat.hg
comparison udp.c @ 2738:1f5c5c223764 libavformat
Remove some ifdefs by using the "dest_addr_len" field in both the IPv4-only
code and the protocol-independent code
author | lucabe |
---|---|
date | Wed, 14 Nov 2007 07:35:36 +0000 |
parents | 7d25b8de708d |
children | 091af9f47edf |
comparison
equal
deleted
inserted
replaced
2737:1e7edb0c6cfc | 2738:1f5c5c223764 |
---|---|
36 #ifndef CONFIG_IPV6 | 36 #ifndef CONFIG_IPV6 |
37 struct ip_mreq mreq; | 37 struct ip_mreq mreq; |
38 struct sockaddr_in dest_addr; | 38 struct sockaddr_in dest_addr; |
39 #else | 39 #else |
40 struct sockaddr_storage dest_addr; | 40 struct sockaddr_storage dest_addr; |
41 #endif | |
41 size_t dest_addr_len; | 42 size_t dest_addr_len; |
42 #endif | |
43 } UDPContext; | 43 } UDPContext; |
44 | 44 |
45 #define UDP_TX_BUF_SIZE 32768 | 45 #define UDP_TX_BUF_SIZE 32768 |
46 #define UDP_MAX_PKT_SIZE 65536 | 46 #define UDP_MAX_PKT_SIZE 65536 |
47 | 47 |
232 /* set the destination address */ | 232 /* set the destination address */ |
233 if (resolve_host(&s->dest_addr.sin_addr, hostname) < 0) | 233 if (resolve_host(&s->dest_addr.sin_addr, hostname) < 0) |
234 return AVERROR(EIO); | 234 return AVERROR(EIO); |
235 s->dest_addr.sin_family = AF_INET; | 235 s->dest_addr.sin_family = AF_INET; |
236 s->dest_addr.sin_port = htons(port); | 236 s->dest_addr.sin_port = htons(port); |
237 s->dest_addr_len = sizeof(s->dest_addr); | |
237 return 0; | 238 return 0; |
238 #endif | 239 #endif |
239 } | 240 } |
240 | 241 |
241 /** | 242 /** |
439 int ret; | 440 int ret; |
440 | 441 |
441 for(;;) { | 442 for(;;) { |
442 ret = sendto (s->udp_fd, buf, size, 0, | 443 ret = sendto (s->udp_fd, buf, size, 0, |
443 (struct sockaddr *) &s->dest_addr, | 444 (struct sockaddr *) &s->dest_addr, |
444 #ifndef CONFIG_IPV6 | |
445 sizeof (s->dest_addr)); | |
446 #else | |
447 s->dest_addr_len); | 445 s->dest_addr_len); |
448 #endif | |
449 if (ret < 0) { | 446 if (ret < 0) { |
450 if (ff_neterrno() != FF_NETERROR(EINTR) && | 447 if (ff_neterrno() != FF_NETERROR(EINTR) && |
451 ff_neterrno() != FF_NETERROR(EAGAIN)) | 448 ff_neterrno() != FF_NETERROR(EAGAIN)) |
452 return AVERROR(EIO); | 449 return AVERROR(EIO); |
453 } else { | 450 } else { |