<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hello!</div><div>I have been working on this c program for the past weeks and even tho I have learned a lot, I have been hitting a wall lately, and I really cant solve this problem with tee.</div><div><br></div><div>So my idea is to have a running pipeline, and on demand add sinks to the app. For what I have been reading around this should be done something like this.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">mysrc -> tee -> queue -> fakesink</blockquote><div><br></div><div>So when I want to add a new sink, I simply have to request a src_% pad to the tee, connect it to my new bin, in case should be something like this:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">tee -> [queue -> flvmux -> rtmpsink ] ([] is a bin I have created)</blockquote><div><br></div><div>I have simplified the pipeline to make it easier to explain, but I have been working with different possibilities (having the flvmux placed before the tee for example, and using only one tee, and now I changed to having one tee for audio and another for video and then adding it to the flvmux inside my bin)</div><div><br></div><div>The problem is all seems to be working, but when looking at the endpoint (in this case youtube live) I can't see any image even if it says it's receiving data... just weird.</div><div><br></div><div>So looking at my debug output, I can see that my pipeline is passing to PAUSED state right after requesting the src pads to the tee. And then after all is elements are in play state, the pipeline changes to PLAYING again. So I'm wondering if that's normal and if it should be like that.</div><div><br></div><div>Some code:</div><div><font size="4">Example of how I add the fake sink to a tee:</font></div><div><pre style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><pre style="color:rgb(0,0,32);background:rgb(246,248,255)">GstElement <span style="color:rgb(48,128,128)">*</span>audioFakesink <span style="color:rgb(48,128,128)">=</span> gst_element_factory_make<span style="color:rgb(48,128,128)">(</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">fakesink</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">main-audio-fakesink</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
GstElement <span style="color:rgb(48,128,128)">*</span>Aqueue <span style="color:rgb(48,128,128)">=</span> gst_element_factory_make<span style="color:rgb(48,128,128)">(</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">queue</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">fakeAQueue</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
mainAudioTee <span style="color:rgb(48,128,128)">=</span> gst_element_factory_make<span style="color:rgb(48,128,128)">(</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">tee</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">mainAudioTee</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
gst_bin_add_many <span style="color:rgb(48,128,128)">(</span>GST_BIN <span style="color:rgb(48,128,128)">(</span>pipeline<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(48,128,128)">,</span> webrtcbin<span style="color:rgb(48,128,128)">,</span> mainAudioTee<span style="color:rgb(48,128,128)">,</span> mainVideoTee<span style="color:rgb(48,128,128)">,</span> Aqueue<span style="color:rgb(48,128,128)">,</span> Vqueue<span style="color:rgb(48,128,128)">,</span>audioFakesink<span style="color:rgb(48,128,128)">,</span> videoFakesink<span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(125,0,69)">NULL</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>

gst_element_link <span style="color:rgb(48,128,128)">(</span> Aqueue<span style="color:rgb(48,128,128)">,</span> audioFakesink<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>

GstPad <span style="color:rgb(48,128,128)">*</span>queueAudioPad <span style="color:rgb(48,128,128)">=</span> gst_element_get_static_pad <span style="color:rgb(48,128,128)">(</span>Aqueue<span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">sink</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
g_assert_nonnull <span style="color:rgb(48,128,128)">(</span>queueAudioPad<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>

GstPadTemplate <span style="color:rgb(48,128,128)">*</span>templ <span style="color:rgb(48,128,128)">=</span> gst_element_class_get_pad_template <span style="color:rgb(48,128,128)">(</span>GST_ELEMENT_GET_CLASS <span style="color:rgb(48,128,128)">(</span>mainAudioTee<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">src_</span><span style="color:rgb(0,121,151)">%u</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
GstPad <span style="color:rgb(48,128,128)">*</span>teeAudioSrcPad <span style="color:rgb(48,128,128)">=</span> gst_element_request_pad <span style="color:rgb(48,128,128)">(</span>mainAudioTee<span style="color:rgb(48,128,128)">,</span> templ<span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(125,0,69)">NULL</span><span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(125,0,69)">NULL</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
g_assert_nonnull <span style="color:rgb(48,128,128)">(</span>teeAudioSrcPad<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>

ret <span style="color:rgb(48,128,128)">=</span> gst_pad_link <span style="color:rgb(48,128,128)">(</span>teeAudioSrcPad<span style="color:rgb(48,128,128)">,</span> queueAudioPad<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
g_assert_cmpint <span style="color:rgb(48,128,128)">(</span>ret<span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(48,128,128)">=</span><span style="color:rgb(48,128,128)">=</span><span style="color:rgb(48,128,128)">,</span> GST_PAD_LINK_OK<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
</pre>
</pre></div><div><span style="font-size:large">Example of how I add a new source</span><br></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><br></div><div dir="ltr"><pre style="color:rgb(0,0,32);background:rgb(246,248,255)">gst_bin_add <span style="color:rgb(48,128,128)">(</span>GST_BIN <span style="color:rgb(48,128,128)">(</span>pipeline<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(48,128,128)">,</span> myBinRTMP<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>

std<span style="color:rgb(64,96,128)">::</span>cout <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">Info: RtmpBin added </span><span style="color:rgb(128,0,0)">"</span> <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> std<span style="color:rgb(64,96,128)">::</span>endl<span style="color:rgb(64,96,128)">;</span>

<span style="color:rgb(89,89,121)">// AUDIO</span>
GstPad <span style="color:rgb(48,128,128)">*</span>sinkAudioTargetPad <span style="color:rgb(48,128,128)">=</span> gst_element_get_static_pad <span style="color:rgb(48,128,128)">(</span>myBinRTMP<span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">audio</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
g_assert_nonnull <span style="color:rgb(48,128,128)">(</span>sinkAudioTargetPad<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>

std<span style="color:rgb(64,96,128)">::</span>cout <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">Info: RtmpBin got AUDIO sinkPad </span><span style="color:rgb(128,0,0)">"</span> <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> std<span style="color:rgb(64,96,128)">::</span>endl<span style="color:rgb(64,96,128)">;</span>


GstPadTemplate <span style="color:rgb(48,128,128)">*</span>templAudio <span style="color:rgb(48,128,128)">=</span> gst_element_class_get_pad_template <span style="color:rgb(48,128,128)">(</span>GST_ELEMENT_GET_CLASS <span style="color:rgb(48,128,128)">(</span>mainAudioTee<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">src_</span><span style="color:rgb(0,121,151)">%u</span><span style="color:rgb(128,0,0)">"</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
GstPad <span style="color:rgb(48,128,128)">*</span>teeAudioSrcPad <span style="color:rgb(48,128,128)">=</span> gst_element_request_pad <span style="color:rgb(48,128,128)">(</span>mainAudioTee<span style="color:rgb(48,128,128)">,</span> templAudio<span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(125,0,69)">NULL</span><span style="color:rgb(48,128,128)">,</span> <span style="color:rgb(125,0,69)">NULL</span><span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
g_assert_nonnull <span style="color:rgb(48,128,128)">(</span>teeAudioSrcPad<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>

std<span style="color:rgb(64,96,128)">::</span>cout <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">Info: RtmpBin got AUDIO Tee new sourcePad </span><span style="color:rgb(128,0,0)">"</span> <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> std<span style="color:rgb(64,96,128)">::</span>endl<span style="color:rgb(64,96,128)">;</span>

<span style="color:rgb(89,89,121)">/* Start displaying video */</span>
gst_element_sync_state_with_parent <span style="color:rgb(48,128,128)">(</span>myBinRTMP<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>
std<span style="color:rgb(64,96,128)">::</span>cout <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">Info: RtmpBin sync </span><span style="color:rgb(128,0,0)">"</span> <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> std<span style="color:rgb(64,96,128)">::</span>endl<span style="color:rgb(64,96,128)">;</span>

gst_pad_link <span style="color:rgb(48,128,128)">(</span>teeAudioSrcPad<span style="color:rgb(48,128,128)">,</span> sinkAudioTargetPad<span style="color:rgb(48,128,128)">)</span><span style="color:rgb(64,96,128)">;</span>

std<span style="color:rgb(64,96,128)">::</span>cout <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> <span style="color:rgb(128,0,0)">"</span><span style="color:rgb(16,96,182)">Info: RtmpBin pad linked </span><span style="color:rgb(128,0,0)">"</span> <span style="color:rgb(48,128,128)"><</span><span style="color:rgb(48,128,128)"><</span> std<span style="color:rgb(64,96,128)">::</span>endl<span style="color:rgb(64,96,128)">;</span>
</pre></div><div dir="ltr"><br></div><div>What I'ḿ seeing in my logs</div><div dir="ltr"><br></div><div dir="ltr"><pre style="color:rgb(0,0,32);background:rgb(246,248,255)">Debug<span style="color:rgb(48,128,128)">:</span> Checking to start pending
Debug<span style="color:rgb(48,128,128)">:</span> AUDIO AND VIDEO READY lets roll
Debug<span style="color:rgb(48,128,128)">:</span> putting pipeline to work
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> main<span style="color:rgb(48,128,128)">-</span>video<span style="color:rgb(48,128,128)">-</span>fakesink NEW<span style="color:rgb(48,128,128)">:</span> PAUSED PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> main<span style="color:rgb(48,128,128)">-</span>video<span style="color:rgb(48,128,128)">-</span>fakesink NEW<span style="color:rgb(48,128,128)">:</span> PLAYING PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> main<span style="color:rgb(48,128,128)">-</span>audio<span style="color:rgb(48,128,128)">-</span>fakesink NEW<span style="color:rgb(48,128,128)">:</span> PLAYING PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<b><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> my<span style="color:rgb(48,128,128)">-</span>pipeline NEW<span style="color:rgb(48,128,128)">:</span> PLAYING PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
</b>DEBUG<span style="color:rgb(48,128,128)">:</span> onMessage<span style="color:rgb(48,128,128)">:</span> called with message<span style="color:rgb(48,128,128)">_</span>id<span style="color:rgb(48,128,128)">:</span> streamRTMP
Info<span style="color:rgb(48,128,128)">:</span> Adding RTMP<span style="color:rgb(48,128,128)">:</span> FUKyqA3xY<span style="color:rgb(48,128,128)">:</span> rtmp<span style="color:rgb(48,128,128)">:</span><span style="color:rgb(48,128,128)">/</span><span style="color:rgb(48,128,128)">/</span>a<span style="color:rgb(0,140,0)">.</span>rtmp<span style="color:rgb(0,140,0)">.</span>youtube<span style="color:rgb(0,140,0)">.</span>com<span style="color:rgb(48,128,128)">/</span>live2<span style="color:rgb(48,128,128)">/</span><span style="color:rgb(48,128,128)">/</span>xxxx<span style="color:rgb(48,128,128)">-</span>cccc<span style="color:rgb(48,128,128)">-</span>ssss<span style="color:rgb(48,128,128)">-</span>wwww
Info<span style="color:rgb(48,128,128)">:</span> Add when ready <span style="color:rgb(48,128,128)">-</span> sending to<span style="color:rgb(48,128,128)">:</span> FUKyqA3xY<span style="color:rgb(48,128,128)">:</span> rtmp<span style="color:rgb(48,128,128)">:</span><span style="color:rgb(48,128,128)">/</span><span style="color:rgb(48,128,128)">/</span>a<span style="color:rgb(0,140,0)">.</span>rtmp<span style="color:rgb(0,140,0)">.</span>youtube<span style="color:rgb(0,140,0)">.</span>com<span style="color:rgb(48,128,128)">/</span>live2<span style="color:rgb(48,128,128)">/</span><span style="color:rgb(48,128,128)">/</span>xxxx<span style="color:rgb(48,128,128)">-</span>cccc<span style="color:rgb(48,128,128)">-</span>ssss<span style="color:rgb(48,128,128)">-</span>wwww
Info<span style="color:rgb(48,128,128)">:</span> RtmpBin added
Info<span style="color:rgb(48,128,128)">:</span> RtmpBin got AUDIO sinkPad
Info<span style="color:rgb(48,128,128)">:</span> RtmpBin got AUDIO Tee new sourcePad
Info<span style="color:rgb(48,128,128)">:</span> RtmpBin got VIDEO sinkPad
Info<span style="color:rgb(48,128,128)">:</span> RtmpBin got VIDEO Tee new sourcePad
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> rtmpsink<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> READY PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> flvmux<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> READY PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> queue<span style="color:rgb(48,128,128)">-</span>audio<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> READY PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> queue<span style="color:rgb(48,128,128)">-</span>video<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> READY PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> rtmpBin<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> READY PENDING<span style="color:rgb(48,128,128)">:</span> PLAYING
<b><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> my<span style="color:rgb(48,128,128)">-</span>pipeline NEW<span style="color:rgb(48,128,128)">:</span> PAUSED PENDING<span style="color:rgb(48,128,128)">:</span> PAUSED
</b><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> flvmux<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PAUSED PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> queue<span style="color:rgb(48,128,128)">-</span>audio<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PAUSED PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> queue<span style="color:rgb(48,128,128)">-</span>video<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PAUSED PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
Info<span style="color:rgb(48,128,128)">:</span> RtmpBin sync
Info<span style="color:rgb(48,128,128)">:</span> RtmpBin pad linked
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> rtmpsink<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PAUSED PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> rtmpBin<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PAUSED PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<b><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> my<span style="color:rgb(48,128,128)">-</span>pipeline NEW<span style="color:rgb(48,128,128)">:</span> PAUSED PENDING<span style="color:rgb(48,128,128)">:</span> PLAYING
</b><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> rtmpsink<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PLAYING PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> flvmux<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PLAYING PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> queue<span style="color:rgb(48,128,128)">-</span>audio<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PLAYING PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> queue<span style="color:rgb(48,128,128)">-</span>video<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PLAYING PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> rtmpBin<span style="color:rgb(48,128,128)">-</span>FUKyqA3xY NEW<span style="color:rgb(48,128,128)">:</span> PLAYING PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
<b><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span><span style="color:rgb(48,128,128)">></span> STATE CHANGED<span style="color:rgb(48,128,128)">:</span> my<span style="color:rgb(48,128,128)">-</span>pipeline NEW<span style="color:rgb(48,128,128)">:</span> PLAYING PENDING<span style="color:rgb(48,128,128)">:</span> VOID<span style="color:rgb(48,128,128)">_</span>PENDING
</b></pre></div><div dir="ltr"><br></div><div>So I know it's difficult to read my code, but maybe I have a concept error and some of you can guide me on the right direction... I have done my homework and looked into the doc and examples like this:<br><a href="https://github.com/sdroege/gst-snippets/blob/217ae015aaddfe3f7aa66ffc936ce93401fca04e/dynamic-tee-vsink.c">https://github.com/sdroege/gst-snippets/blob/217ae015aaddfe3f7aa66ffc936ce93401fca04e/dynamic-tee-vsink.c</a><br></div><div><br></div><div>Or reading things like:<br><a href="https://gstreamer.freedesktop.org/documentation/tutorials/basic/dynamic-pipelines.html">https://gstreamer.freedesktop.org/documentation/tutorials/basic/dynamic-pipelines.html</a><br></div><div><br></div><div>Maybe I need to use some probe blocking (which to be honest I don't fully understand) but I was hoping to have to deal with that only when removing the sink pads... but looks like I'm not getting there yet hehe</div><div><br></div><div>Something maybe matters is that all this is a stream, I'm receiving a stream from webrtc and pushing it to rtmp (audio being converted to acc, video trying to sent it directly in h264 as it comes out from the webrtcbin)</div><div><br></div><div>Thanks a lot even if you took the time to read 1/3 of this huge post.</div><div><br></div><div>Cheers!<br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><br>---<br>Sebastian A. Greco<br></div></div></div></div></div></div></div></div></div></div></div></div></div></div>