Browse Source

MT#55283 support setting cc-opus-complexity

Change-Id: I30130557420e1f53cf69f14e8bed2f3016e22397
rfuchs/dataport
Richard Fuchs 2 years ago
parent
commit
5647f479c4
3 changed files with 12 additions and 0 deletions
  1. +7
    -0
      lib/auxlib.c
  2. +1
    -0
      lib/auxlib.h
  3. +4
    -0
      lib/codeclib.c

+ 7
- 0
lib/auxlib.c View File

@ -175,6 +175,7 @@ void config_load(int *argc, char ***argv, GOptionEntry *app_entries, const char
#else
rtpe_common_config_ptr->default_log_level = LOG_DEBUG;
#endif
rtpe_common_config_ptr->codec_chain_opus_complexity = -1;
g_autoptr(GKeyFile) kf = g_key_file_new();
@ -209,6 +210,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-complexity",0,0,G_OPTION_ARG_INT, &rtpe_common_config_ptr->codec_chain_opus_complexity,"Opus encoding complexity (0..10)","INT" },
#endif
{ NULL, }
};
@ -402,6 +404,11 @@ out:
if (rtpe_common_config_ptr->codec_chain_async < 0)
rtpe_common_config_ptr->codec_chain_async = 0;
if (rtpe_common_config_ptr->codec_chain_opus_complexity == -1)
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");
#endif
#if HAVE_LIBURING


+ 1
- 0
lib/auxlib.h View File

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


+ 4
- 0
lib/codeclib.c View File

@ -5241,6 +5241,7 @@ static codec_cc_t *codec_cc_new_sync(codec_def_t *src, format_t *src_format, cod
ret->pcma2opus.enc = cc_client_float2opus_new_ext(cc_client,
(codec_chain_opus_arguments) {
.bitrate = bitrate,
.complexity = rtpe_common_config_ptr->codec_chain_opus_complexity,
});
ret->clear = cc_float2opus_clear;
ret->clear_arg = ret->pcma2opus.enc;
@ -5267,6 +5268,7 @@ static codec_cc_t *codec_cc_new_sync(codec_def_t *src, format_t *src_format, cod
ret->pcmu2opus.enc = cc_client_float2opus_new_ext(cc_client,
(codec_chain_opus_arguments) {
.bitrate = bitrate,
.complexity = rtpe_common_config_ptr->codec_chain_opus_complexity,
});
ret->clear = cc_float2opus_clear;
ret->clear_arg = ret->pcmu2opus.enc;
@ -5349,6 +5351,7 @@ static codec_cc_t *codec_cc_new_async(codec_def_t *src, format_t *src_format, co
ret->pcma2opus.enc = cc_client_float2opus_new_ext(cc_client,
(codec_chain_opus_arguments) {
.bitrate = bitrate,
.complexity = rtpe_common_config_ptr->codec_chain_opus_complexity,
});
ret->clear = cc_float2opus_clear;
ret->clear_arg = ret->pcma2opus.enc;
@ -5381,6 +5384,7 @@ static codec_cc_t *codec_cc_new_async(codec_def_t *src, format_t *src_format, co
ret->pcmu2opus.enc = cc_client_float2opus_new_ext(cc_client,
(codec_chain_opus_arguments) {
.bitrate = bitrate,
.complexity = rtpe_common_config_ptr->codec_chain_opus_complexity,
});
ret->clear = cc_float2opus_clear;
ret->clear_arg = ret->pcmu2opus.enc;


Loading…
Cancel
Save