Tim-Philipp Müller
4dd7d79b52
udpsink: allocate scratch space for render functions on the heap
...
and not the stack. Our allocations could get a bit too large
to be sure it's not going to cause trouble using the stack.
2014-12-16 20:26:36 +00:00
Tim-Philipp Müller
97a2eb7afb
multiudpsink: re-use send_buffers() code path for render() function
...
It's like rendering a buffer list, just with one buffer.
Has the added advantage that if there are multiple clients
we can send the buffer to all the clients in one go.
2014-12-16 20:26:36 +00:00
Tim-Philipp Müller
54a9a436ba
multiudpsink: keep client list consistent during removals
...
We unlock and re-lock the client lock while emitting the
removed signal, which causes inconsistencies in the client
list vs. the client counts. Instead, remove the client from
the list already before emitting the signal and put it into
a temporary list of clients to be removed. That way things
look consistent to the streaming thread, but signal callbacks
can still do things like get stats from removed clients.
2014-12-16 20:26:36 +00:00
Tim-Philipp Müller
fa3ef2e54c
multiudpsink: fix client count after removal
2014-12-16 20:26:36 +00:00
Tim-Philipp Müller
7bdf7500a1
multiudpsink: keep client list sorted by socket family
...
We make use of in the send_buffers() function if we
need to use different sockets to send to IPv4 and
IPv6 destinations.
2014-12-16 20:26:36 +00:00
Tim-Philipp Müller
e1a7deb27f
multiudpsink: add sendmmsg-ready render_list function prototype
...
Add prototype for a render_list() function that can use a
sendmmsg-style g_socket_send_messages() function once it lands
in GLib. We can use this infrastructure to send multiple buffers
made up by multiple memories to multiple clients in one go, which
drastically reduces the number of syscalls made when sending
high-bitrate video streams.
https://bugzilla.gnome.org/show_bug.cgi?id=732152
2014-12-16 20:26:36 +00:00
Tim-Philipp Müller
dead5c2476
multiudpsink: make udp client structure refcounted
...
Use the refcount for memory management and keep track
of the number of duplicate clients in a separate
variable. This will be useful later, and means we
don't have to hold the OBJECT_LOCK all the time.
https://bugzilla.gnome.org/show_bug.cgi?id=732866
2014-12-16 20:26:36 +00:00
Tim-Philipp Müller
675384a8cb
multiudpsink: keep count of number of unique and non-unique IPv4 and IPv6 clients
...
This will come in handy later.
2014-12-16 20:26:36 +00:00
Tim-Philipp Müller
3956f5addc
Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED
2014-11-02 16:58:30 +00:00
Tim-Philipp Müller
41c895de4d
multiudpsink: optimisation: avoid unnecessary memory ref/unrefs
...
We know the buffer will stay valid and we will also not
modify the buffer, we just want to send out the data.
2014-06-20 12:21:05 +01:00
Tim-Philipp Müller
3512ad3be0
multiudpsink: avoid some unnecessary run-time type checks
2014-06-20 12:06:57 +01:00
Tim-Philipp Müller
884d1af074
udp: improve element descriptions for dynudpsink and multiudpsink
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
6c1231eed3
udp: remove suppression of compiler warnings for deprecated GLib API
...
Not needed any more.
2014-06-18 14:54:58 +01:00
Vincent Penquerc'h
25fa88f8aa
multiidpsink: warn when setsockopt fails
...
This doesn't seem to be fatal, but it's good to let the user know
in the logs.
Coverity 1139630
2014-04-21 17:21:20 +01:00
Tim-Philipp Müller
627109ce4d
multiudpsink: fix misleading comment
...
Those are not allocated on the stack.
2013-12-19 12:47:22 +00:00
Tim-Philipp Müller
d506409af5
docs: get rid of 'Since: 0.10.x' markers
...
And some gtk-doc markup fixes.
2013-11-18 14:47:35 +00:00
Sebastian Dröge
fd89e36c8a
multiudpsink: Also use the bind-port property if no bind-address was given
2013-11-07 09:50:39 +01:00
Ognyan Tonchev
c81ce6b152
multiudpsink: Fix memory leak
...
Unmap all GstMemory of the current buffer when flushing.
https://bugzilla.gnome.org/show_bug.cgi?id=710110
2013-10-14 18:21:54 +02:00
Wim Taymans
35f6e79b94
udpsink: bind to the given interface
...
Actually call BINDTODEVICE to bind to the interface as given by the
property.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702819
2013-06-24 17:13:05 +02:00
Sebastian Dröge
e26b8c2832
(dyn|multi)udpsink: Add properties to specify the bind address and port
...
By default we use the any addresses and a random port for binding the socket.
2013-05-23 18:42:09 +02:00
Sebastian Dröge
5b79b8ff3c
(dyn|multi)udpsink: Bind socket before using it
...
https://bugzilla.gnome.org/show_bug.cgi?id=700878
2013-05-23 18:05:07 +02:00
Sebastian Dröge
1ed7f7a6a8
(multi)udpsink: Add missing getters for socket-v6 and used-socket-v6 properties
2013-05-23 17:26:31 +02:00
Sebastian Dröge
b1af93f791
(multi)udpsink: Use separate sockets for IPv4 and IPv6
...
https://bugzilla.gnome.org/show_bug.cgi?id=534243
2013-04-25 12:12:23 +02:00
Sebastian Dröge
a957457cc1
udp: Use the generic marshaller instead of generating marshallers
2013-04-25 09:13:51 +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
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00: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
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
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
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
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
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
41406037ac
fix compiler warnings
2012-02-20 16:35:47 +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
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
80f319b7da
udp: fix get-stats action signal registration
...
It returns a GstStructure now, not a GValueArray
2012-01-26 15:43:11 +00:00