summaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sf.net>2009-01-23 16:00:10 +0200
committerStefan Kost <ensonic@users.sf.net>2009-01-23 16:00:10 +0200
commit2af1d512c484b2c63872c93aa54173adc2d4a766 (patch)
treefb3e93c2b7ced8f339c6450440778495a34bc28d /ext
parent93df7379e47144261787378fa195cad676b855ad (diff)
downloadgst-plugins-bad-2af1d512c484b2c63872c93aa54173adc2d4a766.tar.gz
gst-plugins-bad-2af1d512c484b2c63872c93aa54173adc2d4a766.tar.bz2
gst-plugins-bad-2af1d512c484b2c63872c93aa54173adc2d4a766.zip
Log aac details found in codec_data.
Diffstat (limited to 'ext')
-rw-r--r--ext/faad/gstfaad.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/ext/faad/gstfaad.c b/ext/faad/gstfaad.c
index f1ba39f6..b861844a 100644
--- a/ext/faad/gstfaad.c
+++ b/ext/faad/gstfaad.c
@@ -317,11 +317,23 @@ gst_faad_setcaps (GstPad * pad, GstCaps * caps)
if (csize < 2)
goto wrong_length;
+ GST_DEBUG ("codec_data: object_type=%d, sample_rate=%d, channels=%d",
+ ((cdata[0] & 0xf8) >> 3),
+ (((cdata[0] & 0x07) << 1) | ((cdata[1] & 0x80) >> 7)),
+ ((cdata[1] & 0x78) >> 3));
+
/* someone forgot that char can be unsigned when writing the API */
if ((gint8) faacDecInit2 (faad->handle, cdata, csize, &samplerate,
&channels) < 0)
goto init_failed;
+ if (channels != ((cdata[1] & 0x78) >> 3)) {
+ /* https://bugs.launchpad.net/ubuntu/+source/faad2/+bug/290259 */
+ GST_WARNING_OBJECT (faad,
+ "buggy faad version, wrong nr of channels %d instead of %d", channels,
+ ((cdata[1] & 0x78) >> 3));
+ }
+
GST_DEBUG_OBJECT (faad, "codec_data init: channels=%u, rate=%u", channels,
samplerate);