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 641332 - can't connect vorbisenc ! queue ! matroskamux
can't connect vorbisenc ! queue ! matroskamux
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.29
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-02-03 11:05 UTC by Oleksij Rempel
Modified: 2011-04-11 16:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Oleksij Rempel 2011-02-03 11:05:33 UTC
hallo i have trouble to connect this pipe "vorbisenc ! queue ! matroskamux"

if i move queue before vorbisenc, (queue ! vorbisenc ! matroskamux) will work ok. The same is with webmmux.

oggmux works fine with all wariants.

here is compleete example:
gst-launch filesrc location=stream.dump ! mpegpsdemux name=demux   oggmux name=mux ! filesink location=out_audio.ogg   demux.audio_80 ! a52dec mode=2 ! audiorate tolerance=50000000 ! audioconvert ! audioresample ! audio/x-raw-float,rate=44100,channels=2 !       taginject tags="language-code=eng" ! vorbisenc ! queue  ! mux.   demux.audio_81 ! a52dec mode=2 ! audiorate tolerance=50000000 ! audioconvert ! audioresample ! audio/x-raw-float,rate=44100,channels=2 !       taginject tags="language-code=ger" !  vorbisenc ! queue
Comment 1 Mark Nauwelaerts 2011-04-11 16:20:53 UTC
The above is not really a bug, it only happens there are some limitations to gst-launch (and the convenience helpers it uses).  In this particular case, it will link queue to mux first and in case of matroskamux will happen to pick a video pad (as there is nothing to indicate it should do otherwise at that stage) and that will then subsequently (and evidently) fail to link to vorbisenc.
Btw, note that oggmux has no audio vs video pads, so that can not happen there).

Other than using a more "full-scale application" for whatever purpose at hand, the gst-launch way around this is e.g. using different order as mentioned above (queue ! vorbisenc ! matroskamux), which also has the benefit that encoding can occur in a separate thread.  Alternatively, use a capsfilter as link hint, i.e. vorbisenc ! queue ! audio/x-vorbis ! matroskamux.