|
|
|
|
@ -1007,8 +1007,6 @@ void codec_handlers_update(struct call_media *receiver, struct call_media *sink,
|
|
|
|
|
// we ignore output codec matches if we must transcode DTMF
|
|
|
|
|
if (dtmf_pt && !reverse_dtmf_pt)
|
|
|
|
|
;
|
|
|
|
|
else if (flags && flags->inject_dtmf)
|
|
|
|
|
;
|
|
|
|
|
else
|
|
|
|
|
dest_codecs = g_hash_table_lookup(sink->codec_names_send, &pt->encoding);
|
|
|
|
|
}
|
|
|
|
|
@ -1042,6 +1040,13 @@ void codec_handlers_update(struct call_media *receiver, struct call_media *sink,
|
|
|
|
|
goto transcode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (flags && flags->inject_dtmf) {
|
|
|
|
|
// we have a matching output codec, but we were told that we might
|
|
|
|
|
// want to inject DTMF, so we must still go through our transcoding
|
|
|
|
|
// engine, despite input and output codecs being the same.
|
|
|
|
|
goto transcode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// XXX check format parameters as well
|
|
|
|
|
ilog(LOG_DEBUG, "Sink supports codec " STR_FORMAT, STR_FMT(&pt->encoding_with_params));
|
|
|
|
|
__make_passthrough_gsl(handler, &passthrough_handlers);
|
|
|
|
|
|