Fork me on GitHub
sdp-utils.h
Go to the documentation of this file.
1 
15 #ifndef _JANUS_SDP_UTILS_H
16 #define _JANUS_SDP_UTILS_H
17 
18 
19 #include <inttypes.h>
20 #include <glib.h>
21 
23 typedef struct janus_sdp {
25  int version;
27  char *o_name;
29  guint64 o_sessid;
31  guint64 o_version;
33  gboolean o_ipv4;
35  char *o_addr;
37  char *s_name;
39  guint64 t_start;
41  guint64 t_stop;
43  gboolean c_ipv4;
45  char *c_addr;
47  GList *attributes;
49  GList *m_lines;
50 } janus_sdp;
51 
53 typedef enum janus_sdp_mtype {
63 
65 typedef enum janus_sdp_mdirection {
77 
79 typedef struct janus_sdp_mline {
83  char *type_str;
85  guint16 port;
87  char *proto;
89  GList *fmts;
91  GList *ptypes;
93  gboolean c_ipv4;
95  char *c_addr;
97  char *b_name;
99  int b_value;
103  GList *attributes;
105 
107 typedef struct janus_sdp_attribute {
109  char *name;
111  char *value;
117 janus_sdp_attribute *janus_sdp_attribute_create(const char *name, const char *value, ...) G_GNUC_PRINTF(2, 3);
122 
129 janus_sdp *janus_sdp_parse(const char *sdp, char *error, size_t errlen);
130 
135 int janus_sdp_remove_payload_type(janus_sdp *sdp, int pt);
136 
140 char *janus_sdp_write(janus_sdp *sdp);
141 
144 void janus_sdp_free(janus_sdp *sdp);
145 
146 #endif
char * s_name
s=
Definition: sdp-utils.h:37
GList * m_lines
List of m= m-lines.
Definition: sdp-utils.h:49
struct janus_sdp janus_sdp
Janus SDP internal object representation.
janus_sdp_mtype type
Media type as a janus_sdp_mtype enumerator.
Definition: sdp-utils.h:81
int b_value
Media b= value.
Definition: sdp-utils.h:99
inactive
Definition: sdp-utils.h:75
guint16 port
Media port.
Definition: sdp-utils.h:85
default=sendrecv
Definition: sdp-utils.h:67
SDP m-line representation.
Definition: sdp-utils.h:79
char * o_name
o= name
Definition: sdp-utils.h:27
m=whatever (we don&#39;t care, unsupported)
Definition: sdp-utils.h:61
GList * attributes
List of global a= attributes.
Definition: sdp-utils.h:47
sendonly
Definition: sdp-utils.h:71
janus_sdp_mtype
Helper enumeration to quickly identify m-line media types.
Definition: sdp-utils.h:53
struct janus_sdp_mline janus_sdp_mline
SDP m-line representation.
char * o_addr
o= address
Definition: sdp-utils.h:35
char * proto
Media protocol.
Definition: sdp-utils.h:87
GList * fmts
List of formats.
Definition: sdp-utils.h:89
Janus SDP internal object representation.
Definition: sdp-utils.h:23
guint64 o_sessid
o= session ID
Definition: sdp-utils.h:29
char * c_addr
c= address (not rendered for WebRTC usage)
Definition: sdp-utils.h:45
GList * ptypes
List of payload types.
Definition: sdp-utils.h:91
gboolean c_ipv4
c= protocol (not rendered for WebRTC usage)
Definition: sdp-utils.h:43
guint64 o_version
o= version
Definition: sdp-utils.h:31
guint64 t_start
t= start
Definition: sdp-utils.h:39
janus_sdp_mdirection
Helper enumeration to quickly identify m-line directions.
Definition: sdp-utils.h:65
gboolean c_ipv4
Media c= protocol.
Definition: sdp-utils.h:93
struct janus_sdp_attribute janus_sdp_attribute
SDP a= attribute representation.
janus_sdp_mdirection direction
Media direction.
Definition: sdp-utils.h:101
char * b_name
Media b= type.
Definition: sdp-utils.h:97
SDP a= attribute representation.
Definition: sdp-utils.h:107
gboolean o_ipv4
o= protocol
Definition: sdp-utils.h:33
char * janus_sdp_write(janus_sdp *sdp)
Method to serialize a janus_sdp object to an SDP string.
Definition: sdp-utils.c:411
void janus_sdp_free(janus_sdp *sdp)
Method to free a Janus SDP object.
Definition: sdp-utils.c:23
int version
v=
Definition: sdp-utils.h:25
m=video
Definition: sdp-utils.h:57
janus_sdp * janus_sdp_parse(const char *sdp, char *error, size_t errlen)
Method to parse an SDP string to a janus_sdp object.
Definition: sdp-utils.c:88
m=audio
Definition: sdp-utils.h:55
recvonly
Definition: sdp-utils.h:73
char * name
Attribute name.
Definition: sdp-utils.h:109
char * c_addr
Media c= address.
Definition: sdp-utils.h:95
char * type_str
Media type (string)
Definition: sdp-utils.h:83
int janus_sdp_remove_payload_type(janus_sdp *sdp, int pt)
Helper method to quickly remove all traces (m-line, rtpmap, fmtp, etc.) of a payload type...
Definition: sdp-utils.c:386
guint64 t_stop
t= stop
Definition: sdp-utils.h:41
m=application
Definition: sdp-utils.h:59
GList * attributes
List of m-line attributes.
Definition: sdp-utils.h:103
char * value
Attribute value.
Definition: sdp-utils.h:111
janus_sdp_attribute * janus_sdp_attribute_create(const char *name, const char *value,...) G_GNUC_PRINTF(2
Helper method to quickly create a janus_sdp_attribute instance.
sendrecv
Definition: sdp-utils.h:69
janus_sdp_attribute void janus_sdp_attribute_destroy(janus_sdp_attribute *attr)
Helper method to free a janus_sdp_attribute instance.
Definition: sdp-utils.c:80