Update to tinycompress 2.0
0f25782 Tinycompress version 0.2.0
6b27cf7 compress: Add non-blocking I/O
0e0c39e compress: do not poll if enough space to write remaining data
78672ce compress: copy final version of config struct
5777ab6 cplay: use get_alsa_rate to convert sample rate
1bb4a13 add utils file with rate conversion helper
38145d7 fix error reporting in tinycompress
aad6a2a compress: fix hpointer error when no sample rate
31d610d compress: check for config first
Change-Id: I51037eacdab73dfd4f3b8e58cda79f536503f826
diff --git a/cplay.c b/cplay.c
index 21e64a4..10c5424 100644
--- a/cplay.c
+++ b/cplay.c
@@ -66,9 +66,9 @@
#define __force
#define __bitwise
#define __user
-#include <sound/compress_params.h>
-#include <tinycompress/tinycompress.h>
-#include <tinycompress/tinymp3.h>
+#include "sound/compress_params.h"
+#include "tinycompress/tinycompress.h"
+#include "tinycompress/tinymp3.h"
static int verbose;
@@ -226,49 +226,11 @@
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;