tizenaudio-sink2/source2: Fix frames_to_write calculation 77/263677/3
authorJaechul Lee <jcsing.lee@samsung.com>
Wed, 8 Sep 2021 04:49:32 +0000 (13:49 +0900)
committerJaechul Lee <jcsing.lee@samsung.com>
Mon, 13 Sep 2021 04:27:18 +0000 (13:27 +0900)
[Version] 13.0.74
[Issue Type] Bug fix

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

index 2092eeb..39724b8 100644 (file)
@@ -1,6 +1,6 @@
 Name:             pulseaudio-modules-tizen
 Summary:          Pulseaudio modules for Tizen
-Version:          13.0.73
+Version:          13.0.74
 Release:          0
 Group:            Multimedia/Audio
 License:          LGPL-2.1+
index 62a12d5..de01053 100644 (file)
@@ -430,7 +430,7 @@ static int process_render(struct userdata *u, pa_usec_t now) {
             /* Write pcm every 10ms */
             frames_to_write = pa_usec_to_bytes((10 * PA_USEC_PER_MSEC), &u->sink->sample_spec) / frame_size;
 #else
-            frames_to_write = (u->frag_size / u->nfrags);
+            frames_to_write = u->frag_size / frame_size;
 #endif
             if (frames_to_write > avail)
                 break;
index e4e61e9..fe064fb 100644 (file)
@@ -312,7 +312,7 @@ do_nothing:
 static int process_render(struct userdata *u) {
     void *p;
     size_t frame_size = pa_frame_size(&u->sink->sample_spec);
-    size_t frames_to_write = u->frag_size / u->nfrags;
+    size_t frames_to_write = u->frag_size / frame_size;
     uint32_t avail = 0;
     pa_memchunk chunk;
 
@@ -324,7 +324,7 @@ static int process_render(struct userdata *u) {
         return 0;
     }
 
-    pa_sink_render_full(u->sink, frames_to_write * frame_size, &chunk);
+    pa_sink_render_full(u->sink, u->frag_size, &chunk);
     p = pa_memblock_acquire(chunk.memblock);
 
     if (pa_hal_interface_pcm_write(u->hal_interface, u->pcm_handle, (const char*)p + chunk.index, (uint32_t)frames_to_write)) {
index 333bdbb..55bc60a 100644 (file)
@@ -275,7 +275,7 @@ static int source_process_msg(
 static int process_render(struct userdata *u) {
     void *p;
     size_t frame_size = pa_frame_size(&u->source->sample_spec);
-    size_t frames_to_read = u->frag_size / u->nfrags;
+    size_t frames_to_read = u->frag_size / frame_size;
     uint32_t avail = 0;
     pa_memchunk chunk;
 
@@ -289,7 +289,7 @@ static int process_render(struct userdata *u) {
         return 0;
     }
 
-    chunk.length = frames_to_read * frame_size;
+    chunk.length = u->frag_size;
     chunk.memblock = pa_memblock_new(u->core->mempool, chunk.length);
 
     p = pa_memblock_acquire(chunk.memblock);