media: enhanced compatibility with OC2007
[siplcs.git] / src / core / sdpmsg.h
blobceae4fae9980e6a7b6b6c0acde3230f96c94ca09
1 /**
2 * @file sdpmsg.h
4 * pidgin-sipe
6 * Copyright (C) 2010 Jakub Adam <jakub.adam@tieto.com>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 struct sdpmsg {
24 gchar *ip;
25 GSList *media;
26 SipeIceVersion ice_version;
29 struct sdpmedia {
30 gchar *name;
31 guint port;
33 GSList *attributes;
34 GSList *candidates;
35 GSList *codecs;
36 GSList *remote_candidates;
39 struct sdpcandidate {
40 gchar *foundation;
41 SipeComponentType component;
42 SipeCandidateType type;
43 SipeNetworkProtocol protocol;
44 guint32 priority;
45 gchar *ip;
46 guint port;
47 gchar *base_ip;
48 guint base_port;
49 gchar *username;
50 gchar *password;
53 struct sdpcodec {
54 gint id;
55 gchar *name;
56 gint clock_rate;
57 SipeMediaType type;
58 GSList *parameters;
61 /**
62 * Parses SDP message into @c sdpmsg structure.
64 * @param msg SDP message as character string
66 * @return New @c sdpmsg or NULL if message can not be parsed.
68 struct sdpmsg *sdpmsg_parse_msg(gchar *msg);
70 /**
71 * Creates a SDP message from the @c sdpmsg structure.
73 * @param msg a @c sdpmsg
75 * @return SDP message as a character string that must be g_free'd after use.
77 gchar *sdpmsg_to_string(const struct sdpmsg *msg);
79 /**
80 * Deallocates @c sdpmsg.
82 void sdpmsg_free(struct sdpmsg *msg);