During capabilities selection (joint capabilities of us and peer,
configured capability for this peer, or general configured
capabilities), if sip_new() does not keep framing information,
then directmedia activation will fail for any framing different
from default framing.
ASTERISK-28637
Change-Id: I99257502788653c2816fc991cac7946453082466
framing_inst0, framing_inst1);
return 0;
}
+ ast_debug(3, "Symmetric ptimes on the two call legs (%u). May be able to native bridge in RTP\n",
+ framing_inst0);
}
read_ptime0 = ast_format_cap_get_format_framing(cap0, ast_channel_rawreadformat(bc0->chan));
read_ptime0, write_ptime1, read_ptime1, write_ptime0);
return 0;
}
+ ast_debug(3, "Bridge '%s': Packetization comparison success between RTP streams (read_ptime0:%d == write_ptime1:%d and read_ptime1:%d == write_ptime0:%d).\n",
+ bridge->uniqueid,
+ read_ptime0, write_ptime1, read_ptime1, write_ptime0);
return 1;
}
/* Use only the preferred audio format, which is stored at the '0' index */
fmt = ast_format_cap_get_best_by_type(what, AST_MEDIA_TYPE_AUDIO); /* get the best audio format */
if (fmt) {
+ int framing;
+
ast_format_cap_remove_by_type(caps, AST_MEDIA_TYPE_AUDIO); /* remove only the other audio formats */
- ast_format_cap_append(caps, fmt, 0); /* add our best choice back */
+ framing = ast_format_cap_get_format_framing(what, fmt);
+ ast_format_cap_append(caps, fmt, framing); /* add our best choice back */
} else {
/* If we don't have an audio format, try to get something */
fmt = ast_format_cap_get_format(caps, 0);