[Bug 732152] multiudpsink: use sendmmsg() to send multiple packets to multiple recipients in one go
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Dec 16 12:28:40 PST 2014
https://bugzilla.gnome.org/show_bug.cgi?id=732152
GStreamer | gst-plugins-good | git
Tim-Philipp Müller <t.i.m> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|HEAD |1.5.1
--- Comment #3 from Tim-Philipp Müller <t.i.m at zen.co.uk> 2014-12-16 20:28:36 UTC ---
g_socket_send_messages() landed in the latest GLib development release
(2.43.2), so will be in the 2.44.0 stable release.
commit 4dd7d79b5257730c91968bdadf90b1e6e927451a
Author: Tim-Philipp Müller <tim at centricular.com>
Date: Fri Dec 12 23:06:07 2014 +0000
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.
commit 97a2eb7afbe004edf95a49468e48f2cab23db84d
Author: Tim-Philipp Müller <tim at centricular.com>
Date: Tue Jun 24 01:16:37 2014 +0100
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.
commit 54a9a436ba04e47000300377f899a5d3858c74d8
Author: Tim-Philipp Müller <tim at centricular.com>
Date: Tue Jun 24 01:15:25 2014 +0100
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.
commit fa3ef2e54ceb7437368dd6c61ef4531adc3068dd
Author: Tim-Philipp Müller <tim at centricular.com>
Date: Tue Jun 24 00:56:27 2014 +0100
multiudpsink: fix client count after removal
commit 7bdf7500a1b0bcfa8229cc513e45d4604a64bdb8
Author: Tim-Philipp Müller <tim at centricular.com>
Date: Mon Jun 23 18:43:21 2014 +0100
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.
commit e1a7deb27f7eeb037e3361551e5e853df0920b05
Author: Tim-Philipp Müller <tim at centricular.com>
Date: Fri Jun 20 11:36:19 2014 +0100
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
commit dead5c2476ff1033c8765764fbe970a084ad888a
Author: Tim-Philipp Müller <tim at centricular.com>
Date: Thu Jun 19 19:16:01 2014 +0100
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
commit 675384a8cb43277643ac7302c9fa5878f1893887
Author: Tim-Philipp Müller <tim at centricular.com>
Date: Thu Jun 19 18:31:05 2014 +0100
multiudpsink: keep count of number of unique and non-unique IPv4 and IPv6
clients
This will come in handy later.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list