FsRawUdpStreamTransmitter

FsRawUdpStreamTransmitter — A stream transmitter object for UDP with STUN

Synopsis

                    FsRawUdpStreamTransmitter;

Properties

  "stun-ip"                  gchar*                : Read / Write / Construct Only
  "stun-port"                guint                 : Read / Write / Construct Only
  "stun-timeout"             guint                 : Read / Write / Construct Only
  "upnp-discovery"           gboolean              : Read / Write / Construct Only
  "upnp-discovery-timeout"   guint                 : Read / Write / Construct Only
  "upnp-mapping"             gboolean              : Read / Write / Construct Only
  "upnp-mapping-timeout"     guint                 : Read / Write / Construct Only
  "upnp-request-timeout"     guint                 : Read / Write / Construct Only

Description

This transmitter sends and receives unicast UDP packets.

It will detect its own address using a STUN request if the "stun-ip" and "stun-port" properties are set. If the STUN request does not get a reply or no STUN is requested. It will return the IP address of all the local network interfaces, listing link-local addresses after other addresses and the loopback interface last.

You can configure the address and port it will listen on by setting the "preferred-local-candidates" property. This property will contain a GList of FsCandidate. These FsCandidate must be for FS_NETWORK_PROTOCOL_UDP. These port and/or the ip can be set on these candidates to force them, and this is per-component. If not all components have a port set, the following components will be on the following ports. There is no guarantee that the requested port will be available so a different port may the native candidate. But it is guaranteed that components that do not have specified ports will be sequential.

Example: Candidate {proto=UDP, component_id=RTP, ip=NULL, port=9098} will produce native candidates ({component_id=RTP, ip=IP, port=9078},{component_id=RTCP, ip=IP, port=9079}) or if this one is not available ({component_id=RTP, ip=IP, port=9080},{component_id=RTCP, ip=IP, port=9081}). The default port starts at 7078 for the first component.

The name of this transmitter is "rawudp".

Details

FsRawUdpStreamTransmitter

typedef struct {
  FsStreamTransmitter parent;
} FsRawUdpStreamTransmitter;

All members are private, access them using methods and properties

FsStreamTransmitter parent;

Parent object

Property Details

The "stun-ip" property

  "stun-ip"                  gchar*                : Read / Write / Construct Only

The IPv4 address of the STUN server as a x.x.x.x string.

Default value: NULL


The "stun-port" property

  "stun-port"                guint                 : Read / Write / Construct Only

The IPv4 UDP port of the STUN server as a .

Allowed values: [1,65535]

Default value: 3478


The "stun-timeout" property

  "stun-timeout"             guint                 : Read / Write / Construct Only

How long to wait for for the STUN reply (in seconds) before giving up.

Allowed values: >= 1

Default value: 30


The "upnp-discovery" property

  "upnp-discovery"           gboolean              : Read / Write / Construct Only

Tries to discovery the external IP with UPnP if stun fails.

Default value: TRUE


The "upnp-discovery-timeout" property

  "upnp-discovery-timeout"   guint                 : Read / Write / Construct Only

After this period, UPnP discovery is considered to have failed and the local IP is returned.

Default value: 10


The "upnp-mapping" property

  "upnp-mapping"             gboolean              : Read / Write / Construct Only

Tries to map ports using UPnP if enabled.

Default value: TRUE


The "upnp-mapping-timeout" property

  "upnp-mapping-timeout"     guint                 : Read / Write / Construct Only

The UPnP port mappings expire after this period if the app has crashed (in seconds).

Default value: 600


The "upnp-request-timeout" property

  "upnp-request-timeout"     guint                 : Read / Write / Construct Only

After this delay, UPnP requests fails.

Allowed values: [1,600]

Default value: 10

See Also

FsMulticastStreamTransmitter