adder: remove non-interleaved layout from caps
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Mon, 12 Feb 2018 13:33:49 +0000 (15:33 +0200)
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Wed, 11 Jul 2018 13:56:50 +0000 (16:56 +0300)
adder needs more than just trivial work to support planar buffers properly
because it currently reads sub-buffers from GstCollectPads in order for all
of them to have matching sizes. In planar mode, this means it would truncate
some channels and mix them up in strange ways. It only works if all input
buffers in all sink pads have matching sizes.

gst/adder/gstadder.c

index dce05f6..f73b6db 100644 (file)
@@ -167,11 +167,11 @@ enum
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
 #define CAPS \
   GST_AUDIO_CAPS_MAKE ("{ S32LE, U32LE, S16LE, U16LE, S8, U8, F32LE, F64LE }") \
-  ", layout = (string) { interleaved, non-interleaved }"
+  ", layout = (string) { interleaved }"
 #else
 #define CAPS \
   GST_AUDIO_CAPS_MAKE ("{ S32BE, U32BE, S16BE, U16BE, S8, U8, F32BE, F64BE }") \
-  ", layout = (string) { interleaved, non-interleaved }"
+  ", layout = (string) { interleaved }"
 #endif
 
 static GstStaticPadTemplate gst_adder_src_template =