MT#55283 set codec-chain opus app

Change-Id: Ibeecc1f6942e823fa123d6e3083487ef08566331
rfuchs/test
Richard Fuchs 1 year ago
parent 4573f32d9b
commit 24ff9ce07b

@ -14,6 +14,9 @@
#include <netinet/in.h>
#include <sys/resource.h>
#include <sys/epoll.h>
#ifdef HAVE_CODEC_CHAIN
#include <codec-chain/types.h>
#endif
#include "log.h"
#include "loglib.h"
@ -166,6 +169,7 @@ void config_load(int *argc, char ***argv, GOptionEntry *app_entries, const char
g_autoptr(char_p) saved_argv = g_strdupv(*argv);
int saved_argc = *argc;
gboolean version = false;
g_autoptr(char) opus_application = NULL;
rtpe_common_config_ptr = cconfig;
@ -210,6 +214,7 @@ void config_load(int *argc, char ***argv, GOptionEntry *app_entries, const char
{ "codec-chain-runners",0,0, G_OPTION_ARG_INT, &rtpe_common_config_ptr->codec_chain_runners,"Number of chain runners per codec","INT" },
{ "codec-chain-concurrency",0,0,G_OPTION_ARG_INT, &rtpe_common_config_ptr->codec_chain_concurrency,"Max concurrent codec jobs per runner","INT" },
{ "codec-chain-async",0,0, G_OPTION_ARG_INT, &rtpe_common_config_ptr->codec_chain_async,"Number of background callback threads","INT" },
{ "codec-chain-opus-application",0,0,G_OPTION_ARG_STRING,&opus_application, "Opus application", "default|VoIP|audio|low-delay" },
{ "codec-chain-opus-complexity",0,0,G_OPTION_ARG_INT, &rtpe_common_config_ptr->codec_chain_opus_complexity,"Opus encoding complexity (0..10)","INT" },
#endif
{ NULL, }
@ -409,6 +414,18 @@ out:
rtpe_common_config_ptr->codec_chain_opus_complexity = 10;
if (rtpe_common_config_ptr->codec_chain_opus_complexity < 0 || rtpe_common_config_ptr->codec_chain_opus_complexity > 10)
die("Invalid value for --codec-chain-opus-complexity");
if (opus_application) {
if (!strcmp(opus_application, "default") || !strcmp(opus_application, ""))
rtpe_common_config_ptr->codec_chain_opus_application = 0;
else if (!strcmp(opus_application, "voip") || !strcmp(opus_application, "speech"))
rtpe_common_config_ptr->codec_chain_opus_application = CC_OPUS_APP_VOIP;
else if (!strcmp(opus_application, "audio") || !strcmp(opus_application, "music"))
rtpe_common_config_ptr->codec_chain_opus_application = CC_OPUS_APP_AUDIO;
else if (!strcmp(opus_application, "low delay") || !strcmp(opus_application, "low-delay") || !strcmp(opus_application, "lowdelay"))
rtpe_common_config_ptr->codec_chain_opus_application = CC_OPUS_APP_LOWDELAY;
else
die("Invalid value for --codec-chain-opus-application");
}
#endif
#if HAVE_LIBURING

@ -42,6 +42,7 @@ struct rtpengine_common_config {
int codec_chain_runners;
int codec_chain_concurrency;
int codec_chain_async;
int codec_chain_opus_application;
int codec_chain_opus_complexity;
};

@ -5242,6 +5242,7 @@ static codec_cc_t *codec_cc_new_sync(codec_def_t *src, format_t *src_format, cod
(codec_chain_opus_arguments) {
.bitrate = bitrate,
.complexity = rtpe_common_config_ptr->codec_chain_opus_complexity,
.application = rtpe_common_config_ptr->codec_chain_opus_application,
});
ret->clear = cc_float2opus_clear;
ret->clear_arg = ret->pcma2opus.enc;
@ -5269,6 +5270,7 @@ static codec_cc_t *codec_cc_new_sync(codec_def_t *src, format_t *src_format, cod
(codec_chain_opus_arguments) {
.bitrate = bitrate,
.complexity = rtpe_common_config_ptr->codec_chain_opus_complexity,
.application = rtpe_common_config_ptr->codec_chain_opus_application,
});
ret->clear = cc_float2opus_clear;
ret->clear_arg = ret->pcmu2opus.enc;
@ -5352,6 +5354,7 @@ static codec_cc_t *codec_cc_new_async(codec_def_t *src, format_t *src_format, co
(codec_chain_opus_arguments) {
.bitrate = bitrate,
.complexity = rtpe_common_config_ptr->codec_chain_opus_complexity,
.application = rtpe_common_config_ptr->codec_chain_opus_application,
});
ret->clear = cc_float2opus_clear;
ret->clear_arg = ret->pcma2opus.enc;
@ -5385,6 +5388,7 @@ static codec_cc_t *codec_cc_new_async(codec_def_t *src, format_t *src_format, co
(codec_chain_opus_arguments) {
.bitrate = bitrate,
.complexity = rtpe_common_config_ptr->codec_chain_opus_complexity,
.application = rtpe_common_config_ptr->codec_chain_opus_application,
});
ret->clear = cc_float2opus_clear;
ret->clear_arg = ret->pcmu2opus.enc;

Loading…
Cancel
Save