From b40adec9c12ea3fa87fbe78000b0b080144b8001 Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Wed, 8 Apr 2015 10:52:17 +0530 Subject: [PATCH] opensles: Explicitly specify layout=interleaved in caps This is fine to hard-code. Section 9.1.8 of the OpenSL ES 1.1 specification, it is expected that multi-channel audio is always interleaved. --- sys/opensles/openslessink.c | 3 ++- sys/opensles/openslessrc.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/opensles/openslessink.c b/sys/opensles/openslessink.c index 266174a..236f8b3 100644 --- a/sys/opensles/openslessink.c +++ b/sys/opensles/openslessink.c @@ -65,7 +65,8 @@ static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_ALWAYS, GST_STATIC_CAPS ("audio/x-raw, " "format = (string) { " GST_AUDIO_NE (S16) ", " GST_AUDIO_NE (U8) "}, " - "rate = (int) { " RATES "}, " "channels = (int) [1, 2]") + "rate = (int) { " RATES "}, " "channels = (int) [1, 2], " + "layout = (string) interleaved") ); #define _do_init \ diff --git a/sys/opensles/openslessrc.c b/sys/opensles/openslessrc.c index 3fd9cb2..18db5eb 100644 --- a/sys/opensles/openslessrc.c +++ b/sys/opensles/openslessrc.c @@ -48,7 +48,8 @@ static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src", GST_STATIC_CAPS ("audio/x-raw, " "format = (string) " GST_AUDIO_NE (S16) ", " "rate = (int) 16000, " - "channels = (int) 1") + "channels = (int) 1, " + "layout = (string) interleaved") ); /* *INDENT-ON* */ -- 2.7.4