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 662181 - udpsink fails for Multicast IP address
udpsink fails for Multicast IP address
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.x
Other Windows
: Normal critical
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-10-19 12:11 UTC by saev
Modified: 2013-04-17 15:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description saev 2011-10-19 12:11:37 UTC
udpsink fails when multicast ip address is given. It works fine when another PC ip address(Unicast) is given.

Steps to reproduce:
My requirement is to multicast a video.
I am using the below command to multicast the video:
gst-launch -v gstrtpbin name=rtpbin filesrc location=1.avi ! decodebin2  name=decode decode. ! ffmpegcolorspace ! videoscale ! videorate ! video/x-raw-yuv,width=352,height=288,framerate=15/1 ! ffmpegcolorspace ! ffenc_h263p ! rtph263ppay ! rtpbin.send_rtp_sink_0 rtpbin.send_r rtp_src_0 ! queue ! udpsink host=150.158.73.74 port=5000

When I give another PC IP address then it work fine(UNICAST) and I am able to see the video in another PC but when I give the multicast IP address then I get the below error:
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstUDPSink:udpsink0: Could not get/se
t settings from/on resource.
Additional debug info:
..\..\..\..\..\Source\gst-plugins-good\gst\udp\gstmultiudpsink.c(906): gst_multi
udpsink_configure_client (): /GstPipeline:pipeline0/GstUDPSink:udpsink0:
Could not join multicast group (10022): A
Setting pipeline to NULL ...
Freeing pipeline ...


Same goes for udpsrc also, if we try to give a multicast ip address in udpsrc then it fails showing the same above error message. But it work fine when another PC ip address(UNICAST) is given.

I am using OSS build(GStreamer 0.10.28 version) on Window OS.
Comment 1 saev 2011-10-20 11:36:58 UTC
The similar kind of bug is:
Bug 595978 - [udpsrc] failed to play a multicast stream  
https://bugzilla.gnome.org/show_bug.cgi?id=595978

But this defect was fixed. 
I am experiencing the same issue. May be the issue is again added in some recent checkins
Comment 2 lluis 2011-11-05 19:06:29 UTC
I am experiencing the same issue.

Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\lluis>gst-launch audiotestsrc ! udpsink host=224.0.0.1

'import site' failed; use -v for traceback
ImportError: No module named pygtk
ImportError: No module named pygtk
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstUDPSink:udpsink0: Could not get/se
t settings from/on resource.
Additional debug info:
..\..\..\..\..\Source\gst-plugins-good\gst\udp\gstmultiudpsink.c(975): gst_multi
udpsink_configure_client (): /GstPipeline:pipeline0/GstUDPSink:udpsink0:
Could not join multicast group (10022): S
Setting pipeline to NULL ...
Freeing pipeline ...


Also fail udpsrc


Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\lluis>gst-launch udpsrc multicast-group=224.0.0.1 ! fa
kesink
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Could not get/set
settings from/on resource.
Additional debug info:
..\..\..\..\..\Source\gst-plugins-good\gst\udp\gstudpsrc.c(943): gst_udpsrc_star
t (): /GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
bind failed -1: No error (0)
Setting pipeline to NULL ...
Freeing pipeline ...

Fail in all multicast address.

using winbuild 10.6
Comment 3 cee1 2012-11-23 13:44:50 UTC
I am experiencing the same issue, too

gst-launch-0.10.exe videotestsrc ! udpsink host=239.192.0.1
(gst-launch-0.10:5804): Clutter-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
0:00:00.913052000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:1061:gst_multiudpsink_add_internal:<GstUDPSink@0B725148>
adding client on host localhost, port 4951
0:00:00.916053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:1089:gst_multiudpsink_add_internal:<GstUDPSink@0B725148>
add client with host localhost, port 4951
0:00:00.917053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:1099:gst_multiudpsink_add_internal:<GstUDPSink@0B725148>
added client on host localhost, port 4951
0:00:00.917053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:1141:gst_multiudpsink_remove:<udpsink0> found 1
clients with host localhost, port 4951
0:00:00.917053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:1145:gst_multiudpsink_remove:<udpsink0> remove
client with host localhost, port 4951
0:00:00.917053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:1061:gst_multiudpsink_add_internal:<udpsink0> adding
client on host 239.192.0.1, port 4951
0:00:00.917053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:1089:gst_multiudpsink_add_internal:<udpsink0> add
client with host 239.192.0.1, port 4951
0:00:00.917053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:1099:gst_multiudpsink_add_internal:<udpsink0> added
client on host 239.192.0.1, port 4951
Setting pipeline to PAUSED ...
0:00:00.917053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:936:gst_multiudpsink_init_send:<udpsink0> creating
sockets
0:00:00.918053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:945:gst_multiudpsink_init_send:<udpsink0> have
socket
0:00:00.918053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:988:gst_multiudpsink_init_send:<udpsink0> could not
get udp buffer size
0:00:00.918053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:868:gst_multiudpsink_configure_client:<udpsink0>
configuring client 0B87E0C0
0:00:00.918053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:871:gst_multiudpsink_configure_client:<udpsink0> we
have a multicast client 0B87E0C0
0:00:00.918053000  5804   0B788260 DEBUG           multiudpsink
gstmultiudpsink.c:873:gst_multiudpsink_configure_client:<udpsink0>
autojoining group
0:00:00.918053000  5804   0B788260 WARN            multiudpsink
gstmultiudpsink.c:898:gst_multiudpsink_configure_client:<udpsink0>
error: Could not join multicast group (10022): (null)
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstUDPSink:udpsink0: Could
not get/set settings from/on resource.
Additional debug info:
gstmultiudpsink.c(898): gst_multiudpsink_configure_client ():
/GstPipeline:pipeline0/GstUDPSink:udpsink0:
Could not join multicast group (10022): (null)
Setting pipeline to NULL ...
Freeing pipeline ...

More on http://lists.freedesktop.org/archives/gstreamer-devel/2012-November/038024.html
Comment 4 Wim Taymans 2012-12-12 15:24:13 UTC
is it still a problem in 1.0?
Comment 5 cee1 2012-12-13 13:31:32 UTC
(In reply to comment #4)
> is it still a problem in 1.0?

Sorry no gstreamer 1.0 binary for windows at hand... but we've written a appsink based on GSocket, and it works under windows xp & windows 7.

sdk 2012.11 still failed on windows 7:
$ gst-launch-0.10.exe videotestsrc ! udpsink host=239.192.0.1

(gst-launch-0.10:292): Clutter-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstUDPSink:udpsink0: Could not get/set settings from/on resource.
Additional debug info:
gstmultiudpsink.c(898): gst_multiudpsink_configure_client (): /GstPipeline:pipeline0/GstUDPSink:udpsink0:
Could not join multicast group (10022): (null)
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 6 Tobias Mueller 2013-04-17 15:04:19 UTC
Let's presume this to be OBSOLETE then. Please reopen if this is not the case.