GNOME Bugzilla – Bug 561502
Not-negociated error in udpsrc
Last modified: 2010-05-25 06:20:07 UTC
Often (but not always), I get the following error when modifying the cropping properties in a playing pipeline: ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data flow error. Additional debug info: D:\video\gstreamer\gstreamer-0.10.21\libs\gst\base\gstbasesrc.c(2234): ??? (): / GstPipeline:pipeline0/GstUDPSrc:udpsrc0: streaming task paused, reason not-negotiated (-4) I understood that should be fixed with the new GstBaseTransform
what elements are you using in the pipeline?
Created attachment 123304 [details] videostream body
Created attachment 123305 [details] videowidget body
Created attachment 123306 [details] videostream header
Created attachment 123307 [details] videowidget header
Here the interesting extracts of the code I have attached: /* init */ gst_init (0, NULL); /* create pipeline */ a_pipeline = gst_pipeline_new (NULL); /* get the pipeline bus and set the bus message handler. The installed handler shall raise signals when messages are received. */ a_bus = gst_pipeline_get_bus (GST_PIPELINE (a_pipeline)); gst_bus_set_sync_handler (a_bus, gst_bus_sync_signal_handler, NULL); g_signal_connect (a_bus, "sync-message", G_CALLBACK (handleMessage), this); capsSource = gst_caps_new_simple ("application/x-rtp", "media", G_TYPE_STRING, "video", "payload", G_TYPE_INT, 96, "clock-rate", G_TYPE_INT, 90000, "encoding-name", G_TYPE_STRING, "MP4V-ES", NULL); /* create elements */ a_rtpSource = gst_element_factory_make ("udpsrc", NULL); g_object_set (G_OBJECT (a_rtpSource), "port", a_rtpPort, NULL); g_object_set (G_OBJECT (a_rtpSource), "caps", capsSource, NULL); a_rtpSession = gst_element_factory_make ("gstrtpsession", NULL); a_depay = gst_element_factory_make ("rtpmp4vdepay", NULL); a_decoder = gst_element_factory_make ("ffdec_mpeg4", NULL); a_tee = gst_element_factory_make ("tee", NULL); a_rtcpSink = gst_element_factory_make ("udpsink", NULL); g_object_set (G_OBJECT (a_rtcpSink), "host", a_rtcpHost.toLocal8Bit().data(), NULL); g_object_set (G_OBJECT (a_rtcpSink), "port", a_rtcpPort, NULL); From now on, the elements here below may be linked x (x>1) times to the tee element: /* create elements */ a_queue = gst_element_factory_make ("queue", NULL); a_videoCrop = gst_element_factory_make ("videocrop", NULL); g_object_set (G_OBJECT (a_videoCrop), "left", a_cropLeft, "right", a_cropRight, "top", a_cropTop, "bottom", a_cropBottom, NULL); a_videoFlip = gst_element_factory_make ("videoflip", NULL); if (a_mirror) { g_object_set (G_OBJECT (a_videoFlip), "method", 4, NULL); } else { g_object_set (G_OBJECT (a_videoFlip), "method", 0, NULL); } a_colorSpace = gst_element_factory_make ("ffmpegcolorspace", NULL); #if defined(Q_WS_X11) a_sink = gst_element_factory_make ("ximagesink", NULL); #elif defined(Q_WS_WIN) a_sink = gst_element_factory_make ("directdrawsink", NULL); #endif g_object_set (G_OBJECT (a_sink), "force-aspect-ratio", a_forceAspectRatio, NULL); Hope this helps ...
videocrop still uses weird hacks to refconfigure basetransform.
Pleas try with this fix: * gst/videocrop/gstvideocrop.c: (gst_video_crop_init), (gst_video_crop_transform), (gst_video_crop_transform_caps), (gst_video_crop_set_caps), (gst_video_crop_set_property): * gst/videocrop/gstvideocrop.h: Fix renegotiation when changing properties using the new basetransform features. Fixes #561502. * tests/icles/Makefile.am: * tests/icles/videocrop2-test.c: (make_pipeline), (main): Add crazy interactive test unit for dynamically changing properties.
Same as before. I still get the same error. It fails for videobox as well. However, if I modify the cropping properties once before starting the pipeline, it solves the problem; meaning that I can then modify the cropping properties when playing. Maybe this hint may be usefull to find the problem, it looks like something is not properly initialized somewhere ...
I need log then of the failing case, something like: GST_DEBUG=*trans*:5,*crop*:5 <appname> >debug.log 2>&1 then bzip2 debug.log and attach to this bugreport.
Created attachment 123541 [details] Traces for failed and successfull test case
I don't know what happed to that log but it is stripped of all useful colors and line number info. Does it still happen with newer versions?
Etienne, Ping.
Hi Tobias, Sorry for my late answer. We are going to validate the application based on gst-plugins-good-0.10.15. This is planned to be completed in two weeks. I'll get back to you with the results Etienne
So Etienne, any results?
We have had some delays regarding the validation and it is currently still not completely finished. However, it seems that so far the bug cannot be reproduced. I propose to close this bug.