|
|
|
@ -65,8 +65,8 @@ static struct codec_handler codec_handler_stub = { |
|
|
|
.source_pt.payload_type = -1, |
|
|
|
.dest_pt.payload_type = -1, |
|
|
|
.handler_func = handler_func_passthrough, |
|
|
|
.kernelize = 1, |
|
|
|
.passthrough = 1, |
|
|
|
.kernelize = true, |
|
|
|
.passthrough = true, |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
@ -323,8 +323,8 @@ static struct codec_handler codec_handler_stub_ssrc = { |
|
|
|
.source_pt.payload_type = -1, |
|
|
|
.dest_pt.payload_type = -1, |
|
|
|
.handler_func = handler_func_passthrough_ssrc, |
|
|
|
.kernelize = 1, |
|
|
|
.passthrough = 1, |
|
|
|
.kernelize = true, |
|
|
|
.passthrough = true, |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
@ -340,15 +340,15 @@ static void __handler_shutdown(struct codec_handler *handler) { |
|
|
|
if (handler->ssrc_handler) |
|
|
|
obj_put(&handler->ssrc_handler->h); |
|
|
|
handler->ssrc_handler = NULL; |
|
|
|
handler->kernelize = 0; |
|
|
|
handler->transcoder = 0; |
|
|
|
handler->kernelize = false; |
|
|
|
handler->transcoder = false; |
|
|
|
handler->output_handler = handler; // reset to default |
|
|
|
handler->packet_decoded = packet_decoded_fifo; |
|
|
|
handler->dtmf_payload_type = -1; |
|
|
|
handler->real_dtmf_payload_type = -1; |
|
|
|
handler->cn_payload_type = -1; |
|
|
|
handler->pcm_dtmf_detect = 0; |
|
|
|
handler->passthrough = 0; |
|
|
|
handler->pcm_dtmf_detect = false; |
|
|
|
handler->passthrough = false; |
|
|
|
handler->payload_len = 0; |
|
|
|
|
|
|
|
codec_handler_free(&handler->dtmf_injector); |
|
|
|
@ -404,18 +404,18 @@ static void __make_passthrough(struct codec_handler *handler, int dtmf_pt, int c |
|
|
|
handler->handler_func = handler_func_dtmf; |
|
|
|
else { |
|
|
|
handler->handler_func = handler_func_passthrough; |
|
|
|
handler->kernelize = 1; |
|
|
|
handler->kernelize = true; |
|
|
|
} |
|
|
|
rtp_payload_type_copy(&handler->dest_pt, &handler->source_pt); |
|
|
|
handler->ssrc_hash = create_ssrc_hash_full(__ssrc_handler_new, handler); |
|
|
|
handler->dtmf_payload_type = dtmf_pt; |
|
|
|
handler->cn_payload_type = cn_pt; |
|
|
|
handler->passthrough = 1; |
|
|
|
handler->passthrough = true; |
|
|
|
|
|
|
|
if (handler->media->buffer_delay) { |
|
|
|
__delay_buffer_setup(&handler->delay_buffer, handler, handler->media->call, |
|
|
|
handler->media->buffer_delay); |
|
|
|
handler->kernelize = 0; |
|
|
|
handler->kernelize = false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -459,7 +459,7 @@ static bool __make_transcoder_full(struct codec_handler *handler, rtp_payload_ty |
|
|
|
goto reset; |
|
|
|
if (handler->dtmf_payload_type != dtmf_payload_type) |
|
|
|
goto reset; |
|
|
|
if ((pcm_dtmf_detect ? 1 : 0) != handler->pcm_dtmf_detect) |
|
|
|
if (pcm_dtmf_detect != handler->pcm_dtmf_detect) |
|
|
|
goto reset; |
|
|
|
|
|
|
|
ilogs(codec, LOG_DEBUG, "Leaving transcode context for " STR_FORMAT "/" STR_FORMAT |
|
|
|
@ -481,10 +481,10 @@ reset: |
|
|
|
dest->codec_def->format_answer(&handler->dest_pt, &handler->source_pt); |
|
|
|
handler->handler_func = handler_func_transcode; |
|
|
|
handler->packet_decoded = packet_decoded; |
|
|
|
handler->transcoder = 1; |
|
|
|
handler->transcoder = true; |
|
|
|
handler->dtmf_payload_type = dtmf_payload_type; |
|
|
|
handler->cn_payload_type = cn_payload_type; |
|
|
|
handler->pcm_dtmf_detect = pcm_dtmf_detect ? 1 : 0; |
|
|
|
handler->pcm_dtmf_detect = pcm_dtmf_detect; |
|
|
|
|
|
|
|
// DTMF transcoder/scaler? |
|
|
|
if (handler->source_pt.codec_def && handler->source_pt.codec_def->dtmf) |
|
|
|
|