Top | ![]() |
![]() |
![]() |
![]() |
struct | NiceCandidate |
enum | NiceCandidateType |
enum | NiceCandidateTransport |
struct | TurnServer |
enum | NiceRelayType |
#define | NICE_CANDIDATE_MAX_FOUNDATION |
#define | NICE_CANDIDATE_MAX_TURN_SERVERS |
#define | NICE_CANDIDATE_MAX_LOCAL_ADDRESSES |
GBoxed ╰── NiceCandidate GEnum ├── NiceCandidateTransport ├── NiceCandidateType ╰── NiceRelayType
A representation of an ICE candidate. Make sure you read the ICE drafts[1] to understand correctly the concept of ICE candidates.
[1] http://tools.ietf.org/wg/mmusic/draft-ietf-mmusic-ice/
NiceCandidate *
nice_candidate_new (NiceCandidateType type
);
Creates a new candidate. Must be freed with nice_candidate_free()
NiceCandidate *
nice_candidate_copy (const NiceCandidate *candidate
);
Makes a copy of a NiceCandidate
gboolean nice_candidate_equal_target (const NiceCandidate *candidate1
,const NiceCandidate *candidate2
);
Verifies that the candidates point to the same place, meaning they have the same transport and the same address. It ignores all other aspects.
Since: 0.1.15
struct NiceCandidate { NiceCandidateType type; NiceCandidateTransport transport; NiceAddress addr; NiceAddress base_addr; guint32 priority; guint stream_id; guint component_id; gchar foundation[NICE_CANDIDATE_MAX_FOUNDATION]; gchar *username; /* pointer to a nul-terminated username string */ gchar *password; /* pointer to a nul-terminated password string */ TurnServer *turn; gpointer sockptr; guint64 keepalive_next_tick; /* next tick timestamp */ };
A structure to represent an ICE candidate
The priority
is an integer as specified in the ICE draft 19. If you are
using the MSN or the GOOGLE compatibility mode (which are based on ICE
draft 6, which uses a floating point qvalue as priority), then the priority
value will represent the qvalue multiplied by 1000.
NiceCandidateType |
The type of candidate |
|
NiceCandidateTransport |
The transport being used for the candidate |
|
NiceAddress |
The NiceAddress of the candidate |
|
NiceAddress |
The NiceAddress of the base address used by the candidate |
|
guint32 |
The priority of the candidate see note |
|
guint |
The ID of the stream to which belongs the candidate |
|
guint |
The ID of the component to which belongs the candidate |
|
gchar |
The foundation of the candidate |
|
gchar * |
The candidate-specific username to use (overrides the one set
by |
|
gchar * |
The candidate-specific password to use (overrides the one set
by |
|
TurnServer * |
The TurnServer settings if the candidate is
of type |
|
gpointer |
The underlying socket |
|
guint64 |
The timestamp for the next keepalive |
struct TurnServer { gint ref_count; NiceAddress server; gchar *username; gchar *password; guint8 *decoded_username; guint8 *decoded_password; gsize decoded_username_len; gsize decoded_password_len; NiceRelayType type; guint preference; };
A structure to store the TURN relay settings
gint |
Reference count for the structure. |
|
NiceAddress |
The NiceAddress of the TURN server |
|
gchar * |
The TURN username |
|
gchar * |
The TURN password |
|
guint8 * |
The base64 decoded TURN username |
|
guint8 * |
The base64 decoded TURN password |
|
gsize |
The length of |
|
gsize |
The length of |
|
NiceRelayType |
The NiceRelayType of the server |
|
guint |
A unique identifier used to compute priority |
#define NICE_CANDIDATE_MAX_FOUNDATION (32+1)
The maximum size a candidate foundation can have.
#define NICE_CANDIDATE_MAX_TURN_SERVERS 8
The maximum number of turns servers.
#define NICE_CANDIDATE_MAX_LOCAL_ADDRESSES 64
The maximum number of local addresses. The constraint is that the
maximum number of local addresses and number of turn servers must
fit on 9 bits, to ensure candidate priority uniqueness. See also
NICE_CANDIDATE_MAX_TURN_SERVERS
. We choose 6 bits for the number of
local addresses, and 3 bits for the number of turn servers.