Add code to read audio_backend_silent_lead_in_time settings.

This commit is contained in:
Mike Brady
2017-07-06 19:13:10 +01:00
parent aced2a75e3
commit d428585715
6 changed files with 62 additions and 0 deletions
+13
View File
@@ -187,6 +187,19 @@ static int init(int argc, char **argv) {
}
}
/* Get the desired length of the period of silence before the audio starts. */
if (config_lookup_float(config.cfg, "alsa.audio_backend_silent_lead_in_time",
&dvalue)) {
if ((dvalue < 0.05) || (dvalue > 4)) {
pthread_mutex_unlock(&alsa_mutex);
die("Invalid alsa audio_backend_silent_lead_in_time \"%f\". It "
"must be between 0.050 and 4.0 seconds. Omit setting to use the default value, which is approximately the latency specified by the source (typically 2 seconds). A value greater than the latency is ignored.",
dvalue);
} else {
config.audio_backend_silent_lead_in_time = dvalue;
}
}
/* Get the desired buffer size setting. */
if (config_lookup_float(config.cfg, "alsa.audio_backend_buffer_desired_length_in_seconds",
&dvalue)) {
+13
View File
@@ -54,6 +54,19 @@ static int init(int argc, char **argv) {
// get settings from settings file first, allow them to be overridden by command line options
if (config.cfg != NULL) {
/* Get the desired length of the period of silence before the audio starts. */
if (config_lookup_float(config.cfg, "ao.audio_backend_silent_lead_in_time",
&dvalue)) {
if ((dvalue < 0.05) || (dvalue > 4)) {
pthread_mutex_unlock(&alsa_mutex);
die("Invalid ao audio_backend_silent_lead_in_time \"%f\". It "
"must be between 0.050 and 4.0 seconds. Omit setting to use the default value, which is approximately the latency specified by the source (typically 2 seconds). A value greater than the latency is ignored.",
dvalue);
} else {
config.audio_backend_silent_lead_in_time = dvalue;
}
}
/* Get the desired buffer size setting. */
if (config_lookup_int(config.cfg, "ao.audio_backend_buffer_desired_length", &value)) {
if ((value < 0) || (value > 66150)) {
+11
View File
@@ -52,6 +52,17 @@ static int init(int argc, char **argv) {
if (config.cfg != NULL) {
const char *str;
double dvalue;
/* Get the desired length of the period of silence before the audio starts. */
if (config_lookup_float(config.cfg, "pa.audio_backend_silent_lead_in_time",
&dvalue)) {
if ((dvalue < 0.05) || (dvalue > 4)) {
die("Invalid pa audio_backend_silent_lead_in_time \"%f\". It "
"must be between 0.050 and 4.0 seconds. Omit setting to use the default value, which is approximately the latency specified by the source (typically 2 seconds). A value greater than the latency is ignored.",
dvalue);
} else {
config.audio_backend_silent_lead_in_time = dvalue;
}
}
/* Get the desired buffer size setting. */
if (config_lookup_float(config.cfg, "pa.audio_backend_buffer_desired_length_in_seconds",
+12
View File
@@ -95,6 +95,18 @@ static int init(int argc, char **argv) {
if (config_lookup_string(config.cfg, "pipe.name", &str)) {
pipename = (char *)str;
}
/* Get the desired length of the period of silence before the audio starts. */
if (config_lookup_float(config.cfg, "pipe.audio_backend_silent_lead_in_time",
&dvalue)) {
if ((dvalue < 0.05) || (dvalue > 4)) {
die("Invalid pipe audio_backend_silent_lead_in_time \"%f\". It "
"must be between 0.050 and 4.0 seconds. Omit setting to use the default value, which is approximately the latency specified by the source (typically 2 seconds). A value greater than the latency is ignored.",
dvalue);
} else {
config.audio_backend_silent_lead_in_time = dvalue;
}
}
if ((pipename) && (strcasecmp(pipename, "STDOUT") == 0))
die("Can't use \"pipe\" backend for STDOUT. Use the \"stdout\" backend instead.");
+12
View File
@@ -64,6 +64,18 @@ static int init(int argc, char **argv) {
config.audio_backend_latency_offset = 0;
if (config.cfg != NULL) {
/* Get the desired length of the period of silence before the audio starts. */
if (config_lookup_float(config.cfg, "stdout.audio_backend_silent_lead_in_time",
&dvalue)) {
if ((dvalue < 0.05) || (dvalue > 4)) {
die("Invalid stdout audio_backend_silent_lead_in_time \"%f\". It "
"must be between 0.050 and 4.0 seconds. Omit setting to use the default value, which is approximately the latency specified by the source (typically 2 seconds). A value greater than the latency is ignored.",
dvalue);
} else {
config.audio_backend_silent_lead_in_time = dvalue;
}
}
/* Get the desired buffer size setting. */
if (config_lookup_int(config.cfg, "stdout.audio_backend_buffer_desired_length", &value)) {
if ((value < 0) || (value > 66150)) {
+1
View File
@@ -1316,6 +1316,7 @@ int main(int argc, char **argv) {
debug(1, "audio backend desired buffer length is %f seconds.",
config.audio_backend_buffer_desired_length);
debug(1, "audio backend latency offset is %f seconds.", config.audio_backend_latency_offset);
debug(1, "audio backend silence lead-in time is %f seconds. The value -1.0 means use the default.", config.audio_backend_silent_lead_in_time);
debug(1, "volume range in dB (zero means use the range specified by the mixer): %u.",
config.volume_range_db);
debug(1, "zeroconf regtype is \"%s\".", config.regtype);