assisted-autoplugging problem
Yakov Sudeikin
yakovs at setplex.com
Wed Dec 9 08:13:46 PST 2015
bool demuxDone = false;
gboolean
autopluggerCallback (GstElement * elem, GstPad *pad, GstCaps * caps)
{
if (cmpType(caps, "video/x-h264")) {
relayVideoPad = pad;
demuxDone = true;
}
if (cmpType(caps, "audio/x-ac3")) {
relayAudioPad = pad;
demuxDone = true;
}
if (demuxDone) {
return FALSE;
}
return TRUE;
}
I connected the autoplug-continue signal handler to uridecodebin. My goal
is to prevent it from creating anything after the tsdemux or matroskademux
(whatever is present) and then connect to flvmux.
But the problem I am having is that one more element is still created, the
`multiqueue` that is connected right after the demuxer. Why? I tried to
detect the creation of a demuxer by catching the `element-added` signal,
but the result is the same.
The resulting pipeline is dumped to dot:
http://pastebin.com/acBUdfpi
Well, I can probably just connect multiqueue to the muxer, but then I do
not know how to get the multiqueue pointer. I tried
gst_pad_get_peer->gst_get_pad_parent_element, (to go from demuxer
src-video-pad to the next element), but get_pad_parent_elem returns 0 even
though the peer is non 0.
I already spent two days on that, any help is greatly appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20151209/f9002eb4/attachment.html>
More information about the gstreamer-devel
mailing list