Changeset 410:7fe3493323e4 in verona


Ignore:
Timestamp:
Jan 31, 2012 3:08:03 PM (16 months ago)
Author:
laurent@…
Branch:
default
Message:

fix payload without rtpmap

File:
1 edited

Legend:

Unmodified
Added
Removed
  • phapi/phapi.c

    r407 r410  
    48694869 
    48704870} 
     4871char * ph_get_fixed_payload_name(int idx) 
     4872{ 
     4873        if( idx == 0 ) 
     4874                return "PCMU"; 
     4875        else if( idx == 8 ) 
     4876                return "PCMA"; 
     4877        else if( idx == 9 ) 
     4878                return "G722"; 
     4879        else if( idx == 18 ) 
     4880                return "G729"; 
     4881        else if( idx == 34 ) 
     4882                return "H263"; 
     4883 
     4884        return NULL; 
     4885} 
    48714886 
    48724887static int 
     
    48854900                        cur_payload = (sdp_payload_t *) osip_list_get (&ca->result_audio_payloads, 0); 
    48864901                        ca->audio_payload = cur_payload->pt; 
     4902 
    48874903                        if (cur_payload->a_rtpmap) 
    48884904                                osip_strncpy(ca->audio_payload_name, cur_payload->a_rtpmap, sizeof(ca->audio_payload_name)-1); 
     4905                        else 
     4906                        { 
     4907                                char * payload_name = ph_get_fixed_payload_name(ca->audio_payload); 
     4908                                if(payload_name) 
     4909                                        osip_strncpy(ca->audio_payload_name, payload_name, sizeof(ca->audio_payload_name, payload_name)-1); 
     4910                        } 
     4911 
    48894912                        ca->remote_ptime = cur_payload->a_ptime; 
    48904913                } 
     
    49044927                        if (cur_payload->a_rtpmap) 
    49054928                                osip_strncpy(ca->video_payload_name, cur_payload->a_rtpmap, sizeof(ca->video_payload_name)-1); 
     4929                        else 
     4930                        { 
     4931                                char * payload_name = ph_get_fixed_payload_name(ca->audio_payload); 
     4932                                if(payload_name) 
     4933                                        osip_strncpy(ca->video_payload_name, payload_name, sizeof(ca->video_payload_name)-1); 
     4934                        } 
     4935 
    49064936                        ca->remote_ptime = cur_payload->a_ptime; 
    49074937                } 
     
    52045234                                 
    52055235                                msp->ipayloads[i].number = cur_payload->pt; 
    5206                                 ph_parse_payload_mime(&msp->ipayloads[0], ca->video_payload_name, 90000, 1); 
     5236                                if(cur_payload->a_rtpmap) 
     5237                                        ph_parse_payload_mime(&msp->ipayloads[0], cur_payload->a_rtpmap, 90000, 1); 
     5238                                else 
     5239                                { 
     5240                                        char * payload_name = ph_get_fixed_payload_name(msp->ipayloads[i].number); 
     5241                                        if(payload_name) 
     5242                                                ph_parse_payload_mime(&msp->ipayloads[i], payload_name, 8000, 1); 
     5243                                } 
    52075244                                msp->opayloads[i] = msp->ipayloads[i]; 
    52085245                                msp->opayloads[i].ptime = cur_payload->a_ptime; 
     
    53105347 
    53115348                                msp->ipayloads[i].number = cur_payload->pt; 
    5312                                 ph_parse_payload_mime(&msp->ipayloads[i], cur_payload->a_rtpmap, 8000, 1); 
     5349                                if(cur_payload->a_rtpmap) 
     5350                                        ph_parse_payload_mime(&msp->ipayloads[i], cur_payload->a_rtpmap, 8000, 1); 
     5351                                else 
     5352                                { 
     5353                                        char * payload_name = ph_get_fixed_payload_name(msp->ipayloads[i].number); 
     5354                                        if(payload_name) 
     5355                                                ph_parse_payload_mime(&msp->ipayloads[i], payload_name, 8000, 1); 
     5356                                } 
    53135357                                if (!strcasecmp(msp->ipayloads[i].string, "g722")) 
    53145358                                        msp->ipayloads[i].rate = 16000; 
Note: See TracChangeset for help on using the changeset viewer.