summaryrefslogtreecommitdiffstats
path: root/src/utils/paplay.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/paplay.c')
-rw-r--r--src/utils/paplay.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/utils/paplay.c b/src/utils/paplay.c
index d4af95c1..5f203615 100644
--- a/src/utils/paplay.c
+++ b/src/utils/paplay.c
@@ -317,24 +317,26 @@ int main(int argc, char *argv[]) {
sample_spec.rate = sfinfo.samplerate;
sample_spec.channels = sfinfo.channels;
+ readf_function = NULL;
+
switch (sfinfo.format & 0xFF) {
case SF_FORMAT_PCM_16:
case SF_FORMAT_PCM_U8:
+ case SF_FORMAT_PCM_S8:
sample_spec.format = PA_SAMPLE_S16NE;
readf_function = (sf_count_t (*)(SNDFILE *_sndfile, void *ptr, sf_count_t frames)) sf_readf_short;
break;
case SF_FORMAT_ULAW:
sample_spec.format = PA_SAMPLE_ULAW;
- readf_function = NULL;
break;
case SF_FORMAT_ALAW:
sample_spec.format = PA_SAMPLE_ALAW;
- readf_function = NULL;
break;
case SF_FORMAT_FLOAT:
+ case SF_FORMAT_DOUBLE:
default:
sample_spec.format = PA_SAMPLE_FLOAT32NE;
readf_function = (sf_count_t (*)(SNDFILE *_sndfile, void *ptr, sf_count_t frames)) sf_readf_float;