fdkaacenc: don't set base-profile=lc for non-backwards compatible output
authorTim-Philipp Müller <tim@centricular.com>
Fri, 21 Oct 2022 16:10:57 +0000 (17:10 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 25 Oct 2022 00:13:04 +0000 (00:13 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>

subprojects/gst-plugins-bad/ext/fdkaac/gstfdkaacenc.c

index fca90e3..54e46ba 100644 (file)
@@ -473,6 +473,13 @@ gst_fdkaacenc_set_format (GstAudioEncoder * enc, GstAudioInfo * info)
   if (ext_profile)
     gst_caps_set_simple (src_caps, "profile", G_TYPE_STRING, ext_profile, NULL);
 
+  /* An AAC-LC-only decoder will not decode a stream that uses explicit
+   * hierarchical signaling */
+  if (signaling_mode == 2 && aot != AOT_AAC_LC) {
+    gst_structure_remove_field (gst_caps_get_structure (src_caps, 0),
+        "base-profile");
+  }
+
   ret = gst_audio_encoder_set_output_format (enc, src_caps);
   gst_caps_unref (src_caps);