SWITCH_DECLARE(payload_map_t *) switch_core_media_add_payload_map(switch_core_session_t *session,
switch_media_type_t type,
const char *name,
+ const char *fmtp,
switch_sdp_type_t sdp_type,
uint32_t pt,
uint32_t rate,
pmap->rate = rate;
}
+ if (!zstr(fmtp) && (!pmap->rm_fmtp || strcmp(pmap->rm_fmtp, fmtp))) {
+ pmap->rm_fmtp = switch_core_strdup(session->pool, fmtp);
+ }
+
pmap->allocated = 1;
pmap->recv_pt = (switch_payload_t)pt;
for(j = 0; j < m_idx; j++) {
payload_map_t *pmap = switch_core_media_add_payload_map(session,
SWITCH_MEDIA_TYPE_AUDIO,
- matches[j].map->rm_encoding,
+ matches[j].map->rm_encoding,
+ matches[j].map->rm_fmtp,
sdp_type,
matches[j].map->rm_pt,
matches[j].imp->samples_per_second,
payload_map_t *pmap = switch_core_media_add_payload_map(session,
SWITCH_MEDIA_TYPE_VIDEO,
matches[j].map->rm_encoding,
+ matches[j].map->rm_fmtp,
sdp_type,
matches[j].map->rm_pt,
matches[j].imp->samples_per_second,
switch_core_media_add_payload_map(session,
imp->codec_type == SWITCH_CODEC_TYPE_AUDIO ? SWITCH_MEDIA_TYPE_AUDIO : SWITCH_MEDIA_TYPE_VIDEO,
imp->iananame,
+ NULL,
sdp_type,
smh->ianacodes[i],
imp->samples_per_second,
switch_core_media_add_payload_map(session,
m->m_type == sdp_media_audio ? SWITCH_MEDIA_TYPE_AUDIO : SWITCH_MEDIA_TYPE_VIDEO,
map->rm_encoding,
+ map->rm_fmtp,
sdp_type,
map->rm_pt,
map->rm_rate,