summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia
diff options
context:
space:
mode:
authorZidan Wang <b50113@freescale.com>2015-01-05 16:13:14 +0800
committerOtavio Salvador <otavio@ossystems.com.br>2015-01-05 08:37:30 -0200
commit35436be79a37659d732e6615869ba5ebab793327 (patch)
tree39aa9c00a3469dfd31e7e51edf2759ff9f1ba097 /recipes-multimedia
parent634c777c901de9ad3606d2e60e73812e95e9f649 (diff)
downloadmeta-fsl-arm-35436be79a37659d732e6615869ba5ebab793327.tar.gz
fsl-alsa-plugins: update output buffer size for asrc_pair
When input size larger than DMA_MAX_BYTES the output size should be updated. Otherwise the asrc have will not have enough data, then it will be timeout. Signed-off-by: Zidan Wang <b50113@freescale.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-multimedia')
-rw-r--r--recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch47
-rw-r--r--recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb3
2 files changed, 50 insertions, 0 deletions
diff --git a/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch b/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch
new file mode 100644
index 0000000..d76c74d
--- /dev/null
+++ b/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch
@@ -0,0 +1,47 @@
1From 9acab46fe307ec71d4a4dbe447e356f90b6a4a09 Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@freescale.com>
3Date: Fri, 12 Dec 2014 14:58:06 +0800
4Subject: [PATCH] [asrc_pair] update output buffer size
5
6When input size larger than DMA_MAX_BYTES the output size should be updated.
7Otherwise the asrc have will not have enough data, then it will be timeout.
8
9Upstream Status: Inappropriate [platform specific]
10
11Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
12---
13 asrc/asrc_pair.c | 11 ++++++++---
14 1 file changed, 8 insertions(+), 3 deletions(-)
15
16diff --git a/asrc/asrc_pair.c b/asrc/asrc_pair.c
17index e3df027..e74e8b1 100644
18--- a/asrc/asrc_pair.c
19+++ b/asrc/asrc_pair.c
20@@ -139,7 +139,7 @@ asrc_pair *asrc_pair_create(unsigned int channels, ssize_t in_period_frames,
21 config.dma_buffer_size = dma_buffer_size;
22 config.input_sample_rate = in_rate;
23 config.output_sample_rate = out_rate;
24- config.buffer_num = 1;
25+ config.buffer_num = buf_num;
26 config.input_word_width = ASRC_WIDTH_16_BIT;
27 config.output_word_width = ASRC_WIDTH_16_BIT;
28 config.inclk = INCLK_NONE;
29@@ -303,8 +303,13 @@ void asrc_pair_convert_s16(asrc_pair *pair, const int16_t *src, unsigned int src
30
31 while (src_left > 0)
32 {
33- in_len = src_left > pair->buf_size ? pair->buf_size : src_left;
34- out_len = dst_left;
35+ if (src_left > pair->buf_size) {
36+ in_len = pair->buf_size;
37+ out_len = dst_left * in_len/src_left;
38+ } else {
39+ in_len = src_left;
40+ out_len = dst_left;
41+ }
42
43 buf_info.input_buffer_vaddr = s;
44 buf_info.input_buffer_length = in_len;
45--
461.9.1
47
diff --git a/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb b/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb
index 331ccdb..556884d 100644
--- a/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb
+++ b/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb
@@ -14,6 +14,8 @@ SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz"
14SRC_URI[md5sum] = "b1ca7a250a8cd5da07062081b30b4118" 14SRC_URI[md5sum] = "b1ca7a250a8cd5da07062081b30b4118"
15SRC_URI[sha256sum] = "902df92255d755e8eb08b3c3db0c7b9d70d26d9659b219373bee425ffdc34245" 15SRC_URI[sha256sum] = "902df92255d755e8eb08b3c3db0c7b9d70d26d9659b219373bee425ffdc34245"
16 16
17SRC_URI_append_mx6 = " file://0001-asrc_pair-update-output-buffer-size.patch"
18
17INCLUDE_DIR = "-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include" 19INCLUDE_DIR = "-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"
18 20
19EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}"" 21EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
@@ -25,3 +27,4 @@ FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug"
25FILES_${PN}-dev += "${libdir}/alsa-lib/*.la" 27FILES_${PN}-dev += "${libdir}/alsa-lib/*.la"
26 28
27COMPATIBLE_MACHINE = "(mx6)" 29COMPATIBLE_MACHINE = "(mx6)"
30PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"