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 750989 - Pipeline with aacparse fails to play stream
Pipeline with aacparse fails to play stream
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.4.5
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-06-15 11:36 UTC by Jan Alexander Steffens (heftig)
Modified: 2018-11-03 15:00 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jan Alexander Steffens (heftig) 2015-06-15 11:36:07 UTC
I've got a live stream here that plays fine in FFplay/MPV but fails to play in GStreamer if aacparse is present.

Recording: http://pkgbuild.com/~heftig/foob.flv (Created via rtmpsrc ! filesink)

Failing pipeline: GST_DEBUG='*:WARNING,aacparse:LOG' gst-launch-1.0 filesrc location='foob.flv' ! flvdemux name=demux multiqueue name=mq demux.video ! mq.sink_0 demux.audio ! mq.sink_1 mq.src_0 ! h264parse ! avdec_h264 ! queue ! videoconvert ! xvimagesink mq.src_1 ! aacparse ! faad ! queue ! audioconvert ! pulsesink

Working pipeline (aacparse removed): GST_DEBUG='*:WARNING,aacparse:LOG' gst-launch-1.0 filesrc location='foob.flv' ! flvdemux name=demux multiqueue name=mq demux.video ! mq.sink_0 demux.audio ! mq.sink_1 mq.src_0 ! h264parse ! avdec_h264 ! queue ! videoconvert ! xvimagesink mq.src_1 ! faad ! queue ! audioconvert ! pulsesink

The only interesting debug message seems to be

0:00:00.021212666 14233 0x7f91cc003000 DEBUG               aacparse gstaacparse.c:290:gst_aac_parse_sink_setcaps:<aacparse0> setcaps: audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, rate=(int)44100, channel
s=(int)2

It reports the caps with channels=(int)2, even though the stream is mono.
Comment 1 Jan Alexander Steffens (heftig) 2015-06-15 12:08:33 UTC
playbin (gst-play-1.0) uses aacparse. Interesting messages:

0:00:00.032975401 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:799:gst_aac_parse_detect_stream:<aacparse0> Parsing header data
0:00:00.032983104 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:814:gst_aac_parse_detect_stream:<aacparse0> Found signature at offset 65
0:00:00.032994572 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:799:gst_aac_parse_detect_stream:<aacparse0> Parsing header data
0:00:00.033001060 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:814:gst_aac_parse_detect_stream:<aacparse0> Found signature at offset 0
0:00:00.033013373 17770 0x7fbcec003a80 INFO                aacparse gstaacparse.c:837:gst_aac_parse_detect_stream: ADTS ID: 0, framesize: 283
0:00:00.033021889 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:843:gst_aac_parse_detect_stream:<aacparse0> impossible ADTS configuration

0:00:00.041334719 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:799:gst_aac_parse_detect_stream:<aacparse0> Parsing header data
0:00:00.041991342 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:806:gst_aac_parse_detect_stream:<aacparse0> Not enough data to check
0:00:00.042003453 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:799:gst_aac_parse_detect_stream:<aacparse0> Parsing header data
0:00:00.042009998 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:806:gst_aac_parse_detect_stream:<aacparse0> Not enough data to check
0:00:00.042026490 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:799:gst_aac_parse_detect_stream:<aacparse0> Parsing header data
0:00:00.042032241 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:806:gst_aac_parse_detect_stream:<aacparse0> Not enough data to check
0:00:00.042039600 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:799:gst_aac_parse_detect_stream:<aacparse0> Parsing header data
0:00:00.042045483 17770 0x7fbcec003a80 DEBUG               aacparse gstaacparse.c:806:gst_aac_parse_detect_stream:<aacparse0> Not enough data to check
0:00:00.042055454 17770 0x7fbcec003a80 WARN               baseparse gstbaseparse.c:1155:gst_base_parse_sink_event_default:<aacparse0> error: No valid frames found before end of stream
Comment 2 Vineeth 2015-06-16 02:44:45 UTC
I guess the file is corrupted..

flvmeta -C ../foob.flv 
0x0000000d: error E70046: invalid onMetaData data type: 3, should be an associative array (8)
0x000b6e2c: fatal F20016: tag body length (868 bytes) exceeds file size
2 error(s), 0 warning(s)


And while parsing the file in flvdemux, get the below errors

0:00:02.061978468  9657 0xb4c03320 DEBUG               flvdemux gstflvdemux.c:2488:gst_flv_demux_get_metadata:<flvdemux0> last tag size: 2276612558
0:00:02.061995916  9657 0xb4c03320 WARN                flvdemux gstflvdemux.c:2230:gst_flv_demux_pull_range:<flvdemux0> failed when pulling 12 bytes from offset 18446744071433688622: eos
Comment 3 GStreamer system administrator 2018-11-03 15:00:58 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/192.