G_BEGIN_DECLS
+GST_EXPORT
GType gst_mikey_message_get_type(void);
#define GST_TYPE_MIKEY_MESSAGE (gst_mikey_message_get_type())
typedef struct _GstMIKEYPayload GstMIKEYPayload;
+GST_EXPORT
GType gst_mikey_payload_get_type(void);
#define GST_TYPE_MIKEY_PAYLOAD (gst_mikey_payload_get_type())
guint len;
};
+GST_EXPORT
GstMIKEYPayload * gst_mikey_payload_new (GstMIKEYPayloadType type);
/**
GArray *subpayloads;
} GstMIKEYPayloadKEMAC;
+GST_EXPORT
gboolean gst_mikey_payload_kemac_set (GstMIKEYPayload *payload,
GstMIKEYEncAlg enc_alg,
GstMIKEYMacAlg mac_alg);
+
+GST_EXPORT
guint gst_mikey_payload_kemac_get_n_sub (const GstMIKEYPayload *payload);
+
+GST_EXPORT
const GstMIKEYPayload * gst_mikey_payload_kemac_get_sub (const GstMIKEYPayload *payload, guint idx);
+
+GST_EXPORT
gboolean gst_mikey_payload_kemac_remove_sub (GstMIKEYPayload *payload, guint idx);
+
+GST_EXPORT
gboolean gst_mikey_payload_kemac_add_sub (GstMIKEYPayload *payload,
GstMIKEYPayload *newpay);
guint8 *data;
} GstMIKEYPayloadPKE;
+GST_EXPORT
gboolean gst_mikey_payload_pke_set (GstMIKEYPayload *payload,
GstMIKEYCacheType C,
guint16 data_len, const guint8 *data);
guint8 *ts_value;
} GstMIKEYPayloadT;
+GST_EXPORT
gboolean gst_mikey_payload_t_set (GstMIKEYPayload *payload,
GstMIKEYTSType type, const guint8 *ts_value);
GArray *params;
} GstMIKEYPayloadSP;
+GST_EXPORT
gboolean gst_mikey_payload_sp_set (GstMIKEYPayload *payload,
guint policy, GstMIKEYSecProto proto);
+GST_EXPORT
guint gst_mikey_payload_sp_get_n_params (const GstMIKEYPayload *payload);
+
+GST_EXPORT
const GstMIKEYPayloadSPParam *
gst_mikey_payload_sp_get_param (const GstMIKEYPayload *payload, guint idx);
+
+GST_EXPORT
gboolean gst_mikey_payload_sp_remove_param (GstMIKEYPayload *payload, guint idx);
+
+GST_EXPORT
gboolean gst_mikey_payload_sp_add_param (GstMIKEYPayload *payload,
guint8 type, guint8 len, const guint8 *val);
guint8 *rand;
} GstMIKEYPayloadRAND;
+GST_EXPORT
gboolean gst_mikey_payload_rand_set (GstMIKEYPayload *payload,
guint8 len, const guint8 *rand);
guint8 *kv_data[2];
} GstMIKEYPayloadKeyData;
+GST_EXPORT
gboolean gst_mikey_payload_key_data_set_key (GstMIKEYPayload *payload,
GstMIKEYKeyDataType key_type,
guint16 key_len, const guint8 *key_data);
+
+GST_EXPORT
gboolean gst_mikey_payload_key_data_set_salt (GstMIKEYPayload *payload,
guint16 salt_len, const guint8 *salt_data);
+
+GST_EXPORT
gboolean gst_mikey_payload_key_data_set_spi (GstMIKEYPayload *payload,
guint8 spi_len, const guint8 *spi_data);
+
+GST_EXPORT
gboolean gst_mikey_payload_key_data_set_interval (GstMIKEYPayload *payload,
guint8 vf_len, const guint8 *vf_data,
guint8 vt_len, const guint8 *vt_data);
};
+GST_EXPORT
GstMIKEYMessage * gst_mikey_message_new (void);
+
+GST_EXPORT
GstMIKEYMessage * gst_mikey_message_new_from_data (gconstpointer data, gsize size,
GstMIKEYDecryptInfo *info, GError **error);
+
+GST_EXPORT
GstMIKEYMessage * gst_mikey_message_new_from_bytes (GBytes *bytes, GstMIKEYDecryptInfo *info,
GError **error);
+
+GST_EXPORT
GBytes * gst_mikey_message_to_bytes (GstMIKEYMessage *msg, GstMIKEYEncryptInfo *info,
GError **error);
+
+GST_EXPORT
GstMIKEYMessage * gst_mikey_message_new_from_caps (GstCaps *caps);
+
+GST_EXPORT
gboolean gst_mikey_message_to_caps (const GstMIKEYMessage *msg, GstCaps *caps);
+
+GST_EXPORT
gchar * gst_mikey_message_base64_encode (GstMIKEYMessage* msg);
/**
}
+GST_EXPORT
gboolean gst_mikey_message_set_info (GstMIKEYMessage *msg,
guint8 version, GstMIKEYType type, gboolean V,
GstMIKEYPRFFunc prf_func, guint32 CSB_id,
GstMIKEYMapType map_type);
+
+GST_EXPORT
guint gst_mikey_message_get_n_cs (const GstMIKEYMessage *msg);
/* SRTP crypto sessions */
+
+GST_EXPORT
const GstMIKEYMapSRTP * gst_mikey_message_get_cs_srtp (const GstMIKEYMessage *msg, guint idx);
+
+GST_EXPORT
gboolean gst_mikey_message_insert_cs_srtp (GstMIKEYMessage *msg, gint idx,
const GstMIKEYMapSRTP *map);
+
+GST_EXPORT
gboolean gst_mikey_message_replace_cs_srtp (GstMIKEYMessage *msg, gint idx,
const GstMIKEYMapSRTP *map);
+
+GST_EXPORT
gboolean gst_mikey_message_remove_cs_srtp (GstMIKEYMessage *msg, gint idx);
+
+GST_EXPORT
gboolean gst_mikey_message_add_cs_srtp (GstMIKEYMessage *msg,
guint8 policy, guint32 ssrc, guint32 roc);
/* adding/retrieving payloads */
+
+GST_EXPORT
guint gst_mikey_message_get_n_payloads (const GstMIKEYMessage *msg);
+
+GST_EXPORT
const GstMIKEYPayload * gst_mikey_message_get_payload (const GstMIKEYMessage *msg, guint idx);
+
+GST_EXPORT
const GstMIKEYPayload * gst_mikey_message_find_payload (const GstMIKEYMessage *msg,
GstMIKEYPayloadType type, guint nth);
+
+GST_EXPORT
gboolean gst_mikey_message_remove_payload (GstMIKEYMessage *msg, guint idx);
+
+GST_EXPORT
gboolean gst_mikey_message_insert_payload (GstMIKEYMessage *msg, guint idx,
GstMIKEYPayload *payload);
+
+GST_EXPORT
gboolean gst_mikey_message_add_payload (GstMIKEYMessage *msg,
GstMIKEYPayload *payload);
+
+GST_EXPORT
gboolean gst_mikey_message_replace_payload (GstMIKEYMessage *msg, guint idx,
GstMIKEYPayload *payload);
/* Key data transport payload (KEMAC) */
/* Envelope data payload (PKE) */
+
+GST_EXPORT
gboolean gst_mikey_message_add_pke (GstMIKEYMessage *msg,
GstMIKEYCacheType C,
guint16 data_len, const guint8 *data);
/* Signature payload (SIGN) */
/* Timestamp payload (T) */
+
+GST_EXPORT
gboolean gst_mikey_message_add_t (GstMIKEYMessage *msg,
GstMIKEYTSType type, const guint8 *ts_value);
+
+GST_EXPORT
gboolean gst_mikey_message_add_t_now_ntp_utc (GstMIKEYMessage *msg);
/* ID payload (ID) */
/* Certificate Payload (CERT) */
/* Ver msg payload (V) */
/* Security Policy payload (SP)*/
/* RAND payload (RAND) */
+
+GST_EXPORT
gboolean gst_mikey_message_add_rand (GstMIKEYMessage *msg,
guint8 len, const guint8 *rand);
+
+GST_EXPORT
gboolean gst_mikey_message_add_rand_len (GstMIKEYMessage *msg, guint8 len);
/* Error payload (ERR) */
guint addr_number;
} GstSDPConnection;
+GST_EXPORT
GstSDPResult gst_sdp_connection_set (GstSDPConnection *conn,
const gchar *nettype,
const gchar *addrtype,
const gchar *address,
guint ttl, guint addr_number);
+
+GST_EXPORT
GstSDPResult gst_sdp_connection_clear (GstSDPConnection *conn);
guint bandwidth;
} GstSDPBandwidth;
+GST_EXPORT
GstSDPResult gst_sdp_bandwidth_set (GstSDPBandwidth *bw, const gchar *bwtype,
guint bandwidth);
+
+GST_EXPORT
GstSDPResult gst_sdp_bandwidth_clear (GstSDPBandwidth *bw);
/**
GArray *repeat;
} GstSDPTime;
+GST_EXPORT
GstSDPResult gst_sdp_time_set (GstSDPTime *t, const gchar *start,
const gchar *stop, const gchar **repeat);
+
+GST_EXPORT
GstSDPResult gst_sdp_time_clear (GstSDPTime *t);
/**
gchar *typed_time;
} GstSDPZone;
+GST_EXPORT
GstSDPResult gst_sdp_zone_set (GstSDPZone *zone, const gchar *adj_time,
const gchar *typed_time);
+
+GST_EXPORT
GstSDPResult gst_sdp_zone_clear (GstSDPZone *zone);
gchar *value;
} GstSDPAttribute;
+GST_EXPORT
GstSDPResult gst_sdp_attribute_set (GstSDPAttribute *attr, const gchar *key,
const gchar *value);
+
+GST_EXPORT
GstSDPResult gst_sdp_attribute_clear (GstSDPAttribute *attr);
/**
} GstSDPMessage;
+GST_EXPORT
GType gst_sdp_message_get_type (void);
#define GST_TYPE_SDP_MESSAGE (gst_sdp_message_get_type())
#define GST_SDP_MESSAGE(object) (GST_SDP_MESSAGE_CAST(object))
/* Session descriptions */
+
+GST_EXPORT
GstSDPResult gst_sdp_message_new (GstSDPMessage **msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_init (GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_uninit (GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_free (GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_copy (const GstSDPMessage *msg, GstSDPMessage **copy);
+GST_EXPORT
GstSDPResult gst_sdp_message_parse_buffer (const guint8 *data, guint size, GstSDPMessage *msg);
+
+GST_EXPORT
gchar* gst_sdp_message_as_text (const GstSDPMessage *msg);
/* convert from/to uri */
+
+GST_EXPORT
GstSDPResult gst_sdp_message_parse_uri (const gchar *uri, GstSDPMessage *msg);
+
+GST_EXPORT
gchar* gst_sdp_message_as_uri (const gchar *scheme, const GstSDPMessage *msg);
/* utils */
+
+GST_EXPORT
gboolean gst_sdp_address_is_multicast (const gchar *nettype, const gchar *addrtype,
const gchar *addr);
/* v=.. */
+
+GST_EXPORT
const gchar* gst_sdp_message_get_version (const GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_set_version (GstSDPMessage *msg, const gchar *version);
/* o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address> */
+
+GST_EXPORT
const GstSDPOrigin* gst_sdp_message_get_origin (const GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_set_origin (GstSDPMessage *msg, const gchar *username,
const gchar *sess_id, const gchar *sess_version,
const gchar *nettype, const gchar *addrtype,
const gchar *addr);
/* s=<session name> */
+
+GST_EXPORT
const gchar* gst_sdp_message_get_session_name (const GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_set_session_name (GstSDPMessage *msg, const gchar *session_name);
/* i=<session description> */
+
+GST_EXPORT
const gchar* gst_sdp_message_get_information (const GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_set_information (GstSDPMessage *msg, const gchar *information);
/* u=<uri> */
+
+GST_EXPORT
const gchar* gst_sdp_message_get_uri (const GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_set_uri (GstSDPMessage *msg, const gchar *uri);
/* e=<email-address> */
+
+GST_EXPORT
guint gst_sdp_message_emails_len (const GstSDPMessage *msg);
+
+GST_EXPORT
const gchar* gst_sdp_message_get_email (const GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_insert_email (GstSDPMessage *msg, gint idx,
const gchar *email);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_replace_email (GstSDPMessage *msg, guint idx,
const gchar *email);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_remove_email (GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_add_email (GstSDPMessage *msg, const gchar *email);
/* p=<phone-number> */
+
+GST_EXPORT
guint gst_sdp_message_phones_len (const GstSDPMessage *msg);
+
+GST_EXPORT
const gchar* gst_sdp_message_get_phone (const GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_insert_phone (GstSDPMessage *msg, gint idx,
const gchar *phone);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_replace_phone (GstSDPMessage *msg, guint idx,
const gchar *phone);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_remove_phone (GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_add_phone (GstSDPMessage *msg, const gchar *phone);
/* c=<nettype> <addrtype> <connection-address>[/<ttl>][/<number of addresses>] */
+GST_EXPORT
const GstSDPConnection* gst_sdp_message_get_connection (const GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_set_connection (GstSDPMessage *msg, const gchar *nettype,
const gchar *addrtype, const gchar *address,
guint ttl, guint addr_number);
/* b=<bwtype>:<bandwidth> */
+
+GST_EXPORT
guint gst_sdp_message_bandwidths_len (const GstSDPMessage *msg);
+
+GST_EXPORT
const GstSDPBandwidth* gst_sdp_message_get_bandwidth (const GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_insert_bandwidth (GstSDPMessage * msg, gint idx,
GstSDPBandwidth * bw);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_replace_bandwidth (GstSDPMessage * msg, guint idx,
GstSDPBandwidth * bw);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_remove_bandwidth (GstSDPMessage * msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_add_bandwidth (GstSDPMessage *msg, const gchar *bwtype,
guint bandwidth);
/* t=<start-time> <stop-time> and
* r=<repeat interval> <active duration> <offsets from start-time> */
+
+GST_EXPORT
guint gst_sdp_message_times_len (const GstSDPMessage *msg);
+
+GST_EXPORT
const GstSDPTime* gst_sdp_message_get_time (const GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_insert_time (GstSDPMessage *msg, gint idx,
GstSDPTime *t);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_replace_time (GstSDPMessage *msg, guint idx,
GstSDPTime *t);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_remove_time (GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_add_time (GstSDPMessage *msg, const gchar *start,
const gchar *stop, const gchar **repeat);
/* z=<adjustment time> <offset> <adjustment time> <offset> .... */
+
+GST_EXPORT
guint gst_sdp_message_zones_len (const GstSDPMessage *msg);
+
+GST_EXPORT
const GstSDPZone* gst_sdp_message_get_zone (const GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_insert_zone (GstSDPMessage *msg, gint idx,
GstSDPZone *zone);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_replace_zone (GstSDPMessage *msg, guint idx,
GstSDPZone *zone);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_remove_zone (GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_add_zone (GstSDPMessage *msg, const gchar *adj_time,
const gchar *typed_time);
/* k=<method>[:<encryption key>] */
+
+GST_EXPORT
const GstSDPKey* gst_sdp_message_get_key (const GstSDPMessage *msg);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_set_key (GstSDPMessage *msg, const gchar *type,
const gchar *data);
/* a=... */
+
+GST_EXPORT
guint gst_sdp_message_attributes_len (const GstSDPMessage *msg);
+
+GST_EXPORT
const GstSDPAttribute* gst_sdp_message_get_attribute (const GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
const gchar* gst_sdp_message_get_attribute_val (const GstSDPMessage *msg,
const gchar *key);
+
+GST_EXPORT
const gchar* gst_sdp_message_get_attribute_val_n (const GstSDPMessage *msg,
const gchar *key, guint nth);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_insert_attribute (GstSDPMessage *msg, gint idx,
GstSDPAttribute *attr);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_replace_attribute (GstSDPMessage *msg, guint idx,
GstSDPAttribute *attr);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_remove_attribute (GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_add_attribute (GstSDPMessage *msg, const gchar *key,
const gchar *value);
/* m=.. sections */
+
+GST_EXPORT
guint gst_sdp_message_medias_len (const GstSDPMessage *msg);
+
+GST_EXPORT
const GstSDPMedia* gst_sdp_message_get_media (const GstSDPMessage *msg, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_add_media (GstSDPMessage *msg, GstSDPMedia *media);
+GST_EXPORT
GstSDPResult gst_sdp_message_dump (const GstSDPMessage *msg);
/* Media descriptions */
+
+GST_EXPORT
GstSDPResult gst_sdp_media_new (GstSDPMedia **media);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_init (GstSDPMedia *media);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_uninit (GstSDPMedia *media);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_free (GstSDPMedia *media);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_copy (const GstSDPMedia *media, GstSDPMedia **copy);
+GST_EXPORT
gchar* gst_sdp_media_as_text (const GstSDPMedia *media);
/* m=<media> <port>/<number of ports> <proto> <fmt> ... */
+
+GST_EXPORT
const gchar* gst_sdp_media_get_media (const GstSDPMedia *media);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_set_media (GstSDPMedia *media, const gchar *med);
+GST_EXPORT
guint gst_sdp_media_get_port (const GstSDPMedia *media);
+
+GST_EXPORT
guint gst_sdp_media_get_num_ports (const GstSDPMedia *media);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_set_port_info (GstSDPMedia *media, guint port,
guint num_ports);
+GST_EXPORT
const gchar* gst_sdp_media_get_proto (const GstSDPMedia *media);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_set_proto (GstSDPMedia *media, const gchar *proto);
+GST_EXPORT
guint gst_sdp_media_formats_len (const GstSDPMedia *media);
+
+GST_EXPORT
const gchar* gst_sdp_media_get_format (const GstSDPMedia *media, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_insert_format (GstSDPMedia *media, gint idx,
const gchar *format);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_replace_format (GstSDPMedia *media, guint idx,
const gchar *format);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_remove_format (GstSDPMedia *media, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_add_format (GstSDPMedia *media, const gchar *format);
/* i=<session description> */
+
+GST_EXPORT
const gchar* gst_sdp_media_get_information (const GstSDPMedia *media);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_set_information (GstSDPMedia *media, const gchar *information);
/* c=<nettype> <addrtype> <connection-address>[/<ttl>][/<number of addresses>] */
+
+GST_EXPORT
guint gst_sdp_media_connections_len (const GstSDPMedia *media);
+
+GST_EXPORT
const GstSDPConnection* gst_sdp_media_get_connection (const GstSDPMedia *media, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_insert_connection (GstSDPMedia *media, gint idx,
GstSDPConnection *conn);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_replace_connection (GstSDPMedia *media, guint idx,
GstSDPConnection *conn);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_remove_connection (GstSDPMedia *media, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_add_connection (GstSDPMedia *media,
const gchar *nettype,
const gchar *addrtype,
guint ttl, guint addr_number);
/* b=<bwtype>:<bandwidth> */
+
+GST_EXPORT
guint gst_sdp_media_bandwidths_len (const GstSDPMedia *media);
+
+GST_EXPORT
const GstSDPBandwidth* gst_sdp_media_get_bandwidth (const GstSDPMedia *media, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_insert_bandwidth (GstSDPMedia *media, gint idx,
GstSDPBandwidth *bw);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_replace_bandwidth (GstSDPMedia *media, guint idx,
GstSDPBandwidth *bw);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_remove_bandwidth (GstSDPMedia *media, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_add_bandwidth (GstSDPMedia *media, const gchar *bwtype,
guint bandwidth);
/* k=<method>:<encryption key> */
+
+GST_EXPORT
const GstSDPKey* gst_sdp_media_get_key (const GstSDPMedia *media);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_set_key (GstSDPMedia *media, const gchar *type,
const gchar *data);
/* a=... */
+
+GST_EXPORT
guint gst_sdp_media_attributes_len (const GstSDPMedia *media);
+
+GST_EXPORT
const GstSDPAttribute * gst_sdp_media_get_attribute (const GstSDPMedia *media, guint idx);
+
+GST_EXPORT
const gchar* gst_sdp_media_get_attribute_val (const GstSDPMedia *media, const gchar *key);
+
+GST_EXPORT
const gchar* gst_sdp_media_get_attribute_val_n (const GstSDPMedia *media, const gchar *key,
guint nth);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_insert_attribute (GstSDPMedia *media, gint idx,
GstSDPAttribute *attr);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_replace_attribute (GstSDPMedia *media, guint idx,
GstSDPAttribute *attr);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_remove_attribute (GstSDPMedia *media, guint idx);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_add_attribute (GstSDPMedia *media, const gchar *key,
const gchar *value);
+
+GST_EXPORT
GstCaps* gst_sdp_media_get_caps_from_media (const GstSDPMedia *media, gint pt);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_set_media_from_caps (const GstCaps* caps, GstSDPMedia *media);
+
+GST_EXPORT
gchar * gst_sdp_make_keymgmt (const gchar *uri, const gchar *base64);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_parse_keymgmt (const GstSDPMessage *msg, GstMIKEYMessage **mikey);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_parse_keymgmt (const GstSDPMedia *media, GstMIKEYMessage **mikey);
+
+GST_EXPORT
GstSDPResult gst_sdp_message_attributes_to_caps (const GstSDPMessage *msg, GstCaps *caps);
+
+GST_EXPORT
GstSDPResult gst_sdp_media_attributes_to_caps (const GstSDPMedia *media, GstCaps *caps);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC