summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2018-03-13 11:27:11 +0000
committerTim-Philipp Müller <tim@centricular.com>2018-03-13 12:16:42 +0000
commit12be5a1ab2cd381907bab7fe5dd0ac76b35833f2 (patch)
tree80fba744e41cde580debee9aec8b75f4c96a3930
parent12b24fbba00d56241fdf43da705cf18e85427f62 (diff)
sdp: GST_EXPORT -> GST_SDP_API
We need different export decorators for the different libs. For now no actual change though, just rename before the release, and add prelude headers to define the new decorator to GST_EXPORT.
-rw-r--r--gst-libs/gst/sdp/Makefile.am1
-rw-r--r--gst-libs/gst/sdp/gstmikey.h93
-rw-r--r--gst-libs/gst/sdp/gstsdpmessage.h256
-rw-r--r--gst-libs/gst/sdp/meson.build1
-rw-r--r--gst-libs/gst/sdp/sdp-prelude.h31
-rw-r--r--gst-libs/gst/sdp/sdp.h2
6 files changed, 210 insertions, 174 deletions
diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
index a09e5a329..e197e9bf2 100644
--- a/gst-libs/gst/sdp/Makefile.am
+++ b/gst-libs/gst/sdp/Makefile.am
@@ -1,6 +1,7 @@
libgstsdpincludedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/sdp
libgstsdpinclude_HEADERS = sdp.h \
+ sdp-prelude.h \
gstsdp.h \
gstmikey.h \
gstsdpmessage.h
diff --git a/gst-libs/gst/sdp/gstmikey.h b/gst-libs/gst/sdp/gstmikey.h
index 72c53bb6b..8b6d2322e 100644
--- a/gst-libs/gst/sdp/gstmikey.h
+++ b/gst-libs/gst/sdp/gstmikey.h
@@ -23,10 +23,11 @@
#define __GST_MIKEY_H__
#include <gst/gst.h>
+#include <gst/sdp/sdp-prelude.h>
G_BEGIN_DECLS
-GST_EXPORT
+GST_SDP_API
GType gst_mikey_message_get_type(void);
#define GST_TYPE_MIKEY_MESSAGE (gst_mikey_message_get_type())
@@ -144,7 +145,7 @@ typedef struct {
typedef struct _GstMIKEYPayload GstMIKEYPayload;
-GST_EXPORT
+GST_SDP_API
GType gst_mikey_payload_get_type(void);
#define GST_TYPE_MIKEY_PAYLOAD (gst_mikey_payload_get_type())
@@ -164,7 +165,7 @@ struct _GstMIKEYPayload {
guint len;
};
-GST_EXPORT
+GST_SDP_API
GstMIKEYPayload * gst_mikey_payload_new (GstMIKEYPayloadType type);
/**
@@ -258,21 +259,21 @@ typedef struct {
GArray *subpayloads;
} GstMIKEYPayloadKEMAC;
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_kemac_set (GstMIKEYPayload *payload,
GstMIKEYEncAlg enc_alg,
GstMIKEYMacAlg mac_alg);
-GST_EXPORT
+GST_SDP_API
guint gst_mikey_payload_kemac_get_n_sub (const GstMIKEYPayload *payload);
-GST_EXPORT
+GST_SDP_API
const GstMIKEYPayload * gst_mikey_payload_kemac_get_sub (const GstMIKEYPayload *payload, guint idx);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_kemac_remove_sub (GstMIKEYPayload *payload, guint idx);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_kemac_add_sub (GstMIKEYPayload *payload,
GstMIKEYPayload *newpay);
@@ -312,7 +313,7 @@ typedef struct {
guint8 *data;
} GstMIKEYPayloadPKE;
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_pke_set (GstMIKEYPayload *payload,
GstMIKEYCacheType C,
guint16 data_len, const guint8 *data);
@@ -348,7 +349,7 @@ typedef struct {
guint8 *ts_value;
} GstMIKEYPayloadT;
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_t_set (GstMIKEYPayload *payload,
GstMIKEYTSType type, const guint8 *ts_value);
@@ -430,20 +431,20 @@ typedef struct {
GArray *params;
} GstMIKEYPayloadSP;
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_sp_set (GstMIKEYPayload *payload,
guint policy, GstMIKEYSecProto proto);
-GST_EXPORT
+GST_SDP_API
guint gst_mikey_payload_sp_get_n_params (const GstMIKEYPayload *payload);
-GST_EXPORT
+GST_SDP_API
const GstMIKEYPayloadSPParam *
gst_mikey_payload_sp_get_param (const GstMIKEYPayload *payload, guint idx);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_sp_remove_param (GstMIKEYPayload *payload, guint idx);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_sp_add_param (GstMIKEYPayload *payload,
guint8 type, guint8 len, const guint8 *val);
@@ -462,7 +463,7 @@ typedef struct {
guint8 *rand;
} GstMIKEYPayloadRAND;
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_rand_set (GstMIKEYPayload *payload,
guint8 len, const guint8 *rand);
@@ -522,20 +523,20 @@ typedef struct {
guint8 *kv_data[2];
} GstMIKEYPayloadKeyData;
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_key_data_set_key (GstMIKEYPayload *payload,
GstMIKEYKeyDataType key_type,
guint16 key_len, const guint8 *key_data);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_key_data_set_salt (GstMIKEYPayload *payload,
guint16 salt_len, const guint8 *salt_data);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_key_data_set_spi (GstMIKEYPayload *payload,
guint8 spi_len, const guint8 *spi_data);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_payload_key_data_set_interval (GstMIKEYPayload *payload,
guint8 vf_len, const guint8 *vf_data,
guint8 vt_len, const guint8 *vt_data);
@@ -570,28 +571,28 @@ struct _GstMIKEYMessage
};
-GST_EXPORT
+GST_SDP_API
GstMIKEYMessage * gst_mikey_message_new (void);
-GST_EXPORT
+GST_SDP_API
GstMIKEYMessage * gst_mikey_message_new_from_data (gconstpointer data, gsize size,
GstMIKEYDecryptInfo *info, GError **error);
-GST_EXPORT
+GST_SDP_API
GstMIKEYMessage * gst_mikey_message_new_from_bytes (GBytes *bytes, GstMIKEYDecryptInfo *info,
GError **error);
-GST_EXPORT
+GST_SDP_API
GBytes * gst_mikey_message_to_bytes (GstMIKEYMessage *msg, GstMIKEYEncryptInfo *info,
GError **error);
-GST_EXPORT
+GST_SDP_API
GstMIKEYMessage * gst_mikey_message_new_from_caps (GstCaps *caps);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_to_caps (const GstMIKEYMessage *msg, GstCaps *caps);
-GST_EXPORT
+GST_SDP_API
gchar * gst_mikey_message_base64_encode (GstMIKEYMessage* msg);
/**
@@ -641,59 +642,59 @@ gst_mikey_message_copy (const GstMIKEYMessage * message)
}
-GST_EXPORT
+GST_SDP_API
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
+GST_SDP_API
guint gst_mikey_message_get_n_cs (const GstMIKEYMessage *msg);
/* SRTP crypto sessions */
-GST_EXPORT
+GST_SDP_API
const GstMIKEYMapSRTP * gst_mikey_message_get_cs_srtp (const GstMIKEYMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_insert_cs_srtp (GstMIKEYMessage *msg, gint idx,
const GstMIKEYMapSRTP *map);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_replace_cs_srtp (GstMIKEYMessage *msg, gint idx,
const GstMIKEYMapSRTP *map);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_remove_cs_srtp (GstMIKEYMessage *msg, gint idx);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_add_cs_srtp (GstMIKEYMessage *msg,
guint8 policy, guint32 ssrc, guint32 roc);
/* adding/retrieving payloads */
-GST_EXPORT
+GST_SDP_API
guint gst_mikey_message_get_n_payloads (const GstMIKEYMessage *msg);
-GST_EXPORT
+GST_SDP_API
const GstMIKEYPayload * gst_mikey_message_get_payload (const GstMIKEYMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
const GstMIKEYPayload * gst_mikey_message_find_payload (const GstMIKEYMessage *msg,
GstMIKEYPayloadType type, guint nth);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_remove_payload (GstMIKEYMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_insert_payload (GstMIKEYMessage *msg, guint idx,
GstMIKEYPayload *payload);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_add_payload (GstMIKEYMessage *msg,
GstMIKEYPayload *payload);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_replace_payload (GstMIKEYMessage *msg, guint idx,
GstMIKEYPayload *payload);
@@ -701,7 +702,7 @@ gboolean gst_mikey_message_replace_payload (GstMIKEYMessage
/* Key data transport payload (KEMAC) */
/* Envelope data payload (PKE) */
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_add_pke (GstMIKEYMessage *msg,
GstMIKEYCacheType C,
guint16 data_len, const guint8 *data);
@@ -710,11 +711,11 @@ gboolean gst_mikey_message_add_pke (GstMIKEYMessage
/* Timestamp payload (T) */
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_add_t (GstMIKEYMessage *msg,
GstMIKEYTSType type, const guint8 *ts_value);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_add_t_now_ntp_utc (GstMIKEYMessage *msg);
/* ID payload (ID) */
/* Certificate Payload (CERT) */
@@ -723,11 +724,11 @@ gboolean gst_mikey_message_add_t_now_ntp_utc (GstMIKEYMessage
/* Security Policy payload (SP)*/
/* RAND payload (RAND) */
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_add_rand (GstMIKEYMessage *msg,
guint8 len, const guint8 *rand);
-GST_EXPORT
+GST_SDP_API
gboolean gst_mikey_message_add_rand_len (GstMIKEYMessage *msg, guint8 len);
/* Error payload (ERR) */
diff --git a/gst-libs/gst/sdp/gstsdpmessage.h b/gst-libs/gst/sdp/gstsdpmessage.h
index 7a2215d25..a16ccd2e0 100644
--- a/gst-libs/gst/sdp/gstsdpmessage.h
+++ b/gst-libs/gst/sdp/gstsdpmessage.h
@@ -47,7 +47,7 @@
#include <glib.h>
#include <gst/gst.h>
-#include <gst/sdp/gstsdp.h>
+#include <gst/sdp/sdp.h>
G_BEGIN_DECLS
@@ -97,14 +97,14 @@ typedef struct {
guint addr_number;
} GstSDPConnection;
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_connection_set (GstSDPConnection *conn,
const gchar *nettype,
const gchar *addrtype,
const gchar *address,
guint ttl, guint addr_number);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_connection_clear (GstSDPConnection *conn);
@@ -160,11 +160,11 @@ typedef struct {
guint bandwidth;
} GstSDPBandwidth;
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_bandwidth_set (GstSDPBandwidth *bw, const gchar *bwtype,
guint bandwidth);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_bandwidth_clear (GstSDPBandwidth *bw);
/**
@@ -184,11 +184,11 @@ typedef struct {
GArray *repeat;
} GstSDPTime;
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_time_set (GstSDPTime *t, const gchar *start,
const gchar *stop, const gchar **repeat);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_time_clear (GstSDPTime *t);
/**
@@ -205,11 +205,11 @@ typedef struct {
gchar *typed_time;
} GstSDPZone;
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_zone_set (GstSDPZone *zone, const gchar *adj_time,
const gchar *typed_time);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_zone_clear (GstSDPZone *zone);
@@ -238,11 +238,11 @@ typedef struct {
gchar *value;
} GstSDPAttribute;
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_attribute_set (GstSDPAttribute *attr, const gchar *key,
const gchar *value);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_attribute_clear (GstSDPAttribute *attr);
/**
@@ -310,7 +310,7 @@ typedef struct {
} GstSDPMessage;
-GST_EXPORT
+GST_SDP_API
GType gst_sdp_message_get_type (void);
#define GST_TYPE_SDP_MESSAGE (gst_sdp_message_get_type())
@@ -319,54 +319,54 @@ GType gst_sdp_message_get_type (void);
/* Session descriptions */
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_new (GstSDPMessage **msg);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_init (GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_uninit (GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_free (GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_copy (const GstSDPMessage *msg, GstSDPMessage **copy);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_parse_buffer (const guint8 *data, guint size, GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
gchar* gst_sdp_message_as_text (const GstSDPMessage *msg);
/* convert from/to uri */
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_parse_uri (const gchar *uri, GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
gchar* gst_sdp_message_as_uri (const gchar *scheme, const GstSDPMessage *msg);
/* utils */
-GST_EXPORT
+GST_SDP_API
gboolean gst_sdp_address_is_multicast (const gchar *nettype, const gchar *addrtype,
const gchar *addr);
/* v=.. */
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_message_get_version (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_set_version (GstSDPMessage *msg, const gchar *version);
/* o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address> */
-GST_EXPORT
+GST_SDP_API
const GstSDPOrigin* gst_sdp_message_get_origin (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
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,
@@ -374,296 +374,296 @@ GstSDPResult gst_sdp_message_set_origin (GstSDPMessage *msg,
/* s=<session name> */
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_message_get_session_name (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_set_session_name (GstSDPMessage *msg, const gchar *session_name);
/* i=<session description> */
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_message_get_information (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_set_information (GstSDPMessage *msg, const gchar *information);
/* u=<uri> */
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_message_get_uri (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_set_uri (GstSDPMessage *msg, const gchar *uri);
/* e=<email-address> */
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_message_emails_len (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_message_get_email (const GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_insert_email (GstSDPMessage *msg, gint idx,
const gchar *email);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_replace_email (GstSDPMessage *msg, guint idx,
const gchar *email);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_remove_email (GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_add_email (GstSDPMessage *msg, const gchar *email);
/* p=<phone-number> */
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_message_phones_len (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_message_get_phone (const GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_insert_phone (GstSDPMessage *msg, gint idx,
const gchar *phone);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_replace_phone (GstSDPMessage *msg, guint idx,
const gchar *phone);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_remove_phone (GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_add_phone (GstSDPMessage *msg, const gchar *phone);
/* c=<nettype> <addrtype> <connection-address>[/<ttl>][/<number of addresses>] */
-GST_EXPORT
+GST_SDP_API
const GstSDPConnection* gst_sdp_message_get_connection (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
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
+GST_SDP_API
guint gst_sdp_message_bandwidths_len (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
const GstSDPBandwidth* gst_sdp_message_get_bandwidth (const GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_insert_bandwidth (GstSDPMessage * msg, gint idx,
GstSDPBandwidth * bw);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_replace_bandwidth (GstSDPMessage * msg, guint idx,
GstSDPBandwidth * bw);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_remove_bandwidth (GstSDPMessage * msg, guint idx);
-GST_EXPORT
+GST_SDP_API
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
+GST_SDP_API
guint gst_sdp_message_times_len (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
const GstSDPTime* gst_sdp_message_get_time (const GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_insert_time (GstSDPMessage *msg, gint idx,
GstSDPTime *t);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_replace_time (GstSDPMessage *msg, guint idx,
GstSDPTime *t);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_remove_time (GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
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
+GST_SDP_API
guint gst_sdp_message_zones_len (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
const GstSDPZone* gst_sdp_message_get_zone (const GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_insert_zone (GstSDPMessage *msg, gint idx,
GstSDPZone *zone);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_replace_zone (GstSDPMessage *msg, guint idx,
GstSDPZone *zone);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_remove_zone (GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_add_zone (GstSDPMessage *msg, const gchar *adj_time,
const gchar *typed_time);
/* k=<method>[:<encryption key>] */
-GST_EXPORT
+GST_SDP_API
const GstSDPKey* gst_sdp_message_get_key (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_set_key (GstSDPMessage *msg, const gchar *type,
const gchar *data);
/* a=... */
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_message_attributes_len (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
const GstSDPAttribute* gst_sdp_message_get_attribute (const GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_message_get_attribute_val (const GstSDPMessage *msg,
const gchar *key);
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_message_get_attribute_val_n (const GstSDPMessage *msg,
const gchar *key, guint nth);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_insert_attribute (GstSDPMessage *msg, gint idx,
GstSDPAttribute *attr);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_replace_attribute (GstSDPMessage *msg, guint idx,
GstSDPAttribute *attr);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_remove_attribute (GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_add_attribute (GstSDPMessage *msg, const gchar *key,
const gchar *value);
/* m=.. sections */
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_message_medias_len (const GstSDPMessage *msg);
-GST_EXPORT
+GST_SDP_API
const GstSDPMedia* gst_sdp_message_get_media (const GstSDPMessage *msg, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_add_media (GstSDPMessage *msg, GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_dump (const GstSDPMessage *msg);
/* Media descriptions */
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_new (GstSDPMedia **media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_init (GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_uninit (GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_free (GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_copy (const GstSDPMedia *media, GstSDPMedia **copy);
-GST_EXPORT
+GST_SDP_API
gchar* gst_sdp_media_as_text (const GstSDPMedia *media);
/* m=<media> <port>/<number of ports> <proto> <fmt> ... */
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_media_get_media (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_set_media (GstSDPMedia *media, const gchar *med);
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_media_get_port (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_media_get_num_ports (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_set_port_info (GstSDPMedia *media, guint port,
guint num_ports);
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_media_get_proto (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_set_proto (GstSDPMedia *media, const gchar *proto);
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_media_formats_len (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_media_get_format (const GstSDPMedia *media, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_insert_format (GstSDPMedia *media, gint idx,
const gchar *format);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_replace_format (GstSDPMedia *media, guint idx,
const gchar *format);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_remove_format (GstSDPMedia *media, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_add_format (GstSDPMedia *media, const gchar *format);
/* i=<session description> */
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_media_get_information (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_set_information (GstSDPMedia *media, const gchar *information);
/* c=<nettype> <addrtype> <connection-address>[/<ttl>][/<number of addresses>] */
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_media_connections_len (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
const GstSDPConnection* gst_sdp_media_get_connection (const GstSDPMedia *media, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_insert_connection (GstSDPMedia *media, gint idx,
GstSDPConnection *conn);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_replace_connection (GstSDPMedia *media, guint idx,
GstSDPConnection *conn);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_remove_connection (GstSDPMedia *media, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_add_connection (GstSDPMedia *media,
const gchar *nettype,
const gchar *addrtype,
@@ -672,84 +672,84 @@ GstSDPResult gst_sdp_media_add_connection (GstSDPMedia *media,
/* b=<bwtype>:<bandwidth> */
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_media_bandwidths_len (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
const GstSDPBandwidth* gst_sdp_media_get_bandwidth (const GstSDPMedia *media, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_insert_bandwidth (GstSDPMedia *media, gint idx,
GstSDPBandwidth *bw);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_replace_bandwidth (GstSDPMedia *media, guint idx,
GstSDPBandwidth *bw);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_remove_bandwidth (GstSDPMedia *media, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_add_bandwidth (GstSDPMedia *media, const gchar *bwtype,
guint bandwidth);
/* k=<method>:<encryption key> */
-GST_EXPORT
+GST_SDP_API
const GstSDPKey* gst_sdp_media_get_key (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_set_key (GstSDPMedia *media, const gchar *type,
const gchar *data);
/* a=... */
-GST_EXPORT
+GST_SDP_API
guint gst_sdp_media_attributes_len (const GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
const GstSDPAttribute * gst_sdp_media_get_attribute (const GstSDPMedia *media, guint idx);
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_media_get_attribute_val (const GstSDPMedia *media, const gchar *key);
-GST_EXPORT
+GST_SDP_API
const gchar* gst_sdp_media_get_attribute_val_n (const GstSDPMedia *media, const gchar *key,
guint nth);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_insert_attribute (GstSDPMedia *media, gint idx,
GstSDPAttribute *attr);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_replace_attribute (GstSDPMedia *media, guint idx,
GstSDPAttribute *attr);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_remove_attribute (GstSDPMedia *media, guint idx);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_add_attribute (GstSDPMedia *media, const gchar *key,
const gchar *value);
-GST_EXPORT
+GST_SDP_API
GstCaps* gst_sdp_media_get_caps_from_media (const GstSDPMedia *media, gint pt);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_set_media_from_caps (const GstCaps* caps, GstSDPMedia *media);
-GST_EXPORT
+GST_SDP_API
gchar * gst_sdp_make_keymgmt (const gchar *uri, const gchar *base64);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_parse_keymgmt (const GstSDPMessage *msg, GstMIKEYMessage **mikey);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_parse_keymgmt (const GstSDPMedia *media, GstMIKEYMessage **mikey);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_message_attributes_to_caps (const GstSDPMessage *msg, GstCaps *caps);
-GST_EXPORT
+GST_SDP_API
GstSDPResult gst_sdp_media_attributes_to_caps (const GstSDPMedia *media, GstCaps *caps);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
diff --git a/gst-libs/gst/sdp/meson.build b/gst-libs/gst/sdp/meson.build
index 79fde0982..ca61072d4 100644
--- a/gst-libs/gst/sdp/meson.build
+++ b/gst-libs/gst/sdp/meson.build
@@ -1,5 +1,6 @@
gst_sdp_headers = [
'sdp.h',
+ 'sdp-prelude.h',
'gstsdp.h',
'gstmikey.h',
'gstsdpmessage.h',
diff --git a/gst-libs/gst/sdp/sdp-prelude.h b/gst-libs/gst/sdp/sdp-prelude.h
new file mode 100644
index 000000000..20f50a426
--- /dev/null
+++ b/gst-libs/gst/sdp/sdp-prelude.h
@@ -0,0 +1,31 @@
+/* GStreamer SDP Library
+ * Copyright (C) 2018 GStreamer developers
+ *
+ * sdp-prelude.h: prelude include header for gst-sdp library
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_SDP_PRELUDE_H__
+#define __GST_SDP_PRELUDE_H__
+
+#include <gst/gst.h>
+
+#ifndef GST_SDP_API
+#define GST_SDP_API GST_EXPORT
+#endif
+
+#endif /* __GST_SDP_PRELUDE_H__ */
diff --git a/gst-libs/gst/sdp/sdp.h b/gst-libs/gst/sdp/sdp.h
index c5cc0897f..f7dd52740 100644
--- a/gst-libs/gst/sdp/sdp.h
+++ b/gst-libs/gst/sdp/sdp.h
@@ -22,6 +22,8 @@
#ifndef __GST_SDP__H__
#define __GST_SDP__H__
+#include <gst/sdp/sdp-prelude.h>
+
#include <gst/sdp/gstsdp.h>
#include <gst/sdp/gstsdpmessage.h>
#include <gst/sdp/gstmikey.h>