diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-07-02 21:08:02 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-07-02 21:08:02 -0400 |
commit | b7099ac25d1b8de34994c69365d2cda032cf5d96 (patch) | |
tree | 053506f7249779243963b437121580483552492a | |
parent | 3340034dfbf223182101ed08bea5524a1b222a4f (diff) | |
parent | bdb6e8ec52f2cdf899a925292fda5a5de982b5dd (diff) | |
download | jack1-b7099ac25d1b8de34994c69365d2cda032cf5d96.tar.gz |
Merge pull request #23 from falkTX/master
including S24_LE/BE formats to linux alsa driver
-rw-r--r-- | drivers/alsa/alsa_driver.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/alsa/alsa_driver.c b/drivers/alsa/alsa_driver.c index 93b1633..49cdef6 100644 --- a/drivers/alsa/alsa_driver.c +++ b/drivers/alsa/alsa_driver.c @@ -346,20 +346,21 @@ alsa_driver_configure_stream (alsa_driver_t *driver, char *device_name, unsigned int frame_rate; snd_pcm_uframes_t stop_th; static struct { - char Name[32]; + char Name[40]; snd_pcm_format_t format; int swapped; } formats[] = { - {"32bit float little-endian", SND_PCM_FORMAT_FLOAT_LE}, + {"32bit float little-endian", SND_PCM_FORMAT_FLOAT_LE, IS_LE}, {"32bit integer little-endian", SND_PCM_FORMAT_S32_LE, IS_LE}, {"32bit integer big-endian", SND_PCM_FORMAT_S32_BE, IS_BE}, - {"24bit little-endian", SND_PCM_FORMAT_S24_3LE, IS_LE}, - {"24bit big-endian", SND_PCM_FORMAT_S24_3BE, IS_BE}, + {"24bit little-endian in 3bytes format", SND_PCM_FORMAT_S24_3LE, IS_LE}, + {"24bit big-endian in 3bytes format", SND_PCM_FORMAT_S24_3BE, IS_BE}, + {"24bit little-endian", SND_PCM_FORMAT_S24_LE, IS_LE}, + {"24bit big-endian", SND_PCM_FORMAT_S24_BE, IS_BE}, {"16bit little-endian", SND_PCM_FORMAT_S16_LE, IS_LE}, {"16bit big-endian", SND_PCM_FORMAT_S16_BE, IS_BE}, }; #define NUMFORMATS (sizeof(formats)/sizeof(formats[0])) -#define FIRST_16BIT_FORMAT 5 if ((err = snd_pcm_hw_params_any (handle, hw_params)) < 0) { jack_error ("ALSA: no playback configurations available (%s)", @@ -741,6 +742,8 @@ alsa_driver_set_parameters (alsa_driver_t *driver, case SND_PCM_FORMAT_S32_LE: case SND_PCM_FORMAT_S24_3LE: case SND_PCM_FORMAT_S24_3BE: + case SND_PCM_FORMAT_S24_LE: + case SND_PCM_FORMAT_S24_BE: case SND_PCM_FORMAT_S16_LE: case SND_PCM_FORMAT_S32_BE: case SND_PCM_FORMAT_S16_BE: @@ -759,6 +762,8 @@ alsa_driver_set_parameters (alsa_driver_t *driver, case SND_PCM_FORMAT_S32_LE: case SND_PCM_FORMAT_S24_3LE: case SND_PCM_FORMAT_S24_3BE: + case SND_PCM_FORMAT_S24_LE: + case SND_PCM_FORMAT_S24_BE: case SND_PCM_FORMAT_S16_LE: case SND_PCM_FORMAT_S32_BE: case SND_PCM_FORMAT_S16_BE: |