From b3b2251c59aeea0439a2ce7f421ea3471365e394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 4 Jun 2015 16:31:12 +0200 Subject: [PATCH] codec-utils: Add AAC channel configurations 11, 12 and 14 and levels 6 and 7 --- gst-libs/gst/pbutils/codec-utils.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gst-libs/gst/pbutils/codec-utils.c b/gst-libs/gst/pbutils/codec-utils.c index 7aadecb17a..8d9848113c 100644 --- a/gst-libs/gst/pbutils/codec-utils.c +++ b/gst-libs/gst/pbutils/codec-utils.c @@ -258,12 +258,19 @@ gst_codec_utils_aac_get_level (const guint8 * audio_config, guint len) num_cpe = 2; break; case 7: + case 12: + case 14: /* front left, right, center and LFE; outside front left and right; * rear left and right surround */ num_sce = 1; num_cpe = 3; num_lfe = 1; break; + case 11: + num_sce = 2; + num_cpe = 2; + num_lfe = 1; + break; default: GST_WARNING ("Unknown channel config in header: %d", channel_config); return NULL; @@ -320,6 +327,10 @@ gst_codec_utils_aac_get_level (const guint8 * audio_config, guint len) ret = 4; else if (num_channels <= 5 && rate <= 96000 && pcu <= 38 && rcu <= 15) ret = 5; + else if (num_channels <= 7 && rate <= 48000 && pcu <= 25 && rcu <= 19) + ret = 6; + else if (num_channels <= 7 && rate <= 96000 && pcu <= 50 && rcu <= 19) + ret = 7; } else { /* Return the level as per the 'Main Profile' */ if (pcu < 40 && rcu < 20)