directsoundsink: 16-bit audio is signed, 8-bit is unsigned.
authorPhilip Jägenstedt <philipj@opera.com>
Fri, 20 Nov 2009 09:07:43 +0000 (10:07 +0100)
committerDavid Schleef <ds@schleef.org>
Sat, 9 Jul 2011 23:45:51 +0000 (16:45 -0700)
Pretending to handle 8-bit signed causes distorted audio when
actually given such audio, which you will get if passing 8-bit
unsigned through audioconvert ! audioresample, as audioresample
only handles 8-bit signed.  Fixes #605834.

Signed-off-by: David Schleef <ds@schleef.org>
sys/directsound/gstdirectsoundsink.c

index 4eef182..4dba4b3 100644 (file)
@@ -99,12 +99,12 @@ static GstStaticPadTemplate directsoundsink_sink_factory =
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/x-raw-int, "
-        "signed = (boolean) { TRUE, FALSE }, "
+        "signed = (boolean) TRUE, "
         "width = (int) 16, "
         "depth = (int) 16, "
         "rate = (int) [ 1, MAX ], " "channels = (int) [ 1, 2 ]; "
         "audio/x-raw-int, "
-        "signed = (boolean) { TRUE, FALSE }, "
+        "signed = (boolean) FALSE, "
         "width = (int) 8, "
         "depth = (int) 8, "
         "rate = (int) [ 1, MAX ], " "channels = (int) [ 1, 2 ];"