Changes in [970:cbc8b4533b79:972:51b9378e38ab] in mediastreamer2
Legend:
- Unmodified
- Added
- Removed
-
src/mtu.c
r856 r971 162 162 int err,mtu=0,new_mtu; 163 163 socklen_t optlen; 164 char buf[1500-28]={0};165 164 char port[10]; 166 165 struct addrinfo hints,*ai=NULL; … … 184 183 } 185 184 sock=socket(PF_INET,SOCK_DGRAM,0); 186 185 if(sock < 0) 186 { 187 ms_error("socket(): %s",strerror(errno)); 188 return sock; 189 } 187 190 mtu=IP_PMTUDISC_DO; 188 191 optlen=sizeof(mtu); … … 204 207 return -1; 205 208 } 206 mtu= sizeof(buf);209 mtu=1500-28;//was the size of the inital buf 207 210 do{ 208 send(sock,buf,mtu,0); 211 int send_returned; 212 char *buf=ms_malloc(mtu);//avoid mtu greater than the beginning 213 if(buf == NULL) 214 { 215 ms_error("malloc(): %s",strerror(errno)); 216 err = close(sock); 217 if (err!=0) 218 ms_error("close(): %s", strerror(errno)); 219 return -1; 220 } 221 send_returned = send(sock,buf,mtu,0); 222 ms_free(buf); 223 if( send_returned < 0)//mtu actually change... 224 { 225 ms_error("send(): %s",strerror(errno)); 226 err = close(sock); 227 if (err!=0) 228 ms_error("close(): %s", strerror(errno)); 229 return -1; 230 } 209 231 usleep(500000);/*wait for an icmp message come back */ 210 232 err=getsockopt(sock,IPPROTO_IP,IP_MTU,&new_mtu,&optlen);
Note: See TracChangeset
for help on using the changeset viewer.
