tizenaudio-sink: Increase buffer level up to 64ms 97/106197/3
authorKimJeongYeon <jeongyeon.kim@samsung.com>
Wed, 21 Dec 2016 02:34:35 +0000 (11:34 +0900)
committerKimJeongYeon <jeongyeon.kim@samsung.com>
Wed, 21 Dec 2016 07:35:24 +0000 (16:35 +0900)
Changes:
* Ensure to avoid buffer underflow, increase continuous buffer 32ms -> 64ms.
* Write pcm every 10ms.

[Version] 5.0.111
[Profile] Common
[Issue Type] Enhancement

Signed-off-by: KimJeongYeon <jeongyeon.kim@samsung.com>
Change-Id: Ied531f4fefba84a84f2e98b141626fe6db03a06c

packaging/pulseaudio-modules-tizen.spec
src/module-tizenaudio-sink.c

index 4db8001..de51cd7 100644 (file)
@@ -1,6 +1,6 @@
 Name:             pulseaudio-modules-tizen
 Summary:          Pulseaudio modules for Tizen
-Version:          5.0.110
+Version:          5.0.111
 Release:          0
 Group:            Multimedia/Audio
 License:          LGPL-2.1+
index 3b581c7..75ec056 100644 (file)
@@ -65,7 +65,7 @@ PA_MODULE_USAGE(
 #define DEFAULT_SINK_NAME "tizenaudio-sink"
 
 /* BLOCK_USEC should be less than amount of fragment_size * fragments */
-#define BLOCK_USEC (PA_USEC_PER_SEC * 0.032)
+#define BLOCK_USEC (PA_USEC_PER_SEC * 0.064)
 
 struct userdata {
     pa_core *core;
@@ -327,7 +327,8 @@ static int process_render(struct userdata *u, pa_usec_t now) {
             frames_to_write = (u->frag_size * u->nfrags) / frame_size;
             u->timestamp = u->timestamp_written = now;
         } else {
-            frames_to_write = u->sink->thread_info.max_request / frame_size;
+            /* Write pcm every 10ms */
+            frames_to_write = pa_usec_to_bytes((10 * PA_USEC_PER_MSEC), &u->sink->sample_spec) / frame_size;
             if (frames_to_write > avail)
                 break;
         }