From ff193e02359374bb7c6c0eeaf4fc7fd974b58ee7 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 28 Feb 2023 14:51:57 -0500 Subject: [PATCH] MT#56471 support custom "new" fn for transcoders Extend __make_transcoder_full with a custom callback function to create the SSRC handlers. Functional no-op. Change-Id: I79cfabf6e9758b105a89908f9023bd773b838d9e --- daemon/codec.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/daemon/codec.c b/daemon/codec.c index 3877d00d3..91fd00257 100644 --- a/daemon/codec.c +++ b/daemon/codec.c @@ -407,7 +407,8 @@ static void __reset_sequencer(void *p, void *dummy) { } static void __make_transcoder_full(struct codec_handler *handler, struct rtp_payload_type *dest, GHashTable *output_transcoders, int dtmf_payload_type, bool pcm_dtmf_detect, - int cn_payload_type, int (*packet_decoded)(decoder_t *, AVFrame *, void *, void *)) + int cn_payload_type, int (*packet_decoded)(decoder_t *, AVFrame *, void *, void *), + struct ssrc_entry *(*ssrc_handler_new_func)(void *p)) { assert(handler->source_pt.codec_def != NULL); @@ -462,7 +463,7 @@ reset: dest->payload_type, dtmf_payload_type, cn_payload_type); - handler->ssrc_hash = create_ssrc_hash_full(__ssrc_handler_transcode_new, handler); + handler->ssrc_hash = create_ssrc_hash_full(ssrc_handler_new_func, handler); // stats entry handler->stats_chain = g_strdup_printf(STR_FORMAT " -> " STR_FORMAT, @@ -510,7 +511,7 @@ static void __make_transcoder(struct codec_handler *handler, struct rtp_payload_ int cn_payload_type) { __make_transcoder_full(handler, dest, output_transcoders, dtmf_payload_type, pcm_dtmf_detect, - cn_payload_type, packet_decoded_fifo); + cn_payload_type, packet_decoded_fifo, __ssrc_handler_transcode_new); } // used for generic playback (audio_player, t38_gateway)