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 772108 - fdkaacenc: set framed=true on src caps
fdkaacenc: set framed=true on src caps
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: 1.9.90
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-09-28 08:47 UTC by Vincent Penquerc'h
Modified: 2016-09-30 07:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
fdkaacenc: set framed=true on src caps (1.32 KB, patch)
2016-09-28 08:48 UTC, Vincent Penquerc'h
committed Details | Review

Description Vincent Penquerc'h 2016-09-28 08:47:17 UTC
fdkaacenc: set framed=true on src caps
Comment 1 Vincent Penquerc'h 2016-09-28 08:48:02 UTC
Created attachment 336421 [details] [review]
fdkaacenc: set framed=true on src caps
Comment 2 Sebastian Dröge (slomo) 2016-09-28 09:01:47 UTC
Comment on attachment 336421 [details] [review]
fdkaacenc: set framed=true on src caps

How is this fixing muxing in MPEG-TS? You mean it does not work if you insert aacparse? That seems problematic and should be fixed then.

This patch seems good to go though.
Comment 3 Vincent Penquerc'h 2016-09-28 09:04:04 UTC
It worked with an extra aacparse. I was just comparing pipelines using another aac element to see where the fdk one failed and the other one worked.
Comment 4 Vincent Penquerc'h 2016-09-28 09:05:01 UTC
Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Date:   Wed Sep 28 09:44:58 2016 +0100

    fdkaacenc: set framed=true on src caps
    
    This fixes muxing in MPEG TS.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=772108
Comment 5 Tim-Philipp Müller 2016-09-28 09:47:03 UTC
I assume you checked to make sure it really does output framed data? :)
Comment 6 Vincent Penquerc'h 2016-09-28 10:01:04 UTC
AFAICT, it's one frame in, one frame out. And it plays fine :)
Comment 7 Tim-Philipp Müller 2016-09-28 10:16:41 UTC
Sorry for banging on about it, but that doesn't necessarily mean it's framed :)

And with MPEG-TS "it plays fine" isn't really meaningful because the format itself doesn't require framing and the framing can be re-instated from the ADTS headers.

Could you check for ADTS frame headers in the output of each buffer and also confirm that "raw" mode works with mp4? (I don't have a build with it at hand right now).
Comment 8 Vincent Penquerc'h 2016-09-28 10:24:44 UTC
ADTS, as in ADIF and raw can't be framed ? I thought framed meant split at "frame boundaries for that format" to gst buffers. I've just looked in the docs and there isn't any mention of whether the output will always be one frame, so  I guess I'll revert that.
Comment 9 Vincent Penquerc'h 2016-09-28 10:26:51 UTC
This creates a file which gst-play-1.0 can play (not using fdk):

gst-launch-1.0 audiotestsrc num-buffers=40 ! fdkaacenc ! mp4mux ! filesink location=foo.mp4

Not super sure how to tell whether the headers are what you intend though, sorry.
Comment 10 Tim-Philipp Müller 2016-09-28 10:38:09 UTC
They can all be framed. With ADTS you can just easily check. If it looks fine for a few buffers it probably is framed.

If the mp4 plays fine it likely is framed, so all good from the sound of it, thanks for checking!