Farsight2 Reference Manual | ||||
---|---|---|---|---|
#include <gst/farsight/fs-conference-iface.h> FsCandidate; enum FsCandidateType; enum FsNetworkProtocol; enum FsComponentType; FsCandidate* fs_candidate_new (const gchar *foundation, guint component_id, FsCandidateType type, FsNetworkProtocol proto, const gchar *ip, guint port); void fs_candidate_destroy (FsCandidate *cand); FsCandidate* fs_candidate_copy (const FsCandidate *cand); void fs_candidate_list_destroy (GList *candidate_list); GList* fs_candidate_list_copy (const GList *candidate_list);
An FsCandidate is a way to exchange candidate information between the client and Farsight. This description is compatible with ICE-13. It can also be a multicast address. Candidates are linked to streams. The information specified in this structure is usually representative of the codec information exchanged in the signaling.
typedef struct { gchar *foundation; guint component_id; const gchar *ip; guint16 port; const gchar *base_ip; guint16 base_port; FsNetworkProtocol proto; guint32 priority; FsCandidateType type; const gchar *username; const gchar *password; guint ttl; } FsCandidate;
Struct to hold information about ICE-19 compliant candidates
gchar *foundation ; |
a string representing the foundation of this candidate (maximum 32 chars) |
guint component_id ; |
value between 1 and 256 indicating which component this candidate represents (1 is RTP, 2 is RTCP, FsComponentType can be used here) |
const gchar *ip ; |
IP in dotted format |
guint16 port ; |
Port to use |
const gchar *base_ip ; |
IP of base in dotted format as defined in ICE-19. |
guint16 base_port ; |
Port of base as defined in ICE-19. |
FsNetworkProtocol proto ; |
FsNetworkProtocol for ip protocol to use as candidate |
guint32 priority ; |
Value between 0 and (2^31 - 1) representing the priority |
FsCandidateType type ; |
The FsCandidateType of the candidate |
const gchar *username ; |
Username to use to connect to client if necessary, NULL otherwise |
const gchar *password ; |
Username to use to connect to client if necessary, NULL otherwise |
guint ttl ; |
The TTL used when sending Multicast packet (0 = auto) |
typedef enum { FS_CANDIDATE_TYPE_HOST, FS_CANDIDATE_TYPE_SRFLX, FS_CANDIDATE_TYPE_PRFLX, FS_CANDIDATE_TYPE_RELAY, /* An external stream relay */ FS_CANDIDATE_TYPE_MULTICAST } FsCandidateType;
An enum for the type of candidate used/reported
typedef enum { FS_NETWORK_PROTOCOL_UDP, FS_NETWORK_PROTOCOL_TCP } FsNetworkProtocol;
An enum for the base IP protocol
typedef enum { FS_COMPONENT_NONE = 0, FS_COMPONENT_RTP = 1, FS_COMPONENT_RTCP = 2 } FsComponentType;
This enum contains the component IDs defined in ICE-19
FsCandidate* fs_candidate_new (const gchar *foundation, guint component_id, FsCandidateType type, FsNetworkProtocol proto, const gchar *ip, guint port);
Allocates a new FsCandidate, the rest of the fields can be optionally filled manually.
foundation : |
The foundation of the candidate |
component_id : |
The component this candidate is for |
type : |
The type of candidate |
proto : |
The protocol this component is for |
ip : |
The IP address of this component (can be NULL for local candidate to mean any address) |
port : |
the UDP/TCP port |
Returns : | a newly-allocated FsCandidate |
void fs_candidate_destroy (FsCandidate *cand);
Frees a FsCandidate and all its contents
cand : |
a FsCandidate to delete |
FsCandidate* fs_candidate_copy (const FsCandidate *cand);
Copies a FsCandidate and its contents.
cand : |
a FsCandidate to copy |
Returns : | a new FsCandidate |
void fs_candidate_list_destroy (GList *candidate_list);
Deletes a GList of FsCandidate and its contents
candidate_list : |
A GList of FsCandidate |
GList* fs_candidate_list_copy (const GList *candidate_list);
Copies a GList of FsCandidate and its contents
candidate_list : |
A GList of FsCandidate |
Returns : | a new GList of FsCandidate |