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 655107 - encodebin: get_by_interface doesn't work on non-muxer elements
encodebin: get_by_interface doesn't work on non-muxer elements
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-07-22 10:18 UTC by Christian Fredrik Kalager Schaller
Modified: 2011-07-27 16:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
testcase for TagSetter interface (3.17 KB, text/x-python)
2011-07-22 10:18 UTC, Christian Fredrik Kalager Schaller
Details

Description Christian Fredrik Kalager Schaller 2011-07-22 10:18:41 UTC
Created attachment 192446 [details]
testcase for TagSetter interface

the bin.get_by_interface call doesn't seem to work when working with non-muxer elements. The attached simple testcase works fine for mp4 for instance, but when used with Ogg, where the GstTagSetter interface is at the codec level just returns 'None'
Comment 1 David Schleef 2011-07-27 05:15:39 UTC
At what stage does the vorbisenc element get added to the bin?
Comment 2 Christian Fredrik Kalager Schaller 2011-07-27 08:27:14 UTC
As you see in the example it gets added above the tagsetting code, the bin is even set it paused mode.
Comment 3 Tim-Philipp Müller 2011-07-27 16:20:26 UTC
This is a bug in your code.

Did you check the gst debug log to see if a vorbisenc element is actually created and added to the pipeline?

Turns out not. Reason is that encodebin will only create and set that up on demand when you request a matching audio request sink pad. The pads are not created automatically from the start because you pass presence=0 as last argument when creating the audio encoding profile. If you pass 1 then the pad will be created right away and it will work as intended.