* [PATCH 0/3]: tinycompress: header and rate fixes
@ 2013-12-16 15:14 Vinod Koul
2013-12-16 15:14 ` [PATCH 1/3] tinycompress: update the header to kernel API v0.1.2 Vinod Koul
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Vinod Koul @ 2013-12-16 15:14 UTC (permalink / raw)
To: alsa-devel; +Cc: Vinod Koul
This patch series update the header file to verion 0.1.2. This brings the 64bit
ABI compatiblity issue fix.
Users have complianed about use of SNDRV_RATE_xxx for passing the sample rates
as it doesnt scale to what decoder user. So time to junk this and use raw rates
as is.
Vinod Koul (3):
tinycompress: update the header to kernel API v0.1.2
tinycompress: cplay: use the numeric sample rate
tinycompress: remove usage of SNDRV_RATE_xxx
cplay.c | 2 +-
include/sound/compress_offload.h | 23 ++++++++++++++---------
include/sound/compress_params.h | 9 +++++++++
include/tinycompress/tinycompress.h | 20 --------------------
utils.c | 34 ----------------------------------
5 files changed, 24 insertions(+), 64 deletions(-)
--
~Vinod
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/3] tinycompress: update the header to kernel API v0.1.2
2013-12-16 15:14 [PATCH 0/3]: tinycompress: header and rate fixes Vinod Koul
@ 2013-12-16 15:14 ` Vinod Koul
2013-12-16 15:14 ` [PATCH 2/3] tinycompress: cplay: use the numeric sample rate Vinod Koul
2013-12-16 15:15 ` [PATCH 3/3] tinycompress: remove usage of SNDRV_RATE_xxx Vinod Koul
2 siblings, 0 replies; 4+ messages in thread
From: Vinod Koul @ 2013-12-16 15:14 UTC (permalink / raw)
To: alsa-devel; +Cc: Vinod Koul
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
include/sound/compress_offload.h | 23 ++++++++++++++---------
include/sound/compress_params.h | 9 +++++++++
2 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/include/sound/compress_offload.h b/include/sound/compress_offload.h
index 17377df..6a8e97f 100644
--- a/include/sound/compress_offload.h
+++ b/include/sound/compress_offload.h
@@ -7,17 +7,21 @@
*** structures, and macros generated from the original header, and thus,
*** contains no copyrightable information.
***
+ *** To edit the content of this header, modify the corresponding
+ *** source file (e.g. under external/kernel-headers/original/) then
+ *** run bionic/libc/kernel/tools/update_all.py
+ ***
+ *** Any manual change here will be lost the next time this script will
+ *** be run. You've been warned!
+ ***
****************************************************************************
****************************************************************************/
#ifndef __COMPRESS_OFFLOAD_H
#define __COMPRESS_OFFLOAD_H
-
#include <linux/types.h>
#include <sound/asound.h>
-//#include <sound/compress_params.h>
-
-#define SNDRV_COMPRESS_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 1)
-
+#include <sound/compress_params.h>
+#define SNDRV_COMPRESS_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 2)
struct snd_compressed_buffer {
__u32 fragment_size;
__u32 fragments;
@@ -32,8 +36,8 @@ struct snd_compr_params {
struct snd_compr_tstamp {
__u32 byte_offset;
__u32 copied_total;
- snd_pcm_uframes_t pcm_frames;
- snd_pcm_uframes_t pcm_io_frames;
+ __u32 pcm_frames;
+ __u32 pcm_io_frames;
__u32 sampling_rate;
};
@@ -90,6 +94,7 @@ struct snd_compr_metadata {
#define SNDRV_COMPRESS_DRAIN _IO('C', 0x34)
#define SNDRV_COMPRESS_NEXT_TRACK _IO('C', 0x35)
#define SNDRV_COMPRESS_PARTIAL_DRAIN _IO('C', 0x36)
-#define SND_COMPR_TRIGGER_DRAIN 7
-#define SND_COMPR_TRIGGER_PARTIAL_DRAIN 8
+#define SND_COMPR_TRIGGER_DRAIN 7
+#define SND_COMPR_TRIGGER_NEXT_TRACK 8
+#define SND_COMPR_TRIGGER_PARTIAL_DRAIN 9
#endif
diff --git a/include/sound/compress_params.h b/include/sound/compress_params.h
index bc977c5..deda425 100644
--- a/include/sound/compress_params.h
+++ b/include/sound/compress_params.h
@@ -7,11 +7,19 @@
*** structures, and macros generated from the original header, and thus,
*** contains no copyrightable information.
***
+ *** To edit the content of this header, modify the corresponding
+ *** source file (e.g. under external/kernel-headers/original/) then
+ *** run bionic/libc/kernel/tools/update_all.py
+ ***
+ *** Any manual change here will be lost the next time this script will
+ *** be run. You've been warned!
+ ***
****************************************************************************
****************************************************************************/
#ifndef __SND_COMPRESS_PARAMS_H
#define __SND_COMPRESS_PARAMS_H
+#include <linux/types.h>
#define MAX_NUM_CODECS 32
#define MAX_NUM_CODEC_DESCRIPTORS 32
#define MAX_NUM_BITRATES 32
@@ -30,6 +38,7 @@
#define SND_AUDIOCODEC_G723_1 ((__u32) 0x0000000C)
#define SND_AUDIOCODEC_G729 ((__u32) 0x0000000D)
+#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_G729
#define SND_AUDIOPROFILE_PCM ((__u32) 0x00000001)
#define SND_AUDIOCHANMODE_MP3_MONO ((__u32) 0x00000001)
--
1.7.0.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] tinycompress: cplay: use the numeric sample rate
2013-12-16 15:14 [PATCH 0/3]: tinycompress: header and rate fixes Vinod Koul
2013-12-16 15:14 ` [PATCH 1/3] tinycompress: update the header to kernel API v0.1.2 Vinod Koul
@ 2013-12-16 15:14 ` Vinod Koul
2013-12-16 15:15 ` [PATCH 3/3] tinycompress: remove usage of SNDRV_RATE_xxx Vinod Koul
2 siblings, 0 replies; 4+ messages in thread
From: Vinod Koul @ 2013-12-16 15:14 UTC (permalink / raw)
To: alsa-devel; +Cc: Vinod Koul
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
cplay.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cplay.c b/cplay.c
index 10c5424..c46577a 100644
--- a/cplay.c
+++ b/cplay.c
@@ -226,7 +226,7 @@ void play_samples(char *name, unsigned int card, unsigned int device,
codec.id = SND_AUDIOCODEC_MP3;
codec.ch_in = channels;
codec.ch_out = channels;
- codec.sample_rate = compress_get_alsa_rate(rate);
+ codec.sample_rate = rate;
if (!codec.sample_rate) {
fprintf(stderr, "invalid sample rate %d\n", rate);
fclose(file);
--
1.7.0.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] tinycompress: remove usage of SNDRV_RATE_xxx
2013-12-16 15:14 [PATCH 0/3]: tinycompress: header and rate fixes Vinod Koul
2013-12-16 15:14 ` [PATCH 1/3] tinycompress: update the header to kernel API v0.1.2 Vinod Koul
2013-12-16 15:14 ` [PATCH 2/3] tinycompress: cplay: use the numeric sample rate Vinod Koul
@ 2013-12-16 15:15 ` Vinod Koul
2 siblings, 0 replies; 4+ messages in thread
From: Vinod Koul @ 2013-12-16 15:15 UTC (permalink / raw)
To: alsa-devel; +Cc: Vinod Koul
as now it is not to be used for passing the sampling rate
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
include/tinycompress/tinycompress.h | 20 --------------------
utils.c | 34 ----------------------------------
2 files changed, 0 insertions(+), 54 deletions(-)
diff --git a/include/tinycompress/tinycompress.h b/include/tinycompress/tinycompress.h
index 40de69a..e340cca 100644
--- a/include/tinycompress/tinycompress.h
+++ b/include/tinycompress/tinycompress.h
@@ -269,25 +269,5 @@ int is_compress_ready(struct compress *compress);
/* Returns a human readable reason for the last error */
const char *compress_get_error(struct compress *compress);
-/*
- * since the SNDRV_PCM_RATE_* is not availble anywhere in userspace
- * and we have used these to define the sampling rate, we need to define
- * then here
- */
-#define SNDRV_PCM_RATE_5512 (1<<0) /* 5512Hz */
-#define SNDRV_PCM_RATE_8000 (1<<1) /* 8000Hz */
-#define SNDRV_PCM_RATE_11025 (1<<2) /* 11025Hz */
-#define SNDRV_PCM_RATE_16000 (1<<3) /* 16000Hz */
-#define SNDRV_PCM_RATE_22050 (1<<4) /* 22050Hz */
-#define SNDRV_PCM_RATE_32000 (1<<5) /* 32000Hz */
-#define SNDRV_PCM_RATE_44100 (1<<6) /* 44100Hz */
-#define SNDRV_PCM_RATE_48000 (1<<7) /* 48000Hz */
-#define SNDRV_PCM_RATE_64000 (1<<8) /* 64000Hz */
-#define SNDRV_PCM_RATE_88200 (1<<9) /* 88200Hz */
-#define SNDRV_PCM_RATE_96000 (1<<10) /* 96000Hz */
-#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/utils.c b/utils.c
index a835bef..9a0f86a 100644
--- a/utils.c
+++ b/utils.c
@@ -60,37 +60,3 @@
#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 22050:
- 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] 4+ messages in thread
end of thread, other threads:[~2013-12-16 16:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-16 15:14 [PATCH 0/3]: tinycompress: header and rate fixes Vinod Koul
2013-12-16 15:14 ` [PATCH 1/3] tinycompress: update the header to kernel API v0.1.2 Vinod Koul
2013-12-16 15:14 ` [PATCH 2/3] tinycompress: cplay: use the numeric sample rate Vinod Koul
2013-12-16 15:15 ` [PATCH 3/3] tinycompress: remove usage of SNDRV_RATE_xxx Vinod Koul
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).