diff --git a/spa/plugins/alsa/alsa-pcm-sink.c b/spa/plugins/alsa/alsa-pcm-sink.c index c8abe4009..9d106d8ce 100644 --- a/spa/plugins/alsa/alsa-pcm-sink.c +++ b/spa/plugins/alsa/alsa-pcm-sink.c @@ -881,6 +881,10 @@ impl_init(const struct spa_handle_factory *factory, this->default_format = spa_alsa_format_from_name(s, strlen(s)); } else if (spa_streq(k, SPA_KEY_AUDIO_POSITION)) { spa_alsa_parse_position(&this->default_pos, s, strlen(s)); + } else if (spa_streq(k, "latency.internal.rate")) { + this->process_latency.rate = atoi(s); + } else if (spa_streq(k, "latency.internal.ns")) { + this->process_latency.ns = atoi(s); } else if (spa_streq(k, "api.alsa.period-size")) { this->default_period_size = atoi(s); } else if (spa_streq(k, "api.alsa.headroom")) { diff --git a/spa/plugins/alsa/alsa-pcm-source.c b/spa/plugins/alsa/alsa-pcm-source.c index 3d248b03d..b0d1d408b 100644 --- a/spa/plugins/alsa/alsa-pcm-source.c +++ b/spa/plugins/alsa/alsa-pcm-source.c @@ -891,6 +891,10 @@ impl_init(const struct spa_handle_factory *factory, this->default_format = spa_alsa_format_from_name(s, strlen(s)); } else if (spa_streq(k, SPA_KEY_AUDIO_POSITION)) { spa_alsa_parse_position(&this->default_pos, s, strlen(s)); + } else if (spa_streq(k, "latency.internal.rate")) { + this->process_latency.rate = atoi(s); + } else if (spa_streq(k, "latency.internal.ns")) { + this->process_latency.ns = atoi(s); } else if (spa_streq(k, "api.alsa.period-size")) { this->default_period_size = atoi(s); } else if (spa_streq(k, "api.alsa.headroom")) { diff --git a/src/daemon/media-session.d/alsa-monitor.conf b/src/daemon/media-session.d/alsa-monitor.conf index acef7d4ec..04ebbd83f 100644 --- a/src/daemon/media-session.d/alsa-monitor.conf +++ b/src/daemon/media-session.d/alsa-monitor.conf @@ -102,6 +102,9 @@ rules = [ #session.suspend-timeout-seconds = 5 # 0 disables suspend #monitor.channel-volumes = false + #latency.internal.rate = 256 # internal latency in samples + #latency.internal.ns = 256 # internal latency in nanoseconds + #api.alsa.period-size = 1024 #api.alsa.headroom = 0 #api.alsa.start-delay = 0