<div dir="ltr">Thanks for the suggestions and the clarification...don't know why I didn't twig to use appsink/src etc before.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On 3 January 2013 20:05, Tim-Philipp Müller <span dir="ltr"><<a href="mailto:t.i.m@zen.co.uk" target="_blank">t.i.m@zen.co.uk</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Thu, 2013-01-03 at 18:24 +0000, Nox Deleo wrote:<br>
<br>
> I'm trying to use playbin in an unconventional way at the moment.<br>
> Because of its built in functionality, it's ideal for me to use as a<br>
> source that spits out raw audio from a continuous playlist without<br>
> having to reinvent the wheel with different parts. I'm trying to get a<br>
> ghost pad on the outer layer of playbin that I can hook into the rest<br>
> of my pipeline, rather than playbin's 'playsink' being the end of the<br>
> graph.<br>
><br>
> Looking at a debug graph, it looks like I would have to add ghost pads<br>
> to the 'audio-sink' element I specify, all the way up through a<br>
> GstBin, a GstPlaySink to the PlayBin itself. This is a pretty ugly<br>
> hack, and I don't really like the idea of messing with playbin<br>
> internals, so I'm wondering if anyone knows a better way of doing<br>
> this?<br>
<br>
</div>You could use appsink elements to extract the data and then feed them to<br>
another pipeline (set sync=true on the sinks to make them sync against<br>
the clock).<br>
<br>
You might possibly also find the inter{audio,video}sink elements useful<br>
(in combination with an inter{audios,video}src in another pipeline.<br>
<div class="im"><br>
> Also, out of interest, is there any reason why I can't link a pad<br>
> embedded in several layers of bins to another outside of these? It<br>
> complains about 'no common ancestor' at the moment, but I'm just<br>
> curious as to the reason.<br>
<br>
</div>Not sure what you're doing with ghost pads tbh, it just sounds wrong.<br>
You can supply your own sink element, or a bin containing other elements<br>
and ending in a sink (then you need to create a ghost pad for the bin<br>
that points to the first element in the chain inside it). But just<br>
adding ghostpads won't achieve anything.<br>
<br>
No common ancestore usually either means you're trying to link an<br>
element that's not inside a pipeline/bin yet, or they're not at the same<br>
level inside the bin/pipeline hierarchy (the reasons ghostpads exist, so<br>
you can expose pads from inside a bin at the one-up bin level).<br>
<br>
Cheers<br>
 -Tim<br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br></div>