multiudpsink
multiudpsink is a network sink that sends UDP packets to multiple clients. It can be combined with rtp payload encoders to implement RTP streaming.
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBaseSink ╰──GstMultiUDPSink
Factory details
Authors: – Wim Taymans
Classification: – Sink/Network
Rank – none
Plugin – udp
Package – GStreamer Good Plug-ins
Pad Templates
Signals
client-added
client_added_callback (GstElement * gstmultiudpsink, gchararray host, gint port, gpointer udata)
def client_added_callback (gstmultiudpsink, host, port, udata):
#python callback for the 'client-added' signal
function client_added_callback(gstmultiudpsink: GstElement * gstmultiudpsink, host: gchararray host, port: gint port, udata: gpointer udata): {
// javascript callback for the 'client-added' signal
}
Signal emitted when a new client is added to the list of clients.
Parameters:
gstmultiudpsink
–
the sink emitting the signal
host
–
the hostname/IP address of the added client
port
–
the port of the added client
udata
–
Flags: Run Last
client-removed
client_removed_callback (GstElement * gstmultiudpsink, gchararray host, gint port, gpointer udata)
def client_removed_callback (gstmultiudpsink, host, port, udata):
#python callback for the 'client-removed' signal
function client_removed_callback(gstmultiudpsink: GstElement * gstmultiudpsink, host: gchararray host, port: gint port, udata: gpointer udata): {
// javascript callback for the 'client-removed' signal
}
Signal emitted when a client is removed from the list of clients.
Parameters:
gstmultiudpsink
–
the sink emitting the signal
host
–
the hostname/IP address of the removed client
port
–
the port of the removed client
udata
–
Flags: Run Last
Action Signals
add
g_signal_emit_by_name (gstmultiudpsink, "add", host, port);
ret = gstmultiudpsink.emit ("add", host, port)
let ret = gstmultiudpsink.emit ("add", host, port);
Add a client with destination host and port to the list of clients. When the same host/port pair is added multiple times, the send-duplicates property defines if the packets are sent multiple times to the same host/port pair or not.
When a host/port pair is added multiple times, an equal amount of remove calls must be performed to actually remove the host/port pair from the list of destinations.
Parameters:
the sink on which the signal is emitted
the hostname/IP address of the client to add
the port of the client to add
clear
g_signal_emit_by_name (gstmultiudpsink, "clear");
ret = gstmultiudpsink.emit ("clear")
let ret = gstmultiudpsink.emit ("clear");
Clear the list of clients.
Parameters:
the sink on which the signal is emitted
get-stats
g_signal_emit_by_name (gstmultiudpsink, "get-stats", host, port, &ret);
ret = gstmultiudpsink.emit ("get-stats", host, port)
let ret = gstmultiudpsink.emit ("get-stats", host, port);
Get the statistics of the client with destination host and port.
Parameters:
the sink on which the signal is emitted
the hostname/IP address of the client to get stats on
the port of the client to get stats on
a GstStructure: bytes_sent, packets_sent, connect_time (in epoch nanoseconds), disconnect_time (in epoch nanoseconds)
remove
g_signal_emit_by_name (gstmultiudpsink, "remove", host, port);
ret = gstmultiudpsink.emit ("remove", host, port)
let ret = gstmultiudpsink.emit ("remove", host, port);
Remove the client with destination host and port from the list of clients.
Parameters:
the sink on which the signal is emitted
the hostname/IP address of the client to remove
the port of the client to remove
Properties
auto-multicast
“auto-multicast” gboolean
Automatically join/leave the multicast groups, FALSE means user has to do it himself
Flags : Read / Write
Default value : true
bind-address
“bind-address” gchararray
Address to bind the socket to
Flags : Read / Write
Default value : NULL
buffer-size
“buffer-size” gint
Size of the kernel send buffer in bytes, 0=default
Flags : Read / Write
Default value : 0
bytes-served
“bytes-served” guint64
Total number of bytes sent to all clients
Flags : Read
Default value : 0
bytes-to-serve
“bytes-to-serve” guint64
Number of bytes received to serve to clients
Flags : Read
Default value : 0
clients
“clients” gchararray
A comma separated list of host:port pairs with destinations
Flags : Read / Write
close-socket
“close-socket” gboolean
Close socket if passed as property on state change
Flags : Read / Write
Default value : true
force-ipv4
“force-ipv4” gboolean
Forcing the use of an IPv4 socket (DEPRECATED, has no effect anymore)
Flags : Read / Write
Default value : false
loop
“loop” gboolean
Used for setting the multicast loop parameter. TRUE = enable, FALSE = disable
Flags : Read / Write
Default value : true
multicast-iface
“multicast-iface” gchararray
The network interface on which to join the multicast group
Flags : Read / Write
Default value : NULL
qos-dscp
“qos-dscp” gint
Quality of Service, differentiated services code point (-1 default)
Flags : Read / Write
Default value : -1
send-duplicates
“send-duplicates” gboolean
When a destination/port pair is added multiple times, send packets multiple times as well
Flags : Read / Write
Default value : true
socket-v6
“socket-v6” GSocket *
Socket to use for UDPv6 sending. (NULL == allocate)
Flags : Read / Write
ttl-mc
“ttl-mc” gint
Used for setting the multicast TTL parameter
Flags : Read / Write
Default value : 1
used-socket
“used-socket” GSocket *
Socket currently in use for UDP sending. (NULL == no socket)
Flags : Read
used-socket-v6
“used-socket-v6” GSocket *
Socket currently in use for UDPv6 sending. (NULL == no socket)
Flags : Read
The results of the search are