diff --git a/audio/device_port_sink.cpp b/audio/device_port_sink.cpp
index 668f2f0..e02c727 100644
--- a/audio/device_port_sink.cpp
+++ b/audio/device_port_sink.cpp
@@ -83,7 +83,7 @@
         const size_t denominator = periodSettings.periodCount * cfg.base.sampleRateHz / inMs;
 
         // integer division with rounding
-        return (numerator + (denominator >> 1)) / denominator;
+        return (numerator + (denominator >> 1)) / denominator + talsa::pcmGetHostLatencyMs();
     }
 
     Result getPresentationPosition(uint64_t &frames, TimeSpec &ts) override {
diff --git a/audio/talsa.cpp b/audio/talsa.cpp
index 27076f0..b0f2e59 100644
--- a/audio/talsa.cpp
+++ b/audio/talsa.cpp
@@ -33,6 +33,7 @@
 int gMixerRefcounter0 = 0;
 std::mutex gMixerMutex;
 PcmPeriodSettings gPcmPeriodSettings;
+unsigned gPcmHostLatencyMs;
 
 void mixerSetValueAll(struct mixer_ctl *ctl, int value) {
     const unsigned int n = mixer_ctl_get_num_values(ctl);
@@ -115,12 +116,19 @@
 
     gPcmPeriodSettings.periodSizeMultiplier =
         readUnsignedProperty("ro.hardware.audio.tinyalsa.period_size_multiplier", 1);
+
+    gPcmHostLatencyMs =
+        readUnsignedProperty("ro.hardware.audio.tinyalsa.host_latency_ms", 0);
 }
 
 PcmPeriodSettings pcmGetPcmPeriodSettings() {
     return gPcmPeriodSettings;
 }
 
+unsigned pcmGetHostLatencyMs() {
+    return gPcmHostLatencyMs;
+}
+
 void PcmDeleter::operator()(pcm_t *x) const {
     LOG_ALWAYS_FATAL_IF(::pcm_close(x) != 0);
 };
diff --git a/audio/talsa.h b/audio/talsa.h
index 8cc3c8f..6f2883c 100644
--- a/audio/talsa.h
+++ b/audio/talsa.h
@@ -35,6 +35,7 @@
 
 void init();
 PcmPeriodSettings pcmGetPcmPeriodSettings();
+unsigned pcmGetHostLatencyMs();
 
 typedef struct pcm pcm_t;
 struct PcmDeleter { void operator()(pcm_t *x) const; };
diff --git a/init.ranchu.rc b/init.ranchu.rc
index a5edf26..284d245 100644
--- a/init.ranchu.rc
+++ b/init.ranchu.rc
@@ -61,6 +61,7 @@
 
     setprop ro.hardware.audio.tinyalsa.period_count 4
     setprop ro.hardware.audio.tinyalsa.period_size_multiplier 4
+    setprop ro.hardware.audio.tinyalsa.host_latency_ms 30
 
     start qemu-props
 
