Administrator
|
This post was updated on .
*pipeline*
------------------------------------------------------------------------------ ----src_1 ------ rtph264depay --- h264parse ---- vtee ----- src_2 rtspsrc ------ rtpmp4gdepay --- aacparse ----- atee ----- src_2 ------src_1 *src_1* ---------- vtee ---- queue ---- avimux1 ----- appsink1 atee ---- queue ---- *src_2* ---------- vtee ------ queue ---- avimux2 ----- appsink2 atee ------ queue ---- I have the following pipeline that use in c++ that I switch between each branch on the tees. I will eos on one branch and start recording on the other. *Stop Branch* --------------- Block teePads,Eos through queues,unlink queues from tee, null each element,unblock the tee,release pads * Start Branch* --------------- request pads on tees,link pads to queues, play each element *Problem* ---------------- for some reason when I go to start the branch after it was null last time I stopped it, the last flow return was flushing. why would that be? It doesn't happen every time I go to start a new one it just happens to occur the one time. The branch doesn't start correctly so I have to stop it. If i try to stop it it can't block the tee that is flushing. What would be the reason? any ideas? ----- ------------------------------ Gstreamer 1.12.4 ------------------------------ Windows -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list gstreamer-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
------------------------------
Gstreamer 1.16.2 ------------------------------ Windows |
Administrator
|
I'm not for sure but it might have worked to re-initiate the tee pads if they
are flushing. GstElement* atee = gst_bin_get_by_name(GST_BIN(pipeline),"audiotee"); GstEvent* FlushStopEvent = gst_event_new_flush_stop(FALSE); GstPad* pad = gst_element_get_static_pad(atee, teePadName.c_str()); if (gst_pad_get_last_flow_return(pad) == GST_FLOW_FLUSHING) gst_element_send_event(atee, FlushStopEvent); ----- ------------------------------ Gstreamer 1.12.4 ------------------------------ Windows -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
------------------------------
Gstreamer 1.16.2 ------------------------------ Windows |
Administrator
|
Well I guess this didn't work at all. The rest of the pads beyond the tee are
fine. for some reason at the tee pad src_2 or src_1 are flushing even though I released the pads from the tee. It just happens randomly. ----- ------------------------------ Gstreamer 1.12.4 ------------------------------ Windows -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
------------------------------
Gstreamer 1.16.2 ------------------------------ Windows |
Administrator
|
if you remove the probe then release the pad from the tee could the flushing
affect right when I remove the probe? So If stop the flushing on each element before removing the probe could that be the answer to my problem? for Example: tee ---- queue <--- flushing tee ---- queue <--- flushing ----- ------------------------------ Gstreamer 1.12.4 ------------------------------ Windows -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
------------------------------
Gstreamer 1.16.2 ------------------------------ Windows |
Free forum by Nabble | Edit this page |