* [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).