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