[pulseaudio-discuss] [PATCH v2] null-sink: correct update of timestamp when state changes to RUNNING or IDLE

Georg Chini georg at chini.tk
Sat Oct 24 04:00:39 PDT 2015


u-> timestamp should be reset to "now" when the sink state changes from
INIT or SUSPENDED to IDLE or RUNNING.
Thanks to Olivier Delbeke for reporting the bug and testing the patch.
Bug report is here:
http://lists.freedesktop.org/archives/pulseaudio-discuss/2015-October/024553.html

---
 src/modules/module-null-sink.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/modules/module-null-sink.c b/src/modules/module-null-sink.c
index 0270ba2..45532cc 100644
--- a/src/modules/module-null-sink.c
+++ b/src/modules/module-null-sink.c
@@ -93,8 +93,10 @@ static int sink_process_msg(
     switch (code) {
         case PA_SINK_MESSAGE_SET_STATE:
 
-            if (PA_PTR_TO_UINT(data) == PA_SINK_RUNNING)
-                u->timestamp = pa_rtclock_now();
+            if (pa_sink_get_state(u->sink) == PA_SINK_SUSPENDED || pa_sink_get_state(u->sink) == PA_SINK_INIT) {
+               if (PA_PTR_TO_UINT(data) == PA_SINK_RUNNING || PA_PTR_TO_UINT(data) == PA_SINK_IDLE)
+                  u->timestamp = pa_rtclock_now();
+            }
 
             break;
 
-- 
2.5.0



More information about the pulseaudio-discuss mailing list