gStreamer-Sharp Dynamic pads not linking

GST_C# bradsharp0616 at gmail.com
Mon Jun 10 04:38:27 PDT 2013


I've recently started using gStreamer-sharp, working with an axis-encoder,
and I can get a video playing with playbin but I need my video to be live,
thus a need to set the latency. but I have come across this error:

        GST_ELEMENT_PADS gstelement.c:722:gst_element_add_pad:<Source>
adding pad 'recv_rtp_src_0_219678342_96'
    0:00:11.033000000 13088   05418DA0 INFO                 basesrc
gstbasesrc.c:2519:gst_base_src_loop:<udpsrc1> pausing after gst_pad_push() =
not-linked
    0:00:11.033000000 13088   05418DA0 WARN                 basesrc
gstbasesrc.c:2582:gst_base_src_loop:<udpsrc1> error: Internal data flow
error.
    0:00:11.033000000 13088   05418DA0 WARN                 basesrc
gstbasesrc.c:2582:gst_base_src_loop:<udpsrc1> error: streaming task paused,
reason not-linked (-1)
    0:00:11.214000000 13088   05418DA0 INFO        GST_ERROR_SYSTEM
gstelement.c:1931:gst_element_message_full:<udpsrc1> posting message:
Internal data flow error.
    0:00:11.214000000 13088   05418DA0 INFO        GST_ERROR_SYSTEM
gstelement.c:1954:gst_element_message_full:<udpsrc1> posted error message:
Internal data flow error.


Which has lead me to believe it's a problem with the pad's my code is as
following:


        Gst.Video.VideoSink videoSink;
        Pipeline m_Pipeline;
        Element m_Source, m_Demux, m_Decoder, m_Space;

        private void OnVideoPadAdded(object sender, Gst.PadAddedArgs args)
        {
            Gst.Element.Link(m_Demux, m_Decoder);
        }
        
        private void CreatePipeline()
        {
           
            m_Pipeline = new Pipeline("video player");
            m_Source = Gst.ElementFactory.Make("rtspsrc", "Source");
            m_Source["location"] =
@"rtsp://root:root@192.168.8.159:554/axis-media/media.3gp"; 


            m_Demux = Gst.ElementFactory.Make("rtph264depay", "Depay");
            m_Decoder = Gst.ElementFactory.Make("ffdec_h264", "Decoder");            
            m_Space = ElementFactory.Make("ffmpegcolorspace", "Space");
            videoSink = Gst.ElementFactory.Make("directdrawsink", "Output")
as Gst.Video.VideoSink;
            videoSink["force-aspect-ratio"] = true;
            
            
            m_Pipeline.Add(m_Source, m_Demux, m_Decoder, m_Space,
videoSink);

            m_Pipeline.SetState(Gst.State.Ready);            
            m_Source.Link(m_Demux);
            m_Demux.PadAdded += new Gst.PadAddedHandler(OnVideoPadAdded);
            m_Decoder.Link(m_Space);
            m_Space.Link(videoSink);

            var overlay = new
Gst.Interfaces.XOverlayAdapter(videoSink.Handle);
            overlay.XwindowId = (ulong)videoPanel.Handle;

            m_Pipeline.SetState(Gst.State.Paused);
            m_Pipeline.SetState(State.Playing);

        }

Any help is appreciated.



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/gStreamer-Sharp-Dynamic-pads-not-linking-tp4660472.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list