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
pull/1627/head
Richard Fuchs 3 years ago
parent 551b9687d8
commit ff193e0235

@ -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, 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, 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); assert(handler->source_pt.codec_def != NULL);
@ -462,7 +463,7 @@ reset:
dest->payload_type, dest->payload_type,
dtmf_payload_type, cn_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 // stats entry
handler->stats_chain = g_strdup_printf(STR_FORMAT " -> " STR_FORMAT, 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) int cn_payload_type)
{ {
__make_transcoder_full(handler, dest, output_transcoders, dtmf_payload_type, pcm_dtmf_detect, __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) // used for generic playback (audio_player, t38_gateway)

Loading…
Cancel
Save