<div dir="ltr"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Is there a way to force synchronization/initialization of a new connected<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
bin to an already existing playing pipeline?<br></blockquote><br><a title="gst_element_sync_state_with_parent ()" href="https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-sync-state-with-parent" class="gmail-link">gst_element_sync_state_with_parent</a><br><br><br></div><div>The set of operations to add the element seem correct. One thing to note is that you are using a tee. The event handling for tees is not the best. Primarily because figuring out how a pipeline should be handled after a tee is a bit complex and implementation specific. You might have to send a set of events downstream to start up the pipeline correctly. Off the top of my head that would be a stream_start and a segment event. The segment should start from the first buffer that will be sent downstream to ensure there is no gap at the start of the recording, i.e. if you connect the pipe at second 5 and you don't set a correct segment, then the recording will have 5 seconds of black video/silence and then the video will start playing.<br><br></div><div>Dimitrios<br></div>
</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 10, 2017 at 11:03 AM, ltramart <span dir="ltr"><<a href="mailto:ludovic.tramart@acteongroup.com" target="_blank">ludovic.tramart@acteongroup.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks for the taking the time to reply.<br>
<br>
Yes i'm a running dynamics pipeline in my own application in a single<br>
thread.<br>
<br>
On the bus i am not getting any GST_MESSAGE_LATENCY. The only messages i get<br>
are NEW_CLOCK when starting my live pipe, then the usual STATE_CHANGED and<br>
STREAM_STATUS messages, and some ASYNC-DONE.<br>
<br>
To my understanding, only elements may request a latency change, correct?<br>
<br>
It looks like my RecBin is not properly initialized once connected then set<br>
in PLAYING state.<br>
Is there a way to force synchronization/initialization of a new connected<br>
bin to an already existing playing pipeline?<br>
<br>
Perhaps, i am not setting up my elements correctly? Here are my steps to<br>
connect RecBin (Bin3) to VpuBin (Bin1):<br>
-add RecBin (Bin3) to VpuBin (Bin1)<br>
-request src_pad from tee of VpuBin<br>
-request sink_pad from RecBin sink pad (ghot pad)<br>
-link both pad<br>
-unblock src_pad<br>
-Set Pipepine to PLAYING state.<br>
<br>
This work well if streaming is off, otherwise i get this black screen on my<br>
records :-(<br>
The avi file is only playable with VLC not with WMP ; length of file is OK<br>
so EOS is working OK but garbage data inside.<br>
<br>
Any hint is welcome :-)<br>
<br>
Thanks for your help<br>
Ludo.<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/Dynamic-Pipelines-Unable-to-read-video-file-tp4681780p4681815.html" rel="noreferrer" target="_blank">http://gstreamer-devel.966125.<wbr>n4.nabble.com/Dynamic-<wbr>Pipelines-Unable-to-read-<wbr>video-file-tp4681780p4681815.<wbr>html</a><br>
<div class="HOEnZb"><div class="h5">Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>
______________________________<wbr>_________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/gstreamer-<wbr>devel</a><br>
</div></div></blockquote></div><br></div>