Dynamic Pipelines: Unable to read video file

Dimitrios Katsaros patcherwork at gmail.com
Fri Feb 10 13:03:31 UTC 2017


>
> Is there a way to force synchronization/initialization of a new connected
>
bin to an already existing playing pipeline?
>

gst_element_sync_state_with_parent
<https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-sync-state-with-parent>


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.

Dimitrios

On Fri, Feb 10, 2017 at 11:03 AM, ltramart <ludovic.tramart at acteongroup.com>
wrote:

> Thanks for the taking the time to reply.
>
> Yes i'm a running dynamics pipeline in my own application in a single
> thread.
>
> On the bus i am not getting any GST_MESSAGE_LATENCY. The only messages i
> get
> are NEW_CLOCK when starting my live pipe, then the usual STATE_CHANGED and
> STREAM_STATUS messages, and some ASYNC-DONE.
>
> To my understanding, only elements may request a latency change, correct?
>
> It looks like my RecBin is not properly initialized once connected then set
> in PLAYING state.
> Is there a way to force synchronization/initialization of a new connected
> bin to an already existing playing pipeline?
>
> Perhaps, i am not setting up my elements correctly? Here are my steps to
> connect RecBin (Bin3) to VpuBin (Bin1):
> -add RecBin (Bin3) to VpuBin (Bin1)
> -request src_pad from tee of VpuBin
> -request sink_pad from RecBin sink pad (ghot pad)
> -link both pad
> -unblock src_pad
> -Set Pipepine to PLAYING state.
>
> This work well if streaming is off, otherwise i get this black screen on my
> records :-(
> The avi file is only playable with VLC not with WMP ; length of file is OK
> so EOS is working OK but garbage data inside.
>
> Any hint is welcome :-)
>
> Thanks for your help
> Ludo.
>
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.
> n4.nabble.com/Dynamic-Pipelines-Unable-to-read-
> video-file-tp4681780p4681815.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170210/c8ab17e1/attachment.html>


More information about the gstreamer-devel mailing list