Enable PA_SINK_MESSAGE_GET_LATENCY message 36/298436/1 accepted/tizen/8.0/unified/20231005.093523 accepted/tizen/unified/20230912.171628 tizen_8.0_m2_release
authorJaechul Lee <jcsing.lee@samsung.com>
Thu, 7 Sep 2023 02:59:16 +0000 (11:59 +0900)
committerJaechul Lee <jcsing.lee@samsung.com>
Thu, 7 Sep 2023 03:03:49 +0000 (12:03 +0900)
the message should be processed by default.
In addition to this changes, logging message was added when reading pcm
takes more than 150msec.

[Version] 15.0.55
[Issue Type] Update

Change-Id: I8f42e28bdea00e5f7b9a3cc24c903fa590e11cf3
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
packaging/pulseaudio-modules-tizen.spec
src/tizenaudio-sink2.c
src/tizenaudio-source2.c

index 4c707c68f0e3a85abbc1ff1790db4691a3a2dd6d..ff07d730f66b58263c5ec4a4b6af4f963ed757ad 100644 (file)
@@ -2,7 +2,7 @@
 
 Name:             pulseaudio-modules-tizen
 Summary:          Pulseaudio modules for Tizen
-Version:          15.0.54
+Version:          15.0.55
 Release:          0
 Group:            Multimedia/Audio
 License:          LGPL-2.1+
index 63666b30a450fb0c87cb004ccc82304e733ec1aa..1f9bb325822415771068996ca9dab37f02a11825 100644 (file)
@@ -254,7 +254,6 @@ static int sink_process_msg(
 
     struct userdata *u = PA_SINK(o)->userdata;
 
-#ifdef ENABLE_PREPROCESSOR
     switch (code) {
         case PA_SINK_MESSAGE_GET_LATENCY: {
             int64_t r = 0;
@@ -271,6 +270,7 @@ static int sink_process_msg(
 
             return 0;
         }
+#ifdef ENABLE_PREPROCESSOR
         case PA_SINK_MESSAGE_PREPROCESSOR_REBUILD_RTPOLL: {
             struct arguments {
                 pa_msgobject *o;
@@ -328,8 +328,8 @@ static int sink_process_msg(
 
             break;
         }
-    }
 #endif
+    }
 
     return pa_sink_process_msg(o, code, data, offset, chunk);
 }
index 912ad92a65387b1d41790e4cb6a5dd56588c5bdf..3f9963e6055390e8798d2ebd89e0952dc14701cf 100644 (file)
@@ -57,6 +57,7 @@
 
 #define DEFAULT_FRAGMENT_MSEC               10
 #define DEFAULT_FRAGMENTS                    4
+#define DEFAULT_HAL_READ_TIMEOUT           150
 
 struct userdata {
     pa_core *core;
@@ -256,7 +257,6 @@ static int source_process_msg(
 
     struct userdata *u = PA_SOURCE(o)->userdata;
 
-#ifdef ENABLE_PREPROCESSOR
     switch (code) {
         case PA_SOURCE_MESSAGE_GET_LATENCY: {
             uint64_t r = 0;
@@ -273,6 +273,7 @@ static int source_process_msg(
 
             return 0;
         }
+#ifdef ENABLE_PREPROCESSOR
         case PA_SOURCE_MESSAGE_ADD_OUTPUT: {
             pa_source_output *output = PA_SOURCE_OUTPUT(data);
             pa_assert(output);
@@ -310,8 +311,8 @@ static int source_process_msg(
             break;
         default:
             break;
-    }
 #endif
+    }
 
     return pa_source_process_msg(o, code, data, offset, chunk);
 }
@@ -323,7 +324,7 @@ static int process_render(struct userdata *u) {
     uint32_t avail = 0;
     pa_memchunk chunk;
 
-    pa_usec_t elapsed;
+    pa_usec_t elapsed, now;
 
     pa_assert(u);
 
@@ -338,15 +339,17 @@ static int process_render(struct userdata *u) {
 
     p = pa_memblock_acquire(chunk.memblock);
 
-    elapsed = pa_rtclock_now();
+    now = pa_rtclock_now();
 
     if (pa_hal_interface_pcm_read(u->hal_interface, u->pcm_handle, p, (uint32_t)frames_to_read)) {
         pa_log_error("failed to read pcm. p(%p), size(%zu)", p, frames_to_read);
         return -1;
     }
 
-    if (pa_rtclock_now() - elapsed > 100 * PA_USEC_PER_MSEC)
-        pa_log_error("HAL read function takes a long time : %" PRId64 "", elapsed);
+    elapsed = pa_rtclock_now() - now;
+
+    if (elapsed > DEFAULT_HAL_READ_TIMEOUT * PA_USEC_PER_MSEC)
+        pa_log_info("HAL read function takes more than %d msec : %" PRId64 "", DEFAULT_HAL_READ_TIMEOUT, elapsed);
 
     pa_memblock_release(chunk.memblock);