|
|
@ -5567,6 +5567,12 @@ void __codec_store_answer(struct codec_store *dst, struct codec_store *src, sdp_
|
|
|
|
// handle associated supplemental codecs
|
|
|
|
// handle associated supplemental codecs
|
|
|
|
if (h->cn_payload_type != -1) {
|
|
|
|
if (h->cn_payload_type != -1) {
|
|
|
|
pt = t_hash_table_lookup(orig_dst.codecs, GINT_TO_POINTER(h->cn_payload_type));
|
|
|
|
pt = t_hash_table_lookup(orig_dst.codecs, GINT_TO_POINTER(h->cn_payload_type));
|
|
|
|
|
|
|
|
if (a.allow_asymmetric) {
|
|
|
|
|
|
|
|
struct rtp_payload_type *src_pt
|
|
|
|
|
|
|
|
= t_hash_table_lookup(src->codecs, GINT_TO_POINTER(h->cn_payload_type));
|
|
|
|
|
|
|
|
if (src_pt && (!pt || !rtp_payload_type_eq_compat(src_pt, pt)))
|
|
|
|
|
|
|
|
pt = src_pt;
|
|
|
|
|
|
|
|
}
|
|
|
|
if (!pt && a.allow_asymmetric)
|
|
|
|
if (!pt && a.allow_asymmetric)
|
|
|
|
pt = t_hash_table_lookup(src->codecs, GINT_TO_POINTER(h->cn_payload_type));
|
|
|
|
pt = t_hash_table_lookup(src->codecs, GINT_TO_POINTER(h->cn_payload_type));
|
|
|
|
if (!pt)
|
|
|
|
if (!pt)
|
|
|
@ -5579,6 +5585,12 @@ void __codec_store_answer(struct codec_store *dst, struct codec_store *src, sdp_
|
|
|
|
dtmf_payload_type = h->real_dtmf_payload_type;
|
|
|
|
dtmf_payload_type = h->real_dtmf_payload_type;
|
|
|
|
if (dtmf_payload_type != -1) {
|
|
|
|
if (dtmf_payload_type != -1) {
|
|
|
|
pt = t_hash_table_lookup(orig_dst.codecs, GINT_TO_POINTER(dtmf_payload_type));
|
|
|
|
pt = t_hash_table_lookup(orig_dst.codecs, GINT_TO_POINTER(dtmf_payload_type));
|
|
|
|
|
|
|
|
if (a.allow_asymmetric) {
|
|
|
|
|
|
|
|
struct rtp_payload_type *src_pt
|
|
|
|
|
|
|
|
= t_hash_table_lookup(src->codecs, GINT_TO_POINTER(dtmf_payload_type));
|
|
|
|
|
|
|
|
if (src_pt && (!pt || !rtp_payload_type_eq_compat(src_pt, pt)))
|
|
|
|
|
|
|
|
pt = src_pt;
|
|
|
|
|
|
|
|
}
|
|
|
|
if (!pt && a.allow_asymmetric)
|
|
|
|
if (!pt && a.allow_asymmetric)
|
|
|
|
pt = t_hash_table_lookup(src->codecs, GINT_TO_POINTER(dtmf_payload_type));
|
|
|
|
pt = t_hash_table_lookup(src->codecs, GINT_TO_POINTER(dtmf_payload_type));
|
|
|
|
if (!pt)
|
|
|
|
if (!pt)
|
|
|
|