After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 789471 - fdkaacenc fails to generate 7.1 sound
fdkaacenc fails to generate 7.1 sound
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.13.x
Other Linux
: Normal normal
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-10-25 10:41 UTC by Florent Thiéry
Modified: 2017-10-25 14:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
aac sample generator (3.69 KB, text/x-python)
2017-10-25 10:41 UTC, Florent Thiéry
  Details
fdkaacenc: check fdk-aac version in meson.build (1.14 KB, patch)
2017-10-25 12:37 UTC, Mathieu Duponchelle
committed Details | Review
configure.ac patch to fix typo in fdkaac check (847 bytes, patch)
2017-10-25 14:14 UTC, Florent Thiéry
committed Details | Review

Description Florent Thiéry 2017-10-25 10:41:39 UTC
Created attachment 362247 [details]
aac sample generator

The attached test program works for all supported channel configurations except for the 7.1 case:

./generate_multichannel_aac.py 8
0:00:00.030532631  1664 0x557393c872d0 WARN                   queue gstqueue.c:1577:gst_queue_loop:<queue1> error: Internal data stream error.
0:00:00.030542136  1664 0x557393c872d0 WARN                   queue gstqueue.c:1577:gst_queue_loop:<queue1> error: streaming stopped, reason not-negotiated (-4)

I'm using arch linux libdfkaac, which is 0.1.5 and contains references to the 7.1 support.

https://git.archlinux.org/svntogit/community.git/plain/trunk/PKGBUILD?h=packages/libfdk-aac
Comment 1 Mathieu Duponchelle 2017-10-25 12:37:02 UTC
Created attachment 362263 [details] [review]
fdkaacenc: check fdk-aac version in meson.build

configure.ac used to set -DHAVE_FDK_AAC_0_1_4 , which enables
7.1 support.
Comment 2 Mathieu Duponchelle 2017-10-25 12:38:22 UTC
Thanks for reporting this issue, I assume you were building with meson, in which case the attached patch fixes the following pipeline for me:

gst-launch-1.0 audiotestsrc num-buffers=300 ! audioconvert ! audioresample ! audio/x-raw, channels=8 ! fdkaacenc ! mp4mux ! filesink location=8-channels.m4a
Comment 3 Florent Thiéry 2017-10-25 13:04:39 UTC
I think that archlinux is not building with meson:

build() {
  cd fdk-aac

  ./autogen.sh
  ./configure \
    --prefix='/usr' \
    --disable-static
  make
}

https://git.archlinux.org/svntogit/community.git/plain/trunk/PKGBUILD?h=packages/libfdk-aac
Comment 4 Florent Thiéry 2017-10-25 13:05:43 UTC
Ooops sorry you mean gst-plugins-bad

https://git.archlinux.org/svntogit/packages.git/plain/trunk/PKGBUILD?h=packages/gst-plugins-bad

 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib \
    --with-package-name="GStreamer Bad Plugins (Arch Linux)" \
    --with-package-origin="https://www.archlinux.org/" \
    --with-gtk=3.0 \
    --enable-experimental --enable-gtk-doc --disable-static


Not sure it's using meson either (is it ?)
Comment 5 Florent Thiéry 2017-10-25 13:28:54 UTC
Just tested the meson build, detection of the version works, but build still fails.

$ meson ..

...
Native dependency libopenjp2 found: YES 2.3.0

$ ninja

...
FAILED: ext/openjpeg/gstopenjpeg@sha/gstopenjpegenc.c.o 
cc  -Iext/openjpeg/gstopenjpeg@sha -Iext/openjpeg -I../ext/openjpeg -I. -I../ -Igst-libs -I../gst-libs -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/openjpeg-2.3 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O2 -g -fPIC -pthread -DHAVE_CONFIG_H -DHAVE_OPENJPEG_2_2 -DHAVE_OPENJPEG_2_1 -MMD -MQ 'ext/openjpeg/gstopenjpeg@sha/gstopenjpegenc.c.o' -MF 'ext/openjpeg/gstopenjpeg@sha/gstopenjpegenc.c.o.d' -o 'ext/openjpeg/gstopenjpeg@sha/gstopenjpegenc.c.o' -c ../ext/openjpeg/gstopenjpegenc.c
In file included from ../ext/openjpeg/gstopenjpegenc.h:28:0,
                 from ../ext/openjpeg/gstopenjpegenc.c:27:
../ext/openjpeg/gstopenjpeg.h:42:12: erreur fatale: openjpeg-2.2/openjpeg.h : Aucun fichier ou dossier de ce type
 #  include <openjpeg-2.2/openjpeg.h>
            ^~~~~~~~~~~~~~~~~~~~~~~~~
Comment 6 Florent Thiéry 2017-10-25 13:36:12 UTC
Sorry, wrong window...
Comment 7 Mathieu Duponchelle 2017-10-25 13:40:19 UTC
(In reply to Florent Thiéry from comment #5)
> Just tested the meson build, detection of the version works, but build still
> fails.

that last issue was fixed by  https://bugzilla.gnome.org/show_bug.cgi?id=788703

The package definitions you linked indeed seem to build with autotools, would be interesting to know the output of configure, in particular that check:

https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/configure.ac#n2398
Comment 8 Florent Thiéry 2017-10-25 13:50:45 UTC
configure: *** checking feature: fdkaac plugin ***
configure: *** for plug-ins: fdkaac ***
checking for FDK_AAC... yes
configure: *** These plugins will be built: fdkaac

Not seeing anything else
Comment 9 Florent Thiéry 2017-10-25 13:52:35 UTC
in configure.log:

configure:43291: *** checking feature: fdkaac plugin ***
configure:43295: *** for plug-ins: fdkaac ***
configure:43339: checking for FDK_AAC
configure:43347: $PKG_CONFIG --exists --print-errors "fdk-aac >= 0.1.4"
configure:43350: $? = 0
configure:43365: $PKG_CONFIG --exists --print-errors "fdk-aac >= 0.1.4"
configure:43368: $? = 0
configure:43548: result: yes
configure:43568: *** These plugins will be built: fdkaac
Comment 10 Florent Thiéry 2017-10-25 14:13:22 UTC
As matthieu found out, a missing comma was breaking the version check
Comment 11 Florent Thiéry 2017-10-25 14:14:10 UTC
Created attachment 362271 [details] [review]
configure.ac patch to fix typo in fdkaac check
Comment 12 Florent Thiéry 2017-10-25 14:17:02 UTC
After patching configure.ac, fdkaacenc accepts producing 7.1 sounds.
Comment 13 Mathieu Duponchelle 2017-10-25 14:27:25 UTC
Comment on attachment 362263 [details] [review]
fdkaacenc: check fdk-aac version in meson.build

Attachment 362263 [details] pushed as 2bf57a9 - fdkaacenc: check fdk-aac version in meson.build
Comment 14 Mathieu Duponchelle 2017-10-25 14:28:05 UTC
Review of attachment 362271 [details] [review]:

committed