Uros Bizjak <uros@kss-loka.si>

Sun, 12 Dec 1999 17:30:00 +0100 (CET)
Submitted adpcm.c has messed source - it is OK, but 'indent' wrapped all
long lines. I corrected that, and please find a patch to current CVS which
cleans this mess.
This commit is contained in:
Jaroslav Kysela 1999-12-12 17:26:13 +00:00
parent b563621421
commit 637a8dd5b0

View file

@ -217,18 +217,14 @@ struct adpcm_private_data {
adpcm_state_t state; adpcm_state_t state;
}; };
static void adpcm_conv_u8bit_adpcm(adpcm_state_t * state_ptr, static void adpcm_conv_u8bit_adpcm(adpcm_state_t * state_ptr, unsigned char *src_ptr, unsigned char *dst_ptr, size_t size)
unsigned char *src_ptr,
unsigned char *dst_ptr, size_t size)
{ {
unsigned int pcm; unsigned int pcm;
while (size-- > 0) { while (size-- > 0) {
pcm = ((*src_ptr++) ^ 0x80) << 8; pcm = ((*src_ptr++) ^ 0x80) << 8;
state_ptr->io_buffer |= state_ptr->io_buffer |= adpcm_encoder((signed short)(pcm), state_ptr) << state_ptr->io_shift;
adpcm_encoder((signed short) (pcm),
state_ptr) << state_ptr->io_shift;
if (!(state_ptr->io_shift)) { if (!(state_ptr->io_shift)) {
*dst_ptr++ = state_ptr->io_buffer & 0xff; *dst_ptr++ = state_ptr->io_buffer & 0xff;
state_ptr->io_buffer = 0; state_ptr->io_buffer = 0;
@ -240,18 +236,14 @@ static void adpcm_conv_u8bit_adpcm(adpcm_state_t * state_ptr,
} }
} }
static void adpcm_conv_s8bit_adpcm(adpcm_state_t * state_ptr, static void adpcm_conv_s8bit_adpcm(adpcm_state_t * state_ptr, unsigned char *src_ptr, unsigned char *dst_ptr, size_t size)
unsigned char *src_ptr,
unsigned char *dst_ptr, size_t size)
{ {
unsigned int pcm; unsigned int pcm;
while (size-- > 0) { while (size-- > 0) {
pcm = *src_ptr++ << 8; pcm = *src_ptr++ << 8;
state_ptr->io_buffer |= state_ptr->io_buffer |= adpcm_encoder((signed short)(pcm), state_ptr) << state_ptr->io_shift;
adpcm_encoder((signed short) (pcm),
state_ptr) << state_ptr->io_shift;
if (!(state_ptr->io_shift)) { if (!(state_ptr->io_shift)) {
*dst_ptr++ = state_ptr->io_buffer & 0xff; *dst_ptr++ = state_ptr->io_buffer & 0xff;
state_ptr->io_buffer = 0; state_ptr->io_buffer = 0;
@ -263,14 +255,10 @@ static void adpcm_conv_s8bit_adpcm(adpcm_state_t * state_ptr,
} }
} }
static void adpcm_conv_s16bit_adpcm(adpcm_state_t * state_ptr, static void adpcm_conv_s16bit_adpcm(adpcm_state_t * state_ptr, unsigned short *src_ptr, unsigned char *dst_ptr, size_t size)
unsigned short *src_ptr,
unsigned char *dst_ptr, size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
state_ptr->io_buffer |= state_ptr->io_buffer |= adpcm_encoder((signed short)(*src_ptr++), state_ptr) << state_ptr->io_shift;
adpcm_encoder((signed short) (*src_ptr++),
state_ptr) << state_ptr->io_shift;
if (!(state_ptr->io_shift)) { if (!(state_ptr->io_shift)) {
*dst_ptr++ = state_ptr->io_buffer & 0xff; *dst_ptr++ = state_ptr->io_buffer & 0xff;
state_ptr->io_buffer = 0; state_ptr->io_buffer = 0;
@ -282,15 +270,10 @@ static void adpcm_conv_s16bit_adpcm(adpcm_state_t * state_ptr,
} }
} }
static void adpcm_conv_s16bit_swap_adpcm(adpcm_state_t * state_ptr, static void adpcm_conv_s16bit_swap_adpcm(adpcm_state_t * state_ptr, unsigned short *src_ptr, unsigned char *dst_ptr, size_t size)
unsigned short *src_ptr,
unsigned char *dst_ptr,
size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
state_ptr->io_buffer |= state_ptr->io_buffer |= adpcm_encoder((signed short)(bswap_16(*src_ptr++)), state_ptr) << state_ptr->io_shift;
adpcm_encoder((signed short) (bswap_16(*src_ptr++)),
state_ptr) << state_ptr->io_shift;
if (!(state_ptr->io_shift)) { if (!(state_ptr->io_shift)) {
*dst_ptr++ = state_ptr->io_buffer & 0xff; *dst_ptr++ = state_ptr->io_buffer & 0xff;
state_ptr->io_buffer = 0; state_ptr->io_buffer = 0;
@ -302,14 +285,10 @@ static void adpcm_conv_s16bit_swap_adpcm(adpcm_state_t * state_ptr,
} }
} }
static void adpcm_conv_u16bit_adpcm(adpcm_state_t * state_ptr, static void adpcm_conv_u16bit_adpcm(adpcm_state_t * state_ptr, unsigned short *src_ptr, unsigned char *dst_ptr, size_t size)
unsigned short *src_ptr,
unsigned char *dst_ptr, size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
state_ptr->io_buffer |= state_ptr->io_buffer |= adpcm_encoder((signed short)((*src_ptr++) ^ 0x8000), state_ptr) << state_ptr->io_shift;
adpcm_encoder((signed short) ((*src_ptr++) ^ 0x8000),
state_ptr) << state_ptr->io_shift;
if (!(state_ptr->io_shift)) { if (!(state_ptr->io_shift)) {
*dst_ptr++ = state_ptr->io_buffer & 0xff; *dst_ptr++ = state_ptr->io_buffer & 0xff;
state_ptr->io_buffer = 0; state_ptr->io_buffer = 0;
@ -321,19 +300,10 @@ static void adpcm_conv_u16bit_adpcm(adpcm_state_t * state_ptr,
} }
} }
static void adpcm_conv_u16bit_swap_adpcm(adpcm_state_t * state_ptr, static void adpcm_conv_u16bit_swap_adpcm(adpcm_state_t * state_ptr, unsigned short *src_ptr, unsigned char *dst_ptr, size_t size)
unsigned short *src_ptr,
unsigned char *dst_ptr,
size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
state_ptr->io_buffer |= adpcm_encoder((signed short) state_ptr->io_buffer |= adpcm_encoder((signed short)(bswap_16((*src_ptr++) ^ 0x8000)), state_ptr) << state_ptr->io_shift;
(bswap_16
((*src_ptr++) ^
0x8000)),
state_ptr) <<
state_ptr->io_shift;
if (!(state_ptr->io_shift)) { if (!(state_ptr->io_shift)) {
*dst_ptr++ = state_ptr->io_buffer & 0xff; *dst_ptr++ = state_ptr->io_buffer & 0xff;
state_ptr->io_buffer = 0; state_ptr->io_buffer = 0;
@ -345,100 +315,68 @@ static void adpcm_conv_u16bit_swap_adpcm(adpcm_state_t * state_ptr,
} }
} }
static void adpcm_conv_adpcm_u8bit(adpcm_state_t * state_ptr, static void adpcm_conv_adpcm_u8bit(adpcm_state_t * state_ptr, unsigned char *src_ptr, unsigned char *dst_ptr, size_t size)
unsigned char *src_ptr,
unsigned char *dst_ptr, size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
if (state_ptr->io_shift) { if (state_ptr->io_shift) {
state_ptr->io_buffer = *src_ptr++; state_ptr->io_buffer = *src_ptr++;
} }
*dst_ptr++ = *dst_ptr++ = (adpcm_decoder((state_ptr->io_buffer >> state_ptr->io_shift) & 0xf, state_ptr) >> 8) ^ 0x80;
(adpcm_decoder
((state_ptr->io_buffer >> state_ptr->io_shift) & 0xf,
state_ptr) >> 8) ^ 0x80;
state_ptr->io_shift ^= 4; state_ptr->io_shift ^= 4;
} }
} }
static void adpcm_conv_adpcm_s8bit(adpcm_state_t * state_ptr, static void adpcm_conv_adpcm_s8bit(adpcm_state_t * state_ptr, unsigned char *src_ptr, unsigned char *dst_ptr, size_t size)
unsigned char *src_ptr,
unsigned char *dst_ptr, size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
if (state_ptr->io_shift) { if (state_ptr->io_shift) {
state_ptr->io_buffer = *src_ptr++; state_ptr->io_buffer = *src_ptr++;
} }
*dst_ptr++ = *dst_ptr++ = adpcm_decoder((state_ptr->io_buffer >> state_ptr->io_shift) & 0xf, state_ptr) >> 8;
adpcm_decoder(
(state_ptr->io_buffer >> state_ptr->
io_shift) & 0xf, state_ptr) >> 8;
state_ptr->io_shift ^= 4; state_ptr->io_shift ^= 4;
} }
} }
static void adpcm_conv_adpcm_s16bit(adpcm_state_t * state_ptr, static void adpcm_conv_adpcm_s16bit(adpcm_state_t * state_ptr, unsigned char *src_ptr, unsigned short *dst_ptr, size_t size)
unsigned char *src_ptr,
unsigned short *dst_ptr, size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
if (state_ptr->io_shift) { if (state_ptr->io_shift) {
state_ptr->io_buffer = *src_ptr++; state_ptr->io_buffer = *src_ptr++;
} }
*dst_ptr++ = *dst_ptr++ = adpcm_decoder((state_ptr->io_buffer >> state_ptr->io_shift) & 0xf, state_ptr);
adpcm_decoder(
(state_ptr->io_buffer >> state_ptr->
io_shift) & 0xf, state_ptr);
state_ptr->io_shift ^= 4; state_ptr->io_shift ^= 4;
} }
} }
static void adpcm_conv_adpcm_swap_s16bit(adpcm_state_t * state_ptr, static void adpcm_conv_adpcm_swap_s16bit(adpcm_state_t * state_ptr, unsigned char *src_ptr, unsigned short *dst_ptr, size_t size)
unsigned char *src_ptr,
unsigned short *dst_ptr,
size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
if (state_ptr->io_shift) { if (state_ptr->io_shift) {
state_ptr->io_buffer = *src_ptr++; state_ptr->io_buffer = *src_ptr++;
} }
*dst_ptr++ = *dst_ptr++ = bswap_16(adpcm_decoder((state_ptr->io_buffer >> state_ptr->io_shift) & 0xf, state_ptr));
bswap_16(adpcm_decoder
((state_ptr->io_buffer >> state_ptr->io_shift)
& 0xf, state_ptr));
state_ptr->io_shift ^= 4; state_ptr->io_shift ^= 4;
} }
} }
static void adpcm_conv_adpcm_u16bit(adpcm_state_t * state_ptr, static void adpcm_conv_adpcm_u16bit(adpcm_state_t * state_ptr, unsigned char *src_ptr, unsigned short *dst_ptr, size_t size)
unsigned char *src_ptr,
unsigned short *dst_ptr, size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
if (state_ptr->io_shift) { if (state_ptr->io_shift) {
state_ptr->io_buffer = *src_ptr++; state_ptr->io_buffer = *src_ptr++;
} }
*dst_ptr++ = *dst_ptr++ = adpcm_decoder((state_ptr->io_buffer >> state_ptr->io_shift) & 0xf, state_ptr) ^ 0x8000;
adpcm_decoder(
(state_ptr->io_buffer >> state_ptr->
io_shift) & 0xf, state_ptr) ^ 0x8000;
state_ptr->io_shift ^= 4; state_ptr->io_shift ^= 4;
} }
} }
static void adpcm_conv_adpcm_swap_u16bit(adpcm_state_t * state_ptr, static void adpcm_conv_adpcm_swap_u16bit(adpcm_state_t * state_ptr, unsigned char *src_ptr, unsigned short *dst_ptr, size_t size)
unsigned char *src_ptr,
unsigned short *dst_ptr,
size_t size)
{ {
while (size-- > 0) { while (size-- > 0) {
if (state_ptr->io_shift) { if (state_ptr->io_shift) {
state_ptr->io_buffer = *src_ptr++; state_ptr->io_buffer = *src_ptr++;
} }
*dst_ptr++ = *dst_ptr++ = bswap_16(adpcm_decoder((state_ptr->io_buffer >> state_ptr->io_shift) & 0xf, state_ptr) ^ 0x8000);
bswap_16(adpcm_decoder
((state_ptr->io_buffer >> state_ptr->io_shift)
& 0xf, state_ptr) ^ 0x8000);
state_ptr->io_shift ^= 4; state_ptr->io_shift ^= 4;
} }
} }
@ -450,37 +388,31 @@ static ssize_t adpcm_transfer(snd_pcm_plugin_t * plugin,
struct adpcm_private_data *data; struct adpcm_private_data *data;
if (plugin == NULL || src_ptr == NULL || src_size < 0 || if (plugin == NULL || src_ptr == NULL || src_size < 0 ||
dst_ptr == NULL || dst_size < 0) dst_ptr == NULL || dst_size < 0)
return -EINVAL; return -EINVAL;
if (src_size == 0) if (src_size == 0)
return 0; return 0;
data = (struct adpcm_private_data *) data = (struct adpcm_private_data *)snd_pcm_plugin_extra_data(plugin);
snd_pcm_plugin_extra_data(plugin);
if (data == NULL) if (data == NULL)
return -EINVAL; return -EINVAL;
switch (data->cmd) { switch (data->cmd) {
case _U8_ADPCM: case _U8_ADPCM:
if ((dst_size << 1) < src_size) if ((dst_size << 1) < src_size)
return -EINVAL; return -EINVAL;
adpcm_conv_u8bit_adpcm(&data->state, src_ptr, dst_ptr, adpcm_conv_u8bit_adpcm(&data->state, src_ptr, dst_ptr, src_size);
src_size);
return src_size >> 1; return src_size >> 1;
case _S8_ADPCM: case _S8_ADPCM:
if ((dst_size << 1) < src_size) if ((dst_size << 1) < src_size)
return -EINVAL; return -EINVAL;
adpcm_conv_s8bit_adpcm(&data->state, src_ptr, dst_ptr, adpcm_conv_s8bit_adpcm(&data->state, src_ptr, dst_ptr, src_size);
src_size);
return src_size >> 1; return src_size >> 1;
case _S16LE_ADPCM: case _S16LE_ADPCM:
if ((dst_size << 2) < src_size) if ((dst_size << 2) < src_size)
return -EINVAL; return -EINVAL;
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
adpcm_conv_s16bit_adpcm(&data->state, (short *) src_ptr, adpcm_conv_s16bit_adpcm(&data->state, (short *) src_ptr, dst_ptr, src_size >> 1);
dst_ptr, src_size >> 1);
#elif __BYTE_ORDER == __BIG_ENDIAN #elif __BYTE_ORDER == __BIG_ENDIAN
adpcm_conv_s16bit_swap_adpcm(&data->state, adpcm_conv_s16bit_swap_adpcm(&data->state, (short *) src_ptr, dst_ptr, src_size >> 1);
(short *) src_ptr, dst_ptr,
src_size >> 1);
#else #else
#error "Have to be coded..." #error "Have to be coded..."
#endif #endif
@ -489,12 +421,9 @@ static ssize_t adpcm_transfer(snd_pcm_plugin_t * plugin,
if ((dst_size << 2) < src_size) if ((dst_size << 2) < src_size)
return -EINVAL; return -EINVAL;
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
adpcm_conv_u16bit_adpcm(&data->state, (short *) src_ptr, adpcm_conv_u16bit_adpcm(&data->state, (short *) src_ptr, dst_ptr, src_size >> 1);
dst_ptr, src_size >> 1);
#elif __BYTE_ORDER == __BIG_ENDIAN #elif __BYTE_ORDER == __BIG_ENDIAN
adpcm_conv_u16bit_swap_adpcm(&data->state, adpcm_conv_u16bit_swap_adpcm(&data->state, (short *) src_ptr, dst_ptr, src_size >> 1);
(short *) src_ptr, dst_ptr,
src_size >> 1);
#else #else
#error "Have to be coded..." #error "Have to be coded..."
#endif #endif
@ -503,12 +432,9 @@ static ssize_t adpcm_transfer(snd_pcm_plugin_t * plugin,
if ((dst_size << 2) < src_size) if ((dst_size << 2) < src_size)
return -EINVAL; return -EINVAL;
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
adpcm_conv_s16bit_swap_adpcm(&data->state, adpcm_conv_s16bit_swap_adpcm(&data->state, (short *) src_ptr, dst_ptr, src_size >> 1);
(short *) src_ptr, dst_ptr,
src_size >> 1);
#elif __BYTE_ORDER == __BIG_ENDIAN #elif __BYTE_ORDER == __BIG_ENDIAN
adpcm_conv_s16bit_adpcm(&data->state, (short *) src_ptr, adpcm_conv_s16bit_adpcm(&data->state, (short *) src_ptr, dst_ptr, src_size >> 1);
dst_ptr, src_size >> 1);
#else #else
#error "Have to be coded..." #error "Have to be coded..."
#endif #endif
@ -517,12 +443,9 @@ static ssize_t adpcm_transfer(snd_pcm_plugin_t * plugin,
if ((dst_size << 2) < src_size) if ((dst_size << 2) < src_size)
return -EINVAL; return -EINVAL;
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
adpcm_conv_u16bit_swap_adpcm(&data->state, adpcm_conv_u16bit_swap_adpcm(&data->state, (short *) src_ptr, dst_ptr, src_size >> 1);
(short *) src_ptr, dst_ptr,
src_size >> 1);
#elif __BYTE_ORDER == __BIG_ENDIAN #elif __BYTE_ORDER == __BIG_ENDIAN
adpcm_conv_u16bit_adpcm(&data->state, (short *) src_ptr, adpcm_conv_u16bit_adpcm(&data->state, (short *) src_ptr, dst_ptr, src_size >> 1);
dst_ptr, src_size >> 1);
#else #else
#error "Have to be coded..." #error "Have to be coded..."
#endif #endif
@ -530,25 +453,20 @@ static ssize_t adpcm_transfer(snd_pcm_plugin_t * plugin,
case _ADPCM_U8: case _ADPCM_U8:
if ((dst_size >> 1) < src_size) if ((dst_size >> 1) < src_size)
return -EINVAL; return -EINVAL;
adpcm_conv_adpcm_u8bit(&data->state, src_ptr, dst_ptr, adpcm_conv_adpcm_u8bit(&data->state, src_ptr, dst_ptr, src_size << 1);
src_size << 1);
return src_size << 1; return src_size << 1;
case _ADPCM_S8: case _ADPCM_S8:
if ((dst_size >> 1) < src_size) if ((dst_size >> 1) < src_size)
return -EINVAL; return -EINVAL;
adpcm_conv_adpcm_s8bit(&data->state, src_ptr, dst_ptr, adpcm_conv_adpcm_s8bit(&data->state, src_ptr, dst_ptr, src_size << 1);
src_size << 1);
return src_size << 1; return src_size << 1;
case _ADPCM_S16LE: case _ADPCM_S16LE:
if ((dst_size >> 2) < src_size) if ((dst_size >> 2) < src_size)
return -EINVAL; return -EINVAL;
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
adpcm_conv_adpcm_s16bit(&data->state, src_ptr, adpcm_conv_adpcm_s16bit(&data->state, src_ptr, (short *) dst_ptr, src_size << 1);
(short *) dst_ptr, src_size << 1);
#elif __BYTE_ORDER == __BIG_ENDIAN #elif __BYTE_ORDER == __BIG_ENDIAN
adpcm_conv_adpcm_swap_s16bit(&data->state, src_ptr, adpcm_conv_adpcm_swap_s16bit(&data->state, src_ptr, (short *) dst_ptr, src_size << 1);
(short *) dst_ptr,
src_size << 1);
#else #else
#error "Have to be coded..." #error "Have to be coded..."
#endif #endif
@ -557,12 +475,9 @@ static ssize_t adpcm_transfer(snd_pcm_plugin_t * plugin,
if ((dst_size >> 2) < src_size) if ((dst_size >> 2) < src_size)
return -EINVAL; return -EINVAL;
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
adpcm_conv_adpcm_u16bit(&data->state, src_ptr, adpcm_conv_adpcm_u16bit(&data->state, src_ptr, (short *) dst_ptr, src_size << 1);
(short *) dst_ptr, src_size << 1);
#elif __BYTE_ORDER == __BIG_ENDIAN #elif __BYTE_ORDER == __BIG_ENDIAN
adpcm_conv_adpcm_swap_u16bit(&data->state, src_ptr, adpcm_conv_adpcm_swap_u16bit(&data->state, src_ptr, (short *) dst_ptr, src_size << 1);
(short *) dst_ptr,
src_size << 1);
#else #else
#error "Have to be coded..." #error "Have to be coded..."
#endif #endif
@ -571,12 +486,9 @@ static ssize_t adpcm_transfer(snd_pcm_plugin_t * plugin,
if ((dst_size >> 2) < src_size) if ((dst_size >> 2) < src_size)
return -EINVAL; return -EINVAL;
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
adpcm_conv_adpcm_swap_s16bit(&data->state, src_ptr, adpcm_conv_adpcm_swap_s16bit(&data->state, src_ptr, (short *) dst_ptr, src_size << 1);
(short *) dst_ptr,
src_size << 1);
#elif __BYTE_ORDER == __BIG_ENDIAN #elif __BYTE_ORDER == __BIG_ENDIAN
adpcm_conv_adpcm_s16bit(&data->state, src_ptr, adpcm_conv_adpcm_s16bit(&data->state, src_ptr, (short *) dst_ptr, src_size << 1);
(short *) dst_ptr, src_size << 1);
#else #else
#error "Have to be coded..." #error "Have to be coded..."
#endif #endif
@ -585,12 +497,9 @@ static ssize_t adpcm_transfer(snd_pcm_plugin_t * plugin,
if ((dst_size << 2) < src_size) if ((dst_size << 2) < src_size)
return -EINVAL; return -EINVAL;
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
adpcm_conv_adpcm_swap_u16bit(&data->state, src_ptr, adpcm_conv_adpcm_swap_u16bit(&data->state, src_ptr, (short *) dst_ptr, src_size << 1);
(short *) dst_ptr,
src_size << 1);
#elif __BYTE_ORDER == __BIG_ENDIAN #elif __BYTE_ORDER == __BIG_ENDIAN
adpcm_conv_adpcm_u16bit(&data->state, src_ptr, adpcm_conv_adpcm_u16bit(&data->state, src_ptr, (short *) dst_ptr, src_size << 1);
(short *) dst_ptr, src_size << 1);
#else #else
#error "Have to be coded..." #error "Have to be coded..."
#endif #endif
@ -600,15 +509,13 @@ static ssize_t adpcm_transfer(snd_pcm_plugin_t * plugin,
} }
} }
static int adpcm_action(snd_pcm_plugin_t * plugin, static int adpcm_action(snd_pcm_plugin_t * plugin, snd_pcm_plugin_action_t action)
snd_pcm_plugin_action_t action)
{ {
struct adpcm_private_data *data; struct adpcm_private_data *data;
if (plugin == NULL) if (plugin == NULL)
return -EINVAL; return -EINVAL;
data = (struct adpcm_private_data *) data = (struct adpcm_private_data *)snd_pcm_plugin_extra_data(plugin);
snd_pcm_plugin_extra_data(plugin);
if (action == PREPARE) if (action == PREPARE)
adpcm_init_state(&data->state); adpcm_init_state(&data->state);
return 0; /* silenty ignore other actions */ return 0; /* silenty ignore other actions */
@ -620,8 +527,7 @@ static ssize_t adpcm_src_size(snd_pcm_plugin_t * plugin, size_t size)
if (!plugin || size <= 0) if (!plugin || size <= 0)
return -EINVAL; return -EINVAL;
data = (struct adpcm_private_data *) data = (struct adpcm_private_data *)snd_pcm_plugin_extra_data(plugin);
snd_pcm_plugin_extra_data(plugin);
switch (data->cmd) { switch (data->cmd) {
case _U8_ADPCM: case _U8_ADPCM:
case _S8_ADPCM: case _S8_ADPCM:
@ -650,8 +556,7 @@ static ssize_t adpcm_dst_size(snd_pcm_plugin_t * plugin, size_t size)
if (!plugin || size <= 0) if (!plugin || size <= 0)
return -EINVAL; return -EINVAL;
data = (struct adpcm_private_data *) data = (struct adpcm_private_data *)snd_pcm_plugin_extra_data(plugin);
snd_pcm_plugin_extra_data(plugin);
switch (data->cmd) { switch (data->cmd) {
case _U8_ADPCM: case _U8_ADPCM:
case _S8_ADPCM: case _S8_ADPCM:
@ -723,8 +628,7 @@ int snd_pcm_plugin_build_adpcm(snd_pcm_format_t * src_format,
sizeof(struct adpcm_private_data)); sizeof(struct adpcm_private_data));
if (plugin == NULL) if (plugin == NULL)
return -ENOMEM; return -ENOMEM;
data = (struct adpcm_private_data *) data = (struct adpcm_private_data *)snd_pcm_plugin_extra_data(plugin);
snd_pcm_plugin_extra_data(plugin);
data->cmd = cmd; data->cmd = cmd;
plugin->transfer = adpcm_transfer; plugin->transfer = adpcm_transfer;
plugin->src_size = adpcm_src_size; plugin->src_size = adpcm_src_size;