Dynamic mixing using Adder
Stefan Sauer
ensonic at hora-obscura.de
Sat Nov 1 07:34:15 PDT 2014
hi simon,
take a look at there examples:
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/tests/examples/dynamic
The are showing how to safely add/remove chains to/from adder.
Stefan
On 10/24/2014 05:16 PM, SimonKay wrote:
> Thanks for the reply. That makes some sense. I guess I'd just assumed if it
> works once or twice, it should always work. I'm now creating and removing
> channels as I'd hoped, effectly creating a sort of inbound conference that I
> can hear from different parties.
>
> out of interest when a sink_%u increments above the max(%u) is should the
> value simply restart without issue? I plan on creating and tearing down a
> good many channels, i doubt i'll hit the limit in the lifespan of the
> application but it is possible.
>
> I've got some really odd things happening still however. Firstly I'm
> receiving the following when attempting to send the eos -
>
> GStreamer-WARNING **: pad '':sink_20 has no event handler, file a bug.
>
> So... is this a bug after all because unless its talking about my code (
> which it coudl I guess ) it looks pretty plan that it is! :)
>
> Also,strangley i'm still receiving a fail return from the call itself -
>
> b = gst_pad_send_event(adderpad, gst_event_new_eos());
> if (b) {
> g_print("sent EOS to %s peer pad adder pad \n", name);
> }
> else
> {
> g_print("!!! Unable to send EOS to %s peer pad adder pad \n", name);
> }
>
> returns me
> "!!! Unable to send EOS to a07330b6-343a-4f1f-8469-7d6191de280f peer pad
> adder pa
> d"
>
> although I do seem to be receiving the eos in my pad probe even though the
> call seems to fail? surely this isn't right?
>
> it seems that after a while the whole thing goes into blocking as well. I'm
> not sure why this is, likely a fault in my code. This seems to be after
> adding and removing upward of 10 srcbins, it finally seems to lock somewhere
> in the eos probe when removing a bin, which locks the whole pipe. Very odd.
>
> I am recieving the following which I guess might have something to do with
> it:
>
> GStreamer-WARNING **:
> Trying to join task 04E1B820 from its thread would deadlock.
> You cannot change the state of an element from its streaming
> thread. Use g_idle_add() or post a GstMessage on the bus to
> schedule the state change from the main thread.
>
>
>
>
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Dynamic-mixing-using-Adder-tp4669147p4669150.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list