TT#100200 track matching CN payload types

Change-Id: I6db6c08afee2ca8353e07ace952a630105ad9c25
pull/1134/head
Richard Fuchs 5 years ago
parent c5667e3bf7
commit 96bd7a6986

@ -186,6 +186,7 @@ static void __handler_shutdown(struct codec_handler *handler) {
handler->dtmf_scaler = 0;
handler->output_handler = handler; // reset to default
handler->dtmf_payload_type = -1;
handler->cn_payload_type = -1;
handler->pcm_dtmf_detect = 0;
if (handler->stats_entry) {
@ -213,6 +214,7 @@ static struct codec_handler *__handler_new(const struct rtp_payload_type *pt, st
handler->source_pt = *pt;
handler->output_handler = handler; // default
handler->dtmf_payload_type = -1;
handler->cn_payload_type = -1;
handler->packet_encoded = packet_encoded_rtp;
handler->packet_decoded = packet_decoded_fifo;
handler->media = media;
@ -1132,6 +1134,7 @@ void codec_handlers_update(struct call_media *receiver, struct call_media *sink,
__symmetric_codecs(receiver, sink, &sink_transcoding);
int dtmf_payload_type = __dtmf_payload_type(supplemental_sinks, pref_dest_codec);
int cn_payload_type = __supp_payload_type(supplemental_sinks, pref_dest_codec, "CN");
g_hash_table_destroy(supplemental_sinks);
supplemental_sinks = NULL;
@ -1298,6 +1301,7 @@ transcode:;
}
MEDIA_SET(receiver, TRANSCODE);
__make_transcoder(handler, dest_pt, output_transcoders, dtmf_payload_type, pcm_dtmf_detect);
handler->cn_payload_type = cn_payload_type;
next:
l = l->next;

@ -29,6 +29,7 @@ struct codec_handler {
struct rtp_payload_type source_pt; // source_pt.payload_type = hashtable index
struct rtp_payload_type dest_pt;
int dtmf_payload_type;
int cn_payload_type;
codec_handler_func *func;
int kernelize:1;
int transcoder:1;

Loading…
Cancel
Save