summaryrefslogtreecommitdiffstats
path: root/ext/pulse/pulseutil.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2009-07-14 16:12:55 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2009-07-14 16:14:34 +0200
commitab3bed81a5f6c52f6739e6d33fff197b3c889b1b (patch)
treef55b440e47cc293ee2498c68b5e4d267651e5274 /ext/pulse/pulseutil.c
parent4732b9bfa445812104c610e58957337ae2795653 (diff)
pulsesink: add 24bit sample formats
Add check for pulseaudio 0.9.15 and enable 24bits samples in that case.
Diffstat (limited to 'ext/pulse/pulseutil.c')
-rw-r--r--ext/pulse/pulseutil.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/pulse/pulseutil.c b/ext/pulse/pulseutil.c
index 169c55b7..6fbf8377 100644
--- a/ext/pulse/pulseutil.c
+++ b/ext/pulse/pulseutil.c
@@ -91,6 +91,16 @@ gst_pulse_fill_sample_spec (GstRingBufferSpec * spec, pa_sample_spec * ss)
ss->format = PA_SAMPLE_S32LE;
else if (spec->format == GST_S32_BE && spec->width == 32)
ss->format = PA_SAMPLE_S32BE;
+#if HAVE_PULSE_0_9_15
+ else if (spec->format == GST_S24_3LE && spec->width == 24)
+ ss->format = PA_SAMPLE_S24LE;
+ else if (spec->format == GST_S24_3BE && spec->width == 24)
+ ss->format = PA_SAMPLE_S24BE;
+ else if (spec->format == GST_S24_LE && spec->width == 32)
+ ss->format = PA_SAMPLE_S24_32LE;
+ else if (spec->format == GST_S24_BE && spec->width == 32)
+ ss->format = PA_SAMPLE_S24_32BE;
+#endif
else
return FALSE;