|
|
|
@@ -323,10 +323,22 @@ alsa_driver_setup_io_function_pointers (alsa_driver_t *driver) |
|
|
|
sample_move_d32l24_sS; |
|
|
|
break; |
|
|
|
case SND_PCM_FORMAT_S32_LE: |
|
|
|
driver->write_via_copy = driver->quirk_bswap? |
|
|
|
sample_move_d32_sSs: |
|
|
|
sample_move_d32_sS; |
|
|
|
{ |
|
|
|
int bits = snd_pcm_hw_params_get_sbits(driver->playback_hw_params); |
|
|
|
if (bits == 32) |
|
|
|
{ |
|
|
|
driver->write_via_copy = driver->quirk_bswap? |
|
|
|
sample_move_d32_sSs: |
|
|
|
sample_move_d32_sS; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
driver->write_via_copy = driver->quirk_bswap? |
|
|
|
sample_move_d32u24_sSs: |
|
|
|
sample_move_d32u24_sS; |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
default: |
|
|
|
jack_error("unsupported 4 byte sample_format"); |
|
|
|
exit (1); |
|
|
|
@@ -357,20 +369,32 @@ alsa_driver_setup_io_function_pointers (alsa_driver_t *driver) |
|
|
|
sample_move_dS_s24; |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
switch (driver->capture_sample_format) |
|
|
|
{ |
|
|
|
case SND_PCM_FORMAT_S24_LE: |
|
|
|
case SND_PCM_FORMAT_S24_BE: |
|
|
|
switch (driver->capture_sample_format) |
|
|
|
{ |
|
|
|
case SND_PCM_FORMAT_S24_LE: |
|
|
|
case SND_PCM_FORMAT_S24_BE: |
|
|
|
driver->read_via_copy = driver->quirk_bswap? |
|
|
|
sample_move_dS_s32l24s: |
|
|
|
sample_move_dS_s32l24; |
|
|
|
break; |
|
|
|
case SND_PCM_FORMAT_S32_LE: |
|
|
|
driver->read_via_copy = driver->quirk_bswap? |
|
|
|
sample_move_dS_s32s: |
|
|
|
sample_move_dS_s32; |
|
|
|
break; |
|
|
|
default: |
|
|
|
case SND_PCM_FORMAT_S32_LE: |
|
|
|
{ |
|
|
|
int bits = snd_pcm_hw_params_get_sbits(driver->capture_hw_params); |
|
|
|
if (bits == 32) |
|
|
|
{ |
|
|
|
driver->read_via_copy = driver->quirk_bswap? |
|
|
|
sample_move_dS_s32s: |
|
|
|
sample_move_dS_s32; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
driver->read_via_copy = driver->quirk_bswap? |
|
|
|
sample_move_dS_s32u24s: |
|
|
|
sample_move_dS_s32u24; |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
default: |
|
|
|
jack_error("unsupported 4 byte sample_format"); |
|
|
|
exit (1); |
|
|
|
} |
|
|
|
|