After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 561502 - Not-negociated error in udpsrc
Not-negociated error in udpsrc
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.11
Other Windows
: Normal normal
: 0.10.14
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-11-19 12:51 UTC by Etienne Barbier
Modified: 2010-05-25 06:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
videostream body (6.20 KB, application/octet-stream)
2008-11-24 07:45 UTC, Etienne Barbier
Details
videowidget body (8.54 KB, application/octet-stream)
2008-11-24 07:46 UTC, Etienne Barbier
Details
videostream header (1.53 KB, application/octet-stream)
2008-11-24 07:47 UTC, Etienne Barbier
Details
videowidget header (2.88 KB, application/octet-stream)
2008-11-24 07:47 UTC, Etienne Barbier
Details
Traces for failed and successfull test case (494.09 KB, application/x-zip-compressed)
2008-11-27 13:09 UTC, Etienne Barbier
Details

Description Etienne Barbier 2008-11-19 12:51:38 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
Comment 1 Wim Taymans 2008-11-22 14:47:01 UTC
what elements are you using in the pipeline?
Comment 2 Etienne Barbier 2008-11-24 07:45:35 UTC
Created attachment 123304 [details]
videostream body
Comment 3 Etienne Barbier 2008-11-24 07:46:26 UTC
Created attachment 123305 [details]
videowidget body
Comment 4 Etienne Barbier 2008-11-24 07:47:18 UTC
Created attachment 123306 [details]
videostream header
Comment 5 Etienne Barbier 2008-11-24 07:47:36 UTC
Created attachment 123307 [details]
videowidget header
Comment 6 Etienne Barbier 2008-11-24 07:56:23 UTC
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 ...
Comment 7 Wim Taymans 2008-11-25 15:35:53 UTC
videocrop still uses weird hacks to refconfigure basetransform.
Comment 8 Wim Taymans 2008-11-25 16:06:47 UTC
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.
Comment 9 Etienne Barbier 2008-11-27 11:39:05 UTC
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 ...
Comment 10 Wim Taymans 2008-11-27 11:47:33 UTC
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.
Comment 11 Etienne Barbier 2008-11-27 13:09:37 UTC
Created attachment 123541 [details]
Traces for failed and successfull test case
Comment 12 Wim Taymans 2009-12-22 10:40:09 UTC
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?
Comment 13 Tobias Mueller 2010-03-24 12:45:36 UTC
Etienne, Ping.
Comment 14 Etienne Barbier 2010-03-25 09:47:43 UTC
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
Comment 15 Tobias Mueller 2010-05-22 19:10:38 UTC
So Etienne, any results?
Comment 16 Etienne Barbier 2010-05-25 06:20:07 UTC
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.