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 347918 - Internal data flow error in udpsrc
Internal data flow error in udpsrc
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.9
Other Linux
: Normal normal
: 0.10.10
Assigned To: Wim Taymans
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-07-18 13:57 UTC by Thijs Vermeir
Modified: 2006-07-19 18:22 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
Level 4 debug info about the bug (218.93 KB, text/plain)
2006-07-18 14:06 UTC, Thijs Vermeir
Details

Description Thijs Vermeir 2006-07-18 13:57:21 UTC
There is an Internal data flow error in element udpsrc in gst-plugins-good.

Example:
gst-launch udpsrc multicast-group="226.255.0.40" port=6000 ! application/x-rtp ! rtpmp4vdepay
( gst-launch is just used as proof of concept for this bug, parsing is good)

Feedback given by the system is (level 3):
Setting pipeline to PLAYING ...
INFO  (0x80519d8 - 0:00:03.007173000)           GST_STATES(12007) gstbin.c(1935):gst_bin_change_state_func:<pipeline0> child 'fakesink0' is changing state asynchronously
INFO  (0x80519d8 - 0:00:03.007366000)           GST_STATES(12007) gstelement.c(1946):gst_element_continue_state:<rtpmp4vdepay0> completed state change
INFO  (0x80519d8 - 0:00:03.007521000)           GST_STATES(12007) gstbin.c(1930):gst_bin_change_state_func:<pipeline0> child 'rtpmp4vdepay0' changed state to 4(PLAYING) successfully
INFO  (0x80519d8 - 0:00:03.007662000)           GST_STATES(12007) gstelement.c(1946):gst_element_continue_state:<capsfilter0> completed state change
INFO  (0x80519d8 - 0:00:03.007805000)           GST_STATES(12007) gstbin.c(1930):gst_bin_change_state_func:<pipeline0> child 'capsfilter0' changed state to 4(PLAYING) successfully
INFO  (0x80519d8 - 0:00:03.007942000)           GST_STATES(12007) gstelement.c(1946):gst_element_continue_state:<udpsrc0> completed state change
INFO  (0x80519d8 - 0:00:03.008086000)           GST_STATES(12007) gstbin.c(1930):gst_bin_change_state_func:<pipeline0> child 'udpsrc0' changed state to 4(PLAYING) successfully
New clock: GstSystemClock

** (gst-launch-0.10:12007): CRITICAL **: gst_base_rtp_depayload_chain: assertion `filter->clock_rate > 0' failed
INFO  (0x807dad8 - 0:00:03.009038000)              basesrc(12007) gstbasesrc.c(1531):gst_base_src_loop:<udpsrc0> pausing after gst_pad_push() = -5
WARN  (0x807dad8 - 0:00:03.009192000)              basesrc(12007) gstbasesrc.c(1569):gst_base_src_loop:<udpsrc0> error: Internal data flow error.
WARN  (0x807dad8 - 0:00:03.009311000)              basesrc(12007) gstbasesrc.c(1569):gst_base_src_loop:<udpsrc0> error: streaming task paused, reason error (-5)
INFO  (0x807dad8 - 0:00:03.009468000)     GST_ERROR_SYSTEM(12007) gstelement.c(1500):gst_element_message_full:<udpsrc0> posting message: Internal data flow error.
ERROR: from element /pipeline0/udpsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(1569): gst_base_src_loop (): /pipeline0/udpsrc0:
streaming task paused, reason error (-5)
Execution ended after 1755000 ns.
Setting pipeline to PAUSED ...
INFO  (0x80519d8 - 0:00:03.010226000)           GST_STATES(12007) gstbin.c(1935):gst_bin_change_state_func:<pipeline0> child 'fakesink0' is changing state asynchronously
INFO  (0x80519d8 - 0:00:03.010364000)           GST_STATES(12007) gstelement.c(1946):gst_element_continue_state:<rtpmp4vdepay0> completed state change
INFO  (0x80519d8 - 0:00:03.010509000)           GST_STATES(12007) gstbin.c(1930):gst_bin_change_state_func:<pipeline0> child 'rtpmp4vdepay0' changed state to 3(PAUSED) successfully
INFO  (0x80519d8 - 0:00:03.010664000)           GST_STATES(12007) gstelement.c(1946):gst_element_continue_state:<capsfilter0> completed state change
INFO  (0x80519d8 - 0:00:03.010806000)           GST_STATES(12007) gstbin.c(1930):gst_bin_change_state_func:<pipeline0> child 'capsfilter0' changed state to 3(PAUSED) successfully
INFO  (0x80519d8 - 0:00:03.010938000)           GST_STATES(12007) gstelement.c(1946):gst_element_continue_state:<udpsrc0> completed state change
INFO  (0x80519d8 - 0:00:03.011077000)           GST_STATES(12007) gstbin.c(1949):gst_bin_change_state_func:<pipeline0> child 'udpsrc0' changed state to 3(PAUSED) successfully without prerollINFO  (0x80519d8 - 0:00:03.011219000)           GST_STATES(12007) gstelement.c(1946):gst_element_continue_state:<pipeline0> completed state change
INFO  (0x80519d8 - 0:00:03.011361000)           GST_STATES(12007) gstbin.c(1282):gst_bin_get_state_func:<pipeline0> getting state
INFO  (0x80519d8 - 0:00:03.011482000)           GST_STATES(12007) gstbin.c(1321):gst_bin_recalc_state:<pipeline0> recalc state
INFO  (0x80519d8 - 0:00:03.011600000)           GST_STATES(12007) gstbin.c(1331):gst_bin_recalc_state:<pipeline0> checking element states
INFO  (0x80519d8 - 0:00:03.011725000)           GST_STATES(12007) gstelement.c(1937):gst_element_continue_state:<pipeline0> nothing pending
INFO  (0x80519d8 - 0:00:03.011842000)           GST_STATES(12007) gstbin.c(1420):gst_bin_recalc_state:<pipeline0> bin RETURN is now 3
Setting pipeline to READY ...
INFO  (0x80519d8 - 0:00:03.012104000)           GST_STATES(12007) gstelement.c(1946):gst_element_continue_state:<fakesink0> completed state change
INFO  (0x80519d8 - 0:00:03.012248000)           GST_STATES(12007) gstbin.c(1930):gst_bin_change_state_func:<pipeline0> child 'fakesink0' changed state to 2(READY) successfully
I
Comment 1 Thijs Vermeir 2006-07-18 14:06:49 UTC
Created attachment 69117 [details]
Level 4 debug info about the bug

This is the level 4 debuginfo generated with this bug.
Comment 2 Thijs Vermeir 2006-07-18 14:54:40 UTC
I see that splinux@fedoraproject.org changed the status to NEEDINFO without leaving a message what info he need...

Can someone confirm that there is more info needed? And what is missing?
Comment 3 Wim Taymans 2006-07-18 15:30:46 UTC
It seems ok, the caps for application/x-rtp are incomplete (the clockrate is missing, for example). The depayloader should not generate a critical and GST_FLOW_ERROR but just a GST_FLOW_NOT_NEGOTIATED instead.
Comment 4 Wim Taymans 2006-07-19 18:22:01 UTC
        * gst-libs/gst/rtp/gstbasertpdepayload.c:
        (gst_base_rtp_depayload_chain),
        (gst_base_rtp_depayload_change_state):
        Don't assert when not negotiated but post a meaningfull
        error message. Fixes #347918.

        * gst-libs/gst/rtp/gstbasertppayload.c:
        Add comment about better default MTU size.

        * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data):
        Small cleanups, start docs.