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 719548 - Stalling gstreamer pipeline - mpeg audio?
Stalling gstreamer pipeline - mpeg audio?
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-11-29 12:39 UTC by Christian Fredrik Kalager Schaller
Modified: 2013-12-16 08:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
dotfile graph from Transmageddon (620.28 KB, image/png)
2013-11-29 12:39 UTC, Christian Fredrik Kalager Schaller
Details
GST-DEBUG log from Transmageddon (1.12 MB, application/x-bzip)
2013-11-29 12:45 UTC, Christian Fredrik Kalager Schaller
Details

Description Christian Fredrik Kalager Schaller 2013-11-29 12:39:38 UTC
Created attachment 263114 [details]
dotfile graph from Transmageddon

When trying to take a webm file and re-encode the video and remux the audio the pipeline just stalls for me in Transmageddon. I seem to be able to reproduce with gst-launch:

gst-launch-1.0 filesrc location="/home/cschalle/Videos/A_Digital_Media_Primer_For_Geeks-360p.webm" ! decodebin name=decode ! deinterlace ! videoconvert ! videoflip ! queue ! videoconvert ! videoscale ! videoconvert ! videorate ! theoraenc ! theoraparse ! oggmux name=mux ! filesink location="/home/cschalle/Videos/test.ogg" decode. ! queue ! vorbisparse ! mux.
Comment 1 Christian Fredrik Kalager Schaller 2013-11-29 12:42:25 UTC
Ok, first pipeline wrong, here is one that should be correct:

gst-launch-1.0 filesrc location="/home/cschalle/Videos/A_Digital_Media_Primer_For_Geeks-360p.webm" ! matroskademux name=demux ! queue !  vp8dec ! deinterlace ! videoconvert ! videoflip ! videoconvert ! videoscale ! videoconvert ! videorate ! theoraenc ! oggmux name=mux ! filesink location="/home/cschalle/Videos/test.ogg" demux. ! queue ! vorbisparse ! mux.
Comment 2 Sebastian Dröge (slomo) 2013-11-29 12:43:49 UTC
This one works here:
gst-launch-1.0 filesrc location=/media/data/Videos/Xiph/01\ -\ A\ Digital\ Media\ Primer\ For\ Geeks.webm ! decodebin name=decode ! queue ! deinterlace ! videoconvert ! queue ! videoconvert ! videoscale ! videoconvert ! videorate ! theoraenc ! queue ! oggmux name=mux ! fakesink     decode. ! queue ! vorbisenc ! vorbisparse ! queue ! mux.audio_%u


Problem is that decodebin does not output vorbis, but raw audio. And that gst_parse has this old bug that it chooses the wrong pad.
Comment 3 Christian Fredrik Kalager Schaller 2013-11-29 12:45:07 UTC
Created attachment 263116 [details]
GST-DEBUG log from Transmageddon

Transmageddon behaves a little differently than the gst-launch pipeline in the sense that a file is generated that is 6.7K big before stalling.
Comment 4 Christian Fredrik Kalager Schaller 2013-11-29 12:57:36 UTC
Yes, but regardless of the gst-launch line working, transmageddon doesn't. I was just trying to supply a gst-launch line to make debugging the issue transmageddon hits a littl easier.
Comment 5 Sebastian Dröge (slomo) 2013-11-29 15:36:17 UTC
Can you provide a simple testcase for this?
Comment 6 Christian Fredrik Kalager Schaller 2013-11-29 16:34:01 UTC
Well I tried and failed :) I will try to put together a simple python app.
Comment 7 Christian Fredrik Kalager Schaller 2013-12-01 14:14:52 UTC
ok, maybe have managed to make a testcase. This pipeline gets stuck in pre-roll for me:

gst-launch-1.0 filesrc location="/home/cschalle/Videos/A_Digital_Media_Primer_For_Geeks-360p.ogv" ! decodebin name=decode ! queue ! avdeinterlace ! videoconvert ! videoscale ! videoconvert ! videorate ! mpeg2enc ! mpegpsmux name=mux ! filesink location="test.mpg"  decode. ! queue ! lamemp3enc ! mpegaudioparse ! queue ! mux.
Comment 8 Christian Fredrik Kalager Schaller 2013-12-02 12:03:04 UTC
Ok, did some further testing. 

So this works:
gst-launch-1.0 filesrc location="/home/cschalle/Videos/A_Digital_Media_Primer_For_Geeks-360p.ogv" ! decodebin name=decode ! queue ! deinterlace ! videoconvert ! videoscale ! videoconvert ! videorate ! mpeg2enc ! mpegpsmux name=mux ! filesink location="test.mpg"

This doesn't:
gst-launch-1.0 filesrc location="/home/cschalle/Videos/A_Digital_Media_Primer_For_Geeks-360p.ogv" ! decodebin name=decode ! queue ! lamemp3enc ! mpegaudioparse ! filesink location="/tmp/test.mpg"
Comment 9 Wim Taymans 2013-12-16 08:33:08 UTC
(In reply to comment #8)
> This doesn't:
> gst-launch-1.0 filesrc
> location="/home/cschalle/Videos/A_Digital_Media_Primer_For_Geeks-360p.ogv" !
> decodebin name=decode ! queue ! lamemp3enc ! mpegaudioparse ! filesink
> location="/tmp/test.mpg"

You forgot audioconvert before lamemp3enc, vorbis outputs float and lamemp3enc only accepts int.