| Farstream Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <farstream/fs-conference.h> struct 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 Farstream. 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.
struct FsCandidate {
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;
};
Struct to hold information about ICE-19 compliant candidates
gchar * |
a string representing the foundation of this candidate (maximum 32 chars) |
guint |
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 in dotted format |
guint16 |
Port to use |
const gchar * |
IP of base in dotted format as defined in ICE-19. |
guint16 |
Port of base as defined in ICE-19. |
FsNetworkProtocol |
FsNetworkProtocol for ip protocol to use as candidate |
guint32 |
Value between 0 and (2^31 - 1) representing the priority |
FsCandidateType |
The FsCandidateType of the candidate |
const gchar * |
Username to use to connect to client if necessary, NULL otherwise |
const gchar * |
Username to use to connect to client if necessary, NULL otherwise |
guint |
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.
|
The foundation of the candidate |
|
The component this candidate is for |
|
The type of candidate |
|
The protocol this component is for |
|
The IP address of this component (can be NULL for local candidate to mean any address) |
|
the UDP/TCP port |
Returns : |
a newly-allocated FsCandidate |
FsCandidate * fs_candidate_copy (const FsCandidate *cand);
Copies a FsCandidate and its contents.
|
a FsCandidate to copy |
Returns : |
a new FsCandidate |
GList * fs_candidate_list_copy (const GList *candidate_list);
Copies a GList of FsCandidate and its contents
|
A GList of FsCandidate. [element-type FsCodec] |
Returns : |
a new GList of FsCandidate. [element-type FsCodec][transfer full] |