* [PATCH: TinyCompress 1/2] add utils file with rate conversion helper
@ 2013-05-23 8:12 Vinod Koul
2013-05-23 8:12 ` [PATCH: TinyCompress 2/2] cplay: use get_alsa_rate to convert sample rate Vinod Koul
2013-05-26 14:13 ` [PATCH: TinyCompress 1/2] add utils file with rate conversion helper Vinod Koul
0 siblings, 2 replies; 3+ messages in thread
From: Vinod Koul @ 2013-05-23 8:12 UTC (permalink / raw)
To: alsa-devel; +Cc: Vinod Koul
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
Android.mk | 2 +-
include/tinycompress/tinycompress.h | 2 +
makefile.linux | 2 +-
utils.c | 96 +++++++++++++++++++++++++++++++++++
4 files changed, 100 insertions(+), 2 deletions(-)
create mode 100644 utils.c
diff --git a/Android.mk b/Android.mk
index b9c52e2..104dfef 100644
--- a/Android.mk
+++ b/Android.mk
@@ -2,7 +2,7 @@ LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES:= $(LOCAL_PATH)/include
-LOCAL_SRC_FILES:= compress.c
+LOCAL_SRC_FILES:= compress.c utils.c
LOCAL_MODULE := libtinycompress
LOCAL_SHARED_LIBRARIES:= libcutils libutils
LOCAL_MODULE_TAGS := optional
diff --git a/include/tinycompress/tinycompress.h b/include/tinycompress/tinycompress.h
index 9867afc..e947322 100644
--- a/include/tinycompress/tinycompress.h
+++ b/include/tinycompress/tinycompress.h
@@ -267,4 +267,6 @@ const char *compress_get_error(struct compress *compress);
#define SNDRV_PCM_RATE_176400 (1<<11) /* 176400Hz */
#define SNDRV_PCM_RATE_192000 (1<<12) /* 192000Hz */
+/* utility functions */
+unsigned int compress_get_alsa_rate(unsigned int rate);
#endif
diff --git a/makefile.linux b/makefile.linux
index 60d6c04..677878d 100644
--- a/makefile.linux
+++ b/makefile.linux
@@ -2,7 +2,7 @@ LIB = libtinycompress
BIN = cplay
VER = 0.1
LIBSRC = compress.c
-SRC = cplay.c
+SRC = cplay.c utils.c
LIBOBJ = ${LIBSRC:.c=.o}
OBJ = ${SRC:.c=.o}
diff --git a/utils.c b/utils.c
new file mode 100644
index 0000000..fa37f23
--- /dev/null
+++ b/utils.c
@@ -0,0 +1,96 @@
+/*
+ * BSD LICENSE
+ *
+ * tinycompress utility functions
+ * Copyright (c) 2011-2013, Intel Corporation
+ * All rights reserved.
+ *
+ * Author: Vinod Koul <vinod.koul@intel.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * LGPL LICENSE
+ *
+ * tinycompress utility functions
+ * Copyright (c) 2011-2013, Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU Lesser General Public License,
+ * version 2.1, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to
+ * the Free Software Foundation, Inc.,
+ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <linux/types.h>
+#include <sys/time.h>
+#define __force
+#define __bitwise
+#define __user
+#include "tinycompress/tinycompress.h"
+
+
+unsigned int compress_get_alsa_rate(unsigned int rate)
+{
+ switch (rate) {
+ case 5512:
+ return SNDRV_PCM_RATE_5512;
+ case 8000:
+ return SNDRV_PCM_RATE_8000;
+ case 11025:
+ return SNDRV_PCM_RATE_11025;
+ case 16000:
+ return SNDRV_PCM_RATE_16000;
+ case 220500:
+ return SNDRV_PCM_RATE_22050;
+ case 32000:
+ return SNDRV_PCM_RATE_32000;
+ case 44100:
+ return SNDRV_PCM_RATE_44100;
+ case 48000:
+ return SNDRV_PCM_RATE_48000;
+ case 64000:
+ return SNDRV_PCM_RATE_64000;
+ case 88200:
+ return SNDRV_PCM_RATE_88200;
+ case 96000:
+ return SNDRV_PCM_RATE_96000;
+ case 176400:
+ return SNDRV_PCM_RATE_176400;
+ case 192000:
+ return SNDRV_PCM_RATE_192000;
+ default:
+ return 0;
+ }
+}
--
1.7.0.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH: TinyCompress 2/2] cplay: use get_alsa_rate to convert sample rate
2013-05-23 8:12 [PATCH: TinyCompress 1/2] add utils file with rate conversion helper Vinod Koul
@ 2013-05-23 8:12 ` Vinod Koul
2013-05-26 14:13 ` [PATCH: TinyCompress 1/2] add utils file with rate conversion helper Vinod Koul
1 sibling, 0 replies; 3+ messages in thread
From: Vinod Koul @ 2013-05-23 8:12 UTC (permalink / raw)
To: alsa-devel; +Cc: Vinod Koul
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
cplay.c | 48 +++++-------------------------------------------
1 files changed, 5 insertions(+), 43 deletions(-)
diff --git a/cplay.c b/cplay.c
index 673026e..10c5424 100644
--- a/cplay.c
+++ b/cplay.c
@@ -226,49 +226,11 @@ void play_samples(char *name, unsigned int card, unsigned int device,
codec.id = SND_AUDIOCODEC_MP3;
codec.ch_in = channels;
codec.ch_out = channels;
- switch (rate) {
- case 5512:
- codec.sample_rate = SNDRV_PCM_RATE_5512;
- break;
- case 8000:
- codec.sample_rate = SNDRV_PCM_RATE_8000;
- break;
- case 11025:
- codec.sample_rate = SNDRV_PCM_RATE_11025;
- break;
- case 16000:
- codec.sample_rate = SNDRV_PCM_RATE_16000;
- break;
- case 220500:
- codec.sample_rate = SNDRV_PCM_RATE_22050;
- break;
- case 32000:
- codec.sample_rate = SNDRV_PCM_RATE_32000;
- break;
- case 44100:
- codec.sample_rate = SNDRV_PCM_RATE_44100;
- break;
- case 48000:
- codec.sample_rate = SNDRV_PCM_RATE_48000;
- break;
- case 64000:
- codec.sample_rate = SNDRV_PCM_RATE_64000;
- break;
- case 88200:
- codec.sample_rate = SNDRV_PCM_RATE_88200;
- break;
- case 96000:
- codec.sample_rate = SNDRV_PCM_RATE_96000;
- break;
- case 176400:
- codec.sample_rate = SNDRV_PCM_RATE_176400;
- break;
- case 192000:
- codec.sample_rate = SNDRV_PCM_RATE_192000;
- break;
- default:
- fprintf(stderr, "unknown sample rate %d\n", rate);
- goto FILE_EXIT;
+ codec.sample_rate = compress_get_alsa_rate(rate);
+ if (!codec.sample_rate) {
+ fprintf(stderr, "invalid sample rate %d\n", rate);
+ fclose(file);
+ exit(EXIT_FAILURE);
}
codec.bit_rate = bits;
codec.rate_control = 0;
--
1.7.0.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH: TinyCompress 1/2] add utils file with rate conversion helper
2013-05-23 8:12 [PATCH: TinyCompress 1/2] add utils file with rate conversion helper Vinod Koul
2013-05-23 8:12 ` [PATCH: TinyCompress 2/2] cplay: use get_alsa_rate to convert sample rate Vinod Koul
@ 2013-05-26 14:13 ` Vinod Koul
1 sibling, 0 replies; 3+ messages in thread
From: Vinod Koul @ 2013-05-26 14:13 UTC (permalink / raw)
To: alsa-devel
On Thu, May 23, 2013 at 01:42:46PM +0530, Vinod Koul wrote:
> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Applied both
--
~Vinod
> ---
> Android.mk | 2 +-
> include/tinycompress/tinycompress.h | 2 +
> makefile.linux | 2 +-
> utils.c | 96 +++++++++++++++++++++++++++++++++++
> 4 files changed, 100 insertions(+), 2 deletions(-)
> create mode 100644 utils.c
>
> diff --git a/Android.mk b/Android.mk
> index b9c52e2..104dfef 100644
> --- a/Android.mk
> +++ b/Android.mk
> @@ -2,7 +2,7 @@ LOCAL_PATH:= $(call my-dir)
>
> include $(CLEAR_VARS)
> LOCAL_C_INCLUDES:= $(LOCAL_PATH)/include
> -LOCAL_SRC_FILES:= compress.c
> +LOCAL_SRC_FILES:= compress.c utils.c
> LOCAL_MODULE := libtinycompress
> LOCAL_SHARED_LIBRARIES:= libcutils libutils
> LOCAL_MODULE_TAGS := optional
> diff --git a/include/tinycompress/tinycompress.h b/include/tinycompress/tinycompress.h
> index 9867afc..e947322 100644
> --- a/include/tinycompress/tinycompress.h
> +++ b/include/tinycompress/tinycompress.h
> @@ -267,4 +267,6 @@ const char *compress_get_error(struct compress *compress);
> #define SNDRV_PCM_RATE_176400 (1<<11) /* 176400Hz */
> #define SNDRV_PCM_RATE_192000 (1<<12) /* 192000Hz */
>
> +/* utility functions */
> +unsigned int compress_get_alsa_rate(unsigned int rate);
> #endif
> diff --git a/makefile.linux b/makefile.linux
> index 60d6c04..677878d 100644
> --- a/makefile.linux
> +++ b/makefile.linux
> @@ -2,7 +2,7 @@ LIB = libtinycompress
> BIN = cplay
> VER = 0.1
> LIBSRC = compress.c
> -SRC = cplay.c
> +SRC = cplay.c utils.c
> LIBOBJ = ${LIBSRC:.c=.o}
> OBJ = ${SRC:.c=.o}
>
> diff --git a/utils.c b/utils.c
> new file mode 100644
> index 0000000..fa37f23
> --- /dev/null
> +++ b/utils.c
> @@ -0,0 +1,96 @@
> +/*
> + * BSD LICENSE
> + *
> + * tinycompress utility functions
> + * Copyright (c) 2011-2013, Intel Corporation
> + * All rights reserved.
> + *
> + * Author: Vinod Koul <vinod.koul@intel.com>
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions are met:
> + *
> + * Redistributions of source code must retain the above copyright notice,
> + * this list of conditions and the following disclaimer.
> + * Redistributions in binary form must reproduce the above copyright notice,
> + * this list of conditions and the following disclaimer in the documentation
> + * and/or other materials provided with the distribution.
> + * Neither the name of Intel Corporation nor the names of its contributors
> + * may be used to endorse or promote products derived from this software
> + * without specific prior written permission.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
> + * THE POSSIBILITY OF SUCH DAMAGE.
> + *
> + * LGPL LICENSE
> + *
> + * tinycompress utility functions
> + * Copyright (c) 2011-2013, Intel Corporation
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms and conditions of the GNU Lesser General Public License,
> + * version 2.1, as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope it will be useful, but WITHOUT
> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
> + * License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public License
> + * along with this program; if not, write to
> + * the Free Software Foundation, Inc.,
> + * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
> + */
> +#include <stdio.h>
> +#include <stdlib.h>
> +#include <stdbool.h>
> +#include <linux/types.h>
> +#include <sys/time.h>
> +#define __force
> +#define __bitwise
> +#define __user
> +#include "tinycompress/tinycompress.h"
> +
> +
> +unsigned int compress_get_alsa_rate(unsigned int rate)
> +{
> + switch (rate) {
> + case 5512:
> + return SNDRV_PCM_RATE_5512;
> + case 8000:
> + return SNDRV_PCM_RATE_8000;
> + case 11025:
> + return SNDRV_PCM_RATE_11025;
> + case 16000:
> + return SNDRV_PCM_RATE_16000;
> + case 220500:
> + return SNDRV_PCM_RATE_22050;
> + case 32000:
> + return SNDRV_PCM_RATE_32000;
> + case 44100:
> + return SNDRV_PCM_RATE_44100;
> + case 48000:
> + return SNDRV_PCM_RATE_48000;
> + case 64000:
> + return SNDRV_PCM_RATE_64000;
> + case 88200:
> + return SNDRV_PCM_RATE_88200;
> + case 96000:
> + return SNDRV_PCM_RATE_96000;
> + case 176400:
> + return SNDRV_PCM_RATE_176400;
> + case 192000:
> + return SNDRV_PCM_RATE_192000;
> + default:
> + return 0;
> + }
> +}
> --
> 1.7.0.4
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-05-26 14:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-23 8:12 [PATCH: TinyCompress 1/2] add utils file with rate conversion helper Vinod Koul
2013-05-23 8:12 ` [PATCH: TinyCompress 2/2] cplay: use get_alsa_rate to convert sample rate Vinod Koul
2013-05-26 14:13 ` [PATCH: TinyCompress 1/2] add utils file with rate conversion helper Vinod Koul
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.