This post was updated on .
CONTENTS DELETED
The author has deleted this message.
|
anyone help? kaija wrote: > > I try to create a picture in picture channel to the main pipeline. > I read this post and succeeded to create PIP channel dynamically. > (http://gstreamer-devel.966125.n4.nabble.com/Dynamically-adding-and-removing-branches-of-a-tee-td973635.html#a973637) > However, while I attempt to release the PIP channel while the main > pipeline is still running, the main pipeline stops to refresh video > frames. > I cannot figure out the reason why main pipeline stops. > Could anyone help me to solve the problem? > > Here is my pipeline looks like: > > > / (main pipeline)queue - videomixer - videoscale - videocrop - caps - > videosink > tee > / > \ (pip branch ) queue - videoscale - videocrop - caps ------ mix > -----/ > > > the following code shows how I unlink pip branch from tee and videomixer > > void CPiPChannel::Unlink(void) { > gst_pad_set_blocked_async(m_pVideoTeeSrcPad, TRUE, (GstPadBlockCallback) > PadBlockHandler, m_pVideoTee); > gst_element_remove_pad(m_pVideoMixer, m_pVideoMixerSinkPad); > } > > void CPiPChannel::PadBlockHandler(GstPad* pPad, gboolean bBlocked, > gpointer pData) > { > GstPad* pPeer = NULL; > GstEvent* pEvent = NULL; > GstElement* pTee = NULL; > > if(bBlocked) { > pPeer = gst_pad_get_peer(pPad); > pEvent = gst_event_new_eos(); > pTee = (CPiPChannel*) pData; > > if(gst_pad_unlink(pPad, pPeer); > dprintf("unlink pad success"); > else > dprintf("unlink pad failed"); > > gst_element_set_state(pBin, GST_STATE_READY); > gst_element_set_state(pBin, GST_STATE_NULL); > > gst_pad_push_event(pPeer, pEvent); > gst_pad_set_blocked_async(pPad, FALSE, (GstPadBlockCallback) > PadBlockHandler, pData); > gst_element_remove_pad(pTee, pPad); > gst_object_unref(pPad); > } else { > dprintf("unblocked"); > } > } > -- View this message in context: http://gstreamer-devel.966125.n4.nabble.com/dynamically-remove-custom-branch-from-tee-and-videomixer-tp3163782p3169949.html Sent from the GStreamer-devel mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Gaining the trust of online customers is vital for the success of any company that requires sensitive data to be transmitted over the Web. Learn how to best implement a security strategy that keeps consumers' information secure and instills the confidence they need to proceed with transactions. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by kaija
On 12/25/2010 07:35 AM, kaija wrote:
> > I try to create a picture in picture channel to the main pipeline. > I read this post and succeeded to create PIP channel dynamically. > (http://gstreamer-devel.966125.n4.nabble.com/Dynamically-adding-and-removing-branches-of-a-tee-td973635.html#a973637) > However, while I attempt to release the PIP channel while the main pipeline > is still running, the main pipeline stops to refresh video frames. > I cannot figure out the reason why main pipeline stops. > Could anyone help me to solve the problem? http://gstreamer-devel.966125.n4.nabble.com/SOLVED-Dynamically-Recording-From-a-Live-Stream-amp-EOS-Handling-td3057813.html Here is what I had to do to remove a branch from a running pipeline. Not exactly for the same purpose, however my guess is that you are running into the same issue. *IF* you don't have both audio and video streams then perhaps you can do the simpler version detailed here: http://gstreamer-devel.966125.n4.nabble.com/Handling-EOS-in-a-branched-pipeline-td2965563.html I'm a newbie to this so can't profess expertise in solving this for you - good luck ------------------------------------------------------------------------------ Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |