]> sjero.net Git - linphone/blobdiff - coreapi/misc.c
Merge commit 'a3f10cc'
[linphone] / coreapi / misc.c
index 738766746092c25d654c21a99b573d6212335616..36fe7ae3f60ed8b7633d579d90eb730d93f9c20d 100644 (file)
@@ -234,12 +234,21 @@ static int get_codec_bitrate(LinphoneCore *lc, const PayloadType *pt){
        return pt->normal_bitrate;
 }
 
+/*
+ *((codec-birate*ptime/8) + RTP header + UDP header + IP header)*8/ptime;
+ *ptime=1/npacket
+ */
 static double get_audio_payload_bandwidth(LinphoneCore *lc, const PayloadType *pt){
        double npacket=50;
        double packet_size;
        int bitrate;
+       if (strcmp(payload_type_get_mime(&payload_type_aaceld_44k), payload_type_get_mime(pt))==0) {
+               /*special case of aac 44K because ptime= 10ms*/
+               npacket=100;
+       }
+               
        bitrate=get_codec_bitrate(lc,pt);
-       packet_size= (((double)bitrate)/(50*8))+UDP_HDR_SZ+RTP_HDR_SZ+IP4_HDR_SZ;
+       packet_size= (((double)bitrate)/(npacket*8))+UDP_HDR_SZ+RTP_HDR_SZ+IP4_HDR_SZ;
        return packet_size*8.0*npacket;
 }
 
@@ -1125,18 +1134,17 @@ int linphone_core_get_local_ip_for(int type, const char *dest, char *result){
         * try to find 'the' running interface with getifaddrs*/
        
 #ifdef HAVE_GETIFADDRS
-        if (dest==NULL) {
-                /*we use getifaddrs for lookup of default interface */
-                int found_ifs;
-
-                found_ifs=get_local_ip_with_getifaddrs(type,result,LINPHONE_IPADDR_SIZE);
-                if (found_ifs==1){
-                        return 0;
-                }else if (found_ifs<=0){
-                        /*absolutely no network on this machine */
-                        return -1;
-                }
-        }
+
+       /*we use getifaddrs for lookup of default interface */
+       int found_ifs;
+
+       found_ifs=get_local_ip_with_getifaddrs(type,result,LINPHONE_IPADDR_SIZE);
+       if (found_ifs==1){
+               return 0;
+       }else if (found_ifs<=0){
+               /*absolutely no network on this machine */
+               return -1;
+       }
 #endif
       return 0;  
 }