Commit graph

369 commits

Author SHA1 Message Date
Sebastian Dröge
427673d283 udpsrc: Add bind-address property
This is equivalent to multicast-group currently for backwards compatibility.
In 2.0 this should be handled separately, the former only being the multicast
group and the latter always being the address the socket is bound to, even if
a multicast group is given.
2013-04-25 09:05:12 +02:00
Sebastian Dröge
b0b0557c48 gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
Wim Taymans
f96aa414e1 udpsink: avoid alloc and free in render function
Avoid doing alloc and free in the render function for each buffer. Instead,
allocate the needed arrays in _init and use those.
2013-04-11 14:57:11 +01:00
Wim Taymans
3d7d757521 udpsink: improve debug 2013-04-09 16:53:31 +02:00
Tim-Philipp Müller
01c6512d5f udpsrc: use g_socket_set_option() to set buffer size with newer GLib versions
So we have to worry less about portability.

https://bugzilla.gnome.org/show_bug.cgi?id=692400
2013-02-15 14:11:36 +00:00
Tim-Philipp Müller
cf1f6aff0d udpsrc: sanity check size of available packet data for reading to avoid memory waste
On Windows and OS/X, _get_available_bytes() may not return the size
of the next pending packet, but the size of all pending packets in
the kernel-side buffer, which might be rather large depending on
configuration. Sanity-check the size returned by _get_available_bytes()
to make sure we never allocate more memory than the max. size for
a packet, if it's an IPv4 socket.

https://bugzilla.gnome.org/show_bug.cgi?id=610364
2013-01-04 14:00:55 +00:00
Wim Taymans
32bd981303 udpsrc: improve timeouts
Make it possible to set the timeout after we went to the READY state by using
the timeout when checking the condition. This also makes it possible to set the
timeout with a higher granularity than seconds.
2012-12-12 11:08:13 +01:00
Wim Taymans
c33507f186 udpsrc: post error before stopping 2012-11-15 14:48:59 +01:00
Sebastian Dröge
c70ba7765a udpsrc: Also clear GError 2012-11-09 11:22:30 +01:00
Sebastian Dröge
b86d20e45b udpsrc: Don't error out if we get an ICMP destination-unreachable message when trying to read packets
See bug #529454 and #687782 and commit
751f2bb364
2012-11-09 11:20:27 +01:00
Tim-Philipp Müller
230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Sebastian Rasmussen
9fc62a58e3 updsrc: fix typo causing compilation error
gstudpsrc.c: In function 'gst_udpsrc_create':
gstudpsrc.c:365: error: 'ret' may be used uninitialized in this function

https://bugzilla.gnome.org/show_bug.cgi?id=686642
2012-10-22 23:19:28 +01:00
Rasmus Rohde
11ed7c0373 multiudpsink: add multicast-iface property
udpsrc already has support for setting the multicast interface, which
is useful for multi-homed machines. This patch adds the same code to
the multiudpsink.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685864
2012-10-10 11:48:25 +02:00
Wim Taymans
54f049c355 multiudpsink: don't error on send errors but only warn
Don't error on send errors but simply post a warning, it's possible
that the next packet will be fine.
2012-10-10 11:32:17 +02:00
Rasmus Rohde
6c169312d1 multiudpsink: add force-ipv4 option
Add an option to the multiudpsink that makes it possible to force
the use of an IPv4 socket.

This can e.g. be used to handle the issue described in
https://bugzilla.gnome.org/show_bug.cgi?id=682481
2012-10-10 10:28:24 +02:00
Wim Taymans
2955f0e10c multiudpsink: remove unused field 2012-10-10 10:18:52 +02:00
Wim Taymans
f4e1bb02b7 udpsrc: use negotiated allocator or pool
Use the base class to allocate a buffer for us because it knows how
to use the negotiated allocator or bufferpool.
2012-10-10 10:10:26 +02:00
Wim Taymans
e8d951ed68 multiudpsink: post error when something goes wrong 2012-10-10 10:09:37 +02:00
Mark Nauwelaerts
d6ca569c29 udp: add include for IPPROTO_* 2012-09-12 17:14:46 +02:00
Mark Nauwelaerts
58c96df0ae udp: properly match braces and cpp directives
Fixes compilation where IPV6_TCLASS not defined.
2012-09-12 16:39:08 +02:00
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Wim Taymans
916e4c86fa udpsink: don't crash on NULL error
Check if there is an error before retrieving its message.

See https://bugzilla.gnome.org/show_bug.cgi?id=682481
2012-08-22 17:27:27 +02:00
Olivier Crête
b4ff570532 multiudpsink: Return FLUSHING instead of ERROR on unlock
If the base class asks multiudpsink to unlock, then it should return
FLUSHING, not ERROR
2012-08-07 11:31:32 -07:00
Tim-Philipp Müller
d6f4f1e01f udpsrc: don't crash dereferencing NULL error when leaving multicast group on shutdown
Strangely enough, if we do pass an error variable to be filled, we
no longer get an error on leaving.
2012-07-24 20:06:07 +01:00
Tim-Philipp Müller
80245e2a70 multiudpsink: check the right size when warning about too large udp packets
What matters is the total size, not the size of any of the
individual memory chunks that make up the packet.
2012-07-11 12:31:13 +01:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Mark Nauwelaerts
31edc9f7c0 updsrc: clear error 2012-04-05 19:17:29 +02:00
Sebastian Dröge
aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Wim Taymans
3d61d12e03 update for buffer api change 2012-03-30 18:15:34 +02:00
Raimo Järvi
eccb5b8fed udp: Fix compiling with mingw.
https://bugzilla.gnome.org/show_bug.cgi?id=672880
2012-03-27 11:42:43 +02:00
Olivier Crête
e819b60f27 udpsink: Unlock on error 2012-03-22 16:18:37 -04:00
Wim Taymans
84c96e2393 udpsink: make buffer-size work again 2012-03-13 20:49:43 +01:00
Wim Taymans
d4a10f2909 udpsrc: fix SO_RCVBUF handling 2012-03-13 20:36:56 +01:00
David Schleef
cb0d04a2db udp: Change the default port to 5004
udpsrc/udpsink are almost always used with RTP, so let's use an
RTP port as the default port.  It's unclear why 4951 was used, it
goes back to early commits in CVS.
2012-03-06 21:44:36 -08:00
Mark Nauwelaerts
f189f62b13 Merge branch 'master' into 0.11
Conflicts:
	ext/wavpack/gstwavpackenc.c
	tests/check/elements/audioiirfilter.c
	tests/examples/v4l2/probe.c
2012-03-01 11:29:50 +01:00
Edward Hervey
9beda57c3a Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:47:25 +01:00
Wim Taymans
ca9532ccc5 update for new memory api 2012-02-22 02:10:33 +01:00
Wim Taymans
41406037ac fix compiler warnings 2012-02-20 16:35:47 +01:00
Matej Knopp
d7695bb67d fix compiler warnings 2012-02-20 16:32:34 +01:00
Wim Taymans
e3b5a2e40d update for memory api change 2012-02-13 18:13:19 +01:00
Wim Taymans
225e98d623 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacenc.c
	ext/jack/gstjackaudioclient.c
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	ext/pulse/plugin.c
	ext/shout2/gstshout2.c
	gst/matroska/matroska-mux.c
	gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Marc Leeman
dc54c83fd3 multiudpsink: typo fix (bytes send -> bytes sent) 2012-02-09 10:26:42 +01:00
Wim Taymans
9365f12d6e GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:43:30 +01:00
Tim-Philipp Müller
bd032ae3bf dynudpsink: fix get-stats signal registration some more 2012-01-26 15:48:01 +00:00
Tim-Philipp Müller
1b9642b9f1 Revert "udp: mark action signals as RUN_FIRST"
This reverts commit 5c83085991.
2012-01-26 15:46:13 +00:00
Tim-Philipp Müller
5c83085991 udp: mark action signals as RUN_FIRST 2012-01-26 15:43:11 +00:00
Tim-Philipp Müller
8bc7e4f37f udp: mark "get-stats" as action signal 2012-01-26 15:43:11 +00:00
Tim-Philipp Müller
80f319b7da udp: fix get-stats action signal registration
It returns a GstStructure now, not a GValueArray
2012-01-26 15:43:11 +00:00
Andoni Morales Alastruey
bb7b879545 udpsrc: fix print format 2012-01-26 16:31:24 +01:00
Wim Taymans
b4630dd3e0 more memory API porting 2012-01-25 12:30:29 +01:00
Vincent Penquerc'h
6429359d55 udpsrc: fix string leak 2012-01-24 14:53:38 +00:00
Vincent Penquerc'h
73754081e5 udpsrc: fix use of freed memory 2012-01-24 14:52:09 +00:00
Wim Taymans
b22c0dd3f6 update for memory API 2012-01-19 12:44:39 +01:00
Wim Taymans
1584806634 port to new gthread API 2012-01-19 11:33:53 +01:00
Sebastian Dröge
2eeb0eb58e udpsrc: Remove unneeded socket.h include 2012-01-17 16:58:07 +01:00
Sebastian Dröge
a3496b14ea configure: Require GIO 2.31.10 2012-01-17 11:21:25 +01:00
Sebastian Dröge
2ea3ef0c1c udp: Remove now unecessary code 2012-01-17 11:18:33 +01:00
Sebastian Dröge
bb38a849e5 udpsink/multiudpsink: Port to GIO 2012-01-17 11:18:15 +01:00
Sebastian Dröge
6f055d554b dynudpsink: Port to GIO 2012-01-17 10:49:34 +01:00
Sebastian Dröge
7f0239b19b dynudpsink: Port to GIO 2012-01-17 09:32:27 +01:00
Sebastian Dröge
7f74fc9ef6 udpsrc: Port to GIO 2012-01-17 09:07:40 +01:00
Sebastian Dröge
93e3ed5a86 Merge branch 'master' into 0.11
Conflicts:
	ext/cairo/gsttextoverlay.c
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstaacparse.c
	gst/avi/gstavimux.c
	gst/flv/gstflvmux.c
	gst/interleave/interleave.c
	gst/isomp4/gstqtmux.c
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-mux.h
	gst/matroska/matroska-read-common.c
	gst/multifile/gstmultifilesink.c
	gst/multipart/multipartmux.c
	gst/shapewipe/gstshapewipe.c
	gst/smpte/gstsmpte.c
	gst/udp/gstmultiudpsink.c
	gst/videobox/gstvideobox.c
	gst/videocrop/gstaspectratiocrop.c
	gst/videomixer/videomixer.c
	gst/videomixer/videomixer2.c
	gst/wavparse/gstwavparse.c
	po/ja.po
	po/lv.po
	po/sr.po
	tests/check/Makefile.am
	tests/check/elements/qtmux.c
	tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Tim-Philipp Müller
86cd5bd7f2 udpsrc: fix valgrind warning
https://bugzilla.gnome.org/show_bug.cgi?id=666644
2011-12-27 11:50:03 +00:00
John Ogness
0c4b60f010 udpsrc: drop dataless UDP packets
It is allowed to send/receive UDP packets with no data. When such
a packet is available, select() will return with success but
ioctl(FIONREAD) will return 0. But a read() must still occur in
order to clear off the UDP packet from the queue.

This patch will read the dataless packet from the socket. If
select() was woken for other reasons (and FIONREAD returns 0),
this may result in a UDP packet getting accidentally dropped.
But since UDP is not reliable, this is acceptable.

NOTE: This patch fixes a nasty bug where sending a dataless
      UDP packet to a udpsrc instance will cause an infinite
      loop.

https://bugzilla.gnome.org/show_bug.cgi?id=666644

Signed-off-by: John Ogness <john.ogness@linutronix.de>
2011-12-27 01:40:34 +00:00
Tim-Philipp Müller
66f6e12888 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
2011-12-12 09:46:27 +00:00
Vincent Penquerc'h
c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Matej Knopp
1e5dd9e315 Fix printf format compiler warnings on OS X / 64bit
https://bugzilla.gnome.org/show_bug.cgi?id=662615
2011-11-22 01:28:22 +00:00
Tim-Philipp Müller
c27bbe4be2 Update for GstURIHandler get_protocols() changes 2011-11-13 23:44:44 +00:00
Tim-Philipp Müller
a150d1e734 soup, pushfile, rtsp, udp, v4l2: update for GstURIHandler API changes 2011-11-13 18:50:51 +00:00
Wim Taymans
6cbd6afc0b update for new net library 2011-11-03 16:43:00 +01:00
Wim Taymans
83ccefb24e update for netbuffer api change 2011-11-02 09:06:38 +01:00
Wim Taymans
75e0c6052f update for netaddress change 2011-11-02 09:06:38 +01:00
Wim Taymans
87fbd1e784 Merge branch 'master' into 0.11
Conflicts:
	common
	ext/pulse/pulsesink.c
	ext/soup/gstsouphttpclientsink.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtpmanager/gstrtpjitterbuffer.c
	gst/rtpmanager/rtpjitterbuffer.c
	gst/rtsp/gstrtspsrc.c
	sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Vincent Penquerc'h
3319737e5c udpsrc: error out when no protocol is specified in the uri
It is certainly better than to crash.

https://bugzilla.gnome.org/show_bug.cgi?id=658178
2011-09-19 10:16:38 +02:00
Wim Taymans
33f18b8ea4 Merge branch 'master' into 0.11
Conflicts:
	gst/audioparsers/gstamrparse.c
	gst/isomp4/qtdemux.c
2011-09-06 16:06:25 +02:00
Peter Korsgaard
d73410c4af multiudpsink: make add/remove/clear/get-stats action signals
http://bugzilla.gnome.org/show_bug.cgi?id=657830

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-01 22:54:27 +01:00
Wim Taymans
f1df4c4b32 udp: port to new API 2011-07-04 18:15:42 +02:00
Wim Taymans
fdd93fa85d Merge branch 'master' into 0.11 2011-06-13 19:08:38 +02:00
Wim Taymans
eed80e2dd3 -good: update for buffer API change 2011-06-13 16:33:57 +02:00
Raimo Järvi
4f15c9e30e udp: Fix compiler warning on mingw-w64
Fixes: #652144.
gstudpnetutils.h:32:0: error: "WINVER" redefined
/usr/i686-w64-mingw32/sys-root/mingw/include/_mingw.h:231:0: note: this is the
location of the previous definition
2011-06-11 18:02:17 -07:00
Wim Taymans
7416c0e13e udp: port to 0.11 2011-06-09 17:50:08 +02:00
Wim Taymans
0b1bdcf7cb Merge branch 'master' into 0.11
Conflicts:
	sys/ximage/ximageutil.c
2011-06-02 18:51:29 +02:00
Thijs Vermeir
cdc3b20ba9 udpsrc: allow skip-first-bytes of full buffer size 2011-06-01 10:19:31 +02:00
Wim Taymans
77acc618e1 use G_DEFINE_TYPE some more 2011-04-19 17:35:47 +02:00
Wim Taymans
7555d0949f Merge branch 'master' into 0.11
Conflicts:
	android/apetag.mk
	android/avi.mk
	android/flv.mk
	android/icydemux.mk
	android/id3demux.mk
	android/qtdemux.mk
	android/rtp.mk
	android/rtpmanager.mk
	android/rtsp.mk
	android/soup.mk
	android/udp.mk
	android/wavenc.mk
	android/wavparse.mk
	configure.ac
2011-04-18 10:23:45 +02:00
Thibault Saunier
b541208b77 android: Make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
Wim Taymans
6df597cbbf udpsink: handle scather gather from buffers
Iterate the memory blocks on the buffer and send them using sendmsg.
2011-04-05 19:15:11 +02:00
Wim Taymans
f67c95d826 rtsp/udp: port to 0.11 2011-04-05 17:06:41 +02:00
Wim Taymans
6c4ccb272c udp: implement NetAddress with metadata 2011-02-28 13:14:37 +01:00
Wim Taymans
d87c27fd2c miniobject: use buffer private field for extra data
Use the owner private field to store extra buffer data instead of using
subclassing.
2011-02-28 11:58:48 +01:00
David Schleef
053f03c032 udpsink: warn when packet is too large 2011-02-17 18:05:43 -08:00
Stefan Kost
18213aa214 docs: fix parameter name in udpsrc docs
It is "buffer-size" and not "buffer". Also trim trailing whitespace.
2011-02-04 12:34:08 +02:00
Mark Nauwelaerts
7def8c9b98 udp: use socklen_t where appropriate rather than custom type
In particular, fixes Cygwin build where socklen_t is defined as int
in line with native win32 api definition.
2011-01-27 16:01:09 +01:00
Wim Taymans
43c6d0c72a multiudpsink: add buffer-size property
Add buffer-size property to configure the kernel send buffer.
2011-01-05 12:05:15 +01:00
Stefan Kost
d8167e3071 various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
Wim Taymans
6660817af1 multifdsink: use refcount to count host/port duplicates
Instead of adding multiple client structures for the same host/port pair, use a
refcount.
Add a send-duplicates feature that allows you to disable sending multiple copies
of the same packet to the same host when it was added multiple times. The
send-duplicates property is by default set to TRUE for backwards compatibility
although it is very likely that this is not desired behaviour.
2010-09-06 10:45:28 +02:00
Wim Taymans
e739998adf udpsrc: add property to enable port reuse 2010-08-04 10:39:45 +02:00
Keith Nicholson
0773eed960 udpsrc: fix multicast support on windows builds
On windows builds, sets source address for bind to INADDR_ANY, while
maintaining the original multicast group address for subsequent join.

Fixes #595978
2010-06-18 16:49:08 +02:00
Wim Taymans
e25cdc31d3 udp: make url parsing compatible with VLC syntax
Skip everything before the @ sign in the url location. VLC uses that as the
remote address to connect to (but we ignore it for now). This makes our udp urls
compatible with the ones used by VLC.

Fixes #597695
2010-06-18 16:16:28 +02:00
Stefan Kost
ddfb2827d1 docs: upd -> udp and voila it shows up in the docs 2010-04-08 16:56:37 +03:00