rtsp: mark symbols explicitly for export with GST_EXPORT

This commit is contained in:
Tim-Philipp Müller 2017-05-16 01:02:18 +01:00
parent 33ae84fd1c
commit 587cf82fc1
9 changed files with 214 additions and 5 deletions

View file

@ -44,6 +44,7 @@ glib_gen_prefix = __gst_rtsp
glib_enum_define = gst_rtsp glib_enum_define = gst_rtsp
glib_enum_headers = $(libgstrtspinclude_HEADERS) glib_enum_headers = $(libgstrtspinclude_HEADERS)
glib_gen_basename = gstrtsp glib_gen_basename = gstrtsp
glib_gen_decl_banner=GST_EXPORT
include $(top_srcdir)/common/gst-glib-gen.mak include $(top_srcdir)/common/gst-glib-gen.mak

View file

@ -61,87 +61,159 @@ G_BEGIN_DECLS
typedef struct _GstRTSPConnection GstRTSPConnection; typedef struct _GstRTSPConnection GstRTSPConnection;
/* opening/closing a connection */ /* opening/closing a connection */
GST_EXPORT
GstRTSPResult gst_rtsp_connection_create (const GstRTSPUrl *url, GstRTSPConnection **conn); GstRTSPResult gst_rtsp_connection_create (const GstRTSPUrl *url, GstRTSPConnection **conn);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_create_from_socket (GSocket * socket, GstRTSPResult gst_rtsp_connection_create_from_socket (GSocket * socket,
const gchar * ip, const gchar * ip,
guint16 port, guint16 port,
const gchar * initial_buffer, const gchar * initial_buffer,
GstRTSPConnection ** conn); GstRTSPConnection ** conn);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_accept (GSocket * socket, GstRTSPConnection ** conn, GCancellable * cancellable); GstRTSPResult gst_rtsp_connection_accept (GSocket * socket, GstRTSPConnection ** conn, GCancellable * cancellable);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_connect (GstRTSPConnection * conn, GTimeVal * timeout); GstRTSPResult gst_rtsp_connection_connect (GstRTSPConnection * conn, GTimeVal * timeout);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_connect_with_response (GstRTSPConnection * conn, GTimeVal * timeout, GstRTSPMessage * response); GstRTSPResult gst_rtsp_connection_connect_with_response (GstRTSPConnection * conn, GTimeVal * timeout, GstRTSPMessage * response);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_close (GstRTSPConnection *conn); GstRTSPResult gst_rtsp_connection_close (GstRTSPConnection *conn);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_free (GstRTSPConnection *conn); GstRTSPResult gst_rtsp_connection_free (GstRTSPConnection *conn);
/* TLS connections */ /* TLS connections */
GST_EXPORT
GTlsConnection * gst_rtsp_connection_get_tls (GstRTSPConnection * conn, GError ** error); GTlsConnection * gst_rtsp_connection_get_tls (GstRTSPConnection * conn, GError ** error);
GST_EXPORT
gboolean gst_rtsp_connection_set_tls_validation_flags (GstRTSPConnection * conn, GTlsCertificateFlags flags); gboolean gst_rtsp_connection_set_tls_validation_flags (GstRTSPConnection * conn, GTlsCertificateFlags flags);
GST_EXPORT
GTlsCertificateFlags gst_rtsp_connection_get_tls_validation_flags (GstRTSPConnection * conn); GTlsCertificateFlags gst_rtsp_connection_get_tls_validation_flags (GstRTSPConnection * conn);
GST_EXPORT
void gst_rtsp_connection_set_tls_database (GstRTSPConnection * conn, GTlsDatabase * database); void gst_rtsp_connection_set_tls_database (GstRTSPConnection * conn, GTlsDatabase * database);
GST_EXPORT
GTlsDatabase * gst_rtsp_connection_get_tls_database (GstRTSPConnection * conn); GTlsDatabase * gst_rtsp_connection_get_tls_database (GstRTSPConnection * conn);
GST_EXPORT
void gst_rtsp_connection_set_tls_interaction (GstRTSPConnection * conn, GTlsInteraction * interaction); void gst_rtsp_connection_set_tls_interaction (GstRTSPConnection * conn, GTlsInteraction * interaction);
GST_EXPORT
GTlsInteraction * gst_rtsp_connection_get_tls_interaction (GstRTSPConnection * conn); GTlsInteraction * gst_rtsp_connection_get_tls_interaction (GstRTSPConnection * conn);
/* sending/receiving raw bytes */ /* sending/receiving raw bytes */
GST_EXPORT
GstRTSPResult gst_rtsp_connection_read (GstRTSPConnection * conn, guint8 * data, GstRTSPResult gst_rtsp_connection_read (GstRTSPConnection * conn, guint8 * data,
guint size, GTimeVal * timeout); guint size, GTimeVal * timeout);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_write (GstRTSPConnection * conn, const guint8 * data, GstRTSPResult gst_rtsp_connection_write (GstRTSPConnection * conn, const guint8 * data,
guint size, GTimeVal * timeout); guint size, GTimeVal * timeout);
/* sending/receiving messages */ /* sending/receiving messages */
GST_EXPORT
GstRTSPResult gst_rtsp_connection_send (GstRTSPConnection *conn, GstRTSPMessage *message, GstRTSPResult gst_rtsp_connection_send (GstRTSPConnection *conn, GstRTSPMessage *message,
GTimeVal *timeout); GTimeVal *timeout);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_receive (GstRTSPConnection *conn, GstRTSPMessage *message, GstRTSPResult gst_rtsp_connection_receive (GstRTSPConnection *conn, GstRTSPMessage *message,
GTimeVal *timeout); GTimeVal *timeout);
/* status management */ /* status management */
GST_EXPORT
GstRTSPResult gst_rtsp_connection_poll (GstRTSPConnection *conn, GstRTSPEvent events, GstRTSPResult gst_rtsp_connection_poll (GstRTSPConnection *conn, GstRTSPEvent events,
GstRTSPEvent *revents, GTimeVal *timeout); GstRTSPEvent *revents, GTimeVal *timeout);
/* reset the timeout */ /* reset the timeout */
GST_EXPORT
GstRTSPResult gst_rtsp_connection_next_timeout (GstRTSPConnection *conn, GTimeVal *timeout); GstRTSPResult gst_rtsp_connection_next_timeout (GstRTSPConnection *conn, GTimeVal *timeout);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_reset_timeout (GstRTSPConnection *conn); GstRTSPResult gst_rtsp_connection_reset_timeout (GstRTSPConnection *conn);
/* flushing state */ /* flushing state */
GST_EXPORT
GstRTSPResult gst_rtsp_connection_flush (GstRTSPConnection *conn, gboolean flush); GstRTSPResult gst_rtsp_connection_flush (GstRTSPConnection *conn, gboolean flush);
/* HTTP proxy support */ /* HTTP proxy support */
GST_EXPORT
GstRTSPResult gst_rtsp_connection_set_proxy (GstRTSPConnection *conn, GstRTSPResult gst_rtsp_connection_set_proxy (GstRTSPConnection *conn,
const gchar *host, guint port); const gchar *host, guint port);
/* configure authentication data */ /* configure authentication data */
GST_EXPORT
GstRTSPResult gst_rtsp_connection_set_auth (GstRTSPConnection *conn, GstRTSPAuthMethod method, GstRTSPResult gst_rtsp_connection_set_auth (GstRTSPConnection *conn, GstRTSPAuthMethod method,
const gchar *user, const gchar *pass); const gchar *user, const gchar *pass);
GST_EXPORT
void gst_rtsp_connection_set_auth_param (GstRTSPConnection *conn, void gst_rtsp_connection_set_auth_param (GstRTSPConnection *conn,
const gchar * param, const gchar * param,
const gchar *value); const gchar *value);
GST_EXPORT
void gst_rtsp_connection_clear_auth_params (GstRTSPConnection *conn); void gst_rtsp_connection_clear_auth_params (GstRTSPConnection *conn);
/* configure DSCP */ /* configure DSCP */
GST_EXPORT
GstRTSPResult gst_rtsp_connection_set_qos_dscp (GstRTSPConnection *conn, GstRTSPResult gst_rtsp_connection_set_qos_dscp (GstRTSPConnection *conn,
guint qos_dscp); guint qos_dscp);
/* accessors */ /* accessors */
GST_EXPORT
GstRTSPUrl * gst_rtsp_connection_get_url (const GstRTSPConnection *conn); GstRTSPUrl * gst_rtsp_connection_get_url (const GstRTSPConnection *conn);
GST_EXPORT
const gchar * gst_rtsp_connection_get_ip (const GstRTSPConnection *conn); const gchar * gst_rtsp_connection_get_ip (const GstRTSPConnection *conn);
GST_EXPORT
void gst_rtsp_connection_set_ip (GstRTSPConnection *conn, const gchar *ip); void gst_rtsp_connection_set_ip (GstRTSPConnection *conn, const gchar *ip);
GST_EXPORT
GSocket * gst_rtsp_connection_get_read_socket (const GstRTSPConnection *conn); GSocket * gst_rtsp_connection_get_read_socket (const GstRTSPConnection *conn);
GST_EXPORT
GSocket * gst_rtsp_connection_get_write_socket (const GstRTSPConnection *conn); GSocket * gst_rtsp_connection_get_write_socket (const GstRTSPConnection *conn);
GST_EXPORT
void gst_rtsp_connection_set_http_mode (GstRTSPConnection *conn, void gst_rtsp_connection_set_http_mode (GstRTSPConnection *conn,
gboolean enable); gboolean enable);
/* tunneling */ /* tunneling */
GST_EXPORT
void gst_rtsp_connection_set_tunneled (GstRTSPConnection *conn, gboolean tunneled); void gst_rtsp_connection_set_tunneled (GstRTSPConnection *conn, gboolean tunneled);
GST_EXPORT
gboolean gst_rtsp_connection_is_tunneled (const GstRTSPConnection *conn); gboolean gst_rtsp_connection_is_tunneled (const GstRTSPConnection *conn);
GST_EXPORT
const gchar * gst_rtsp_connection_get_tunnelid (const GstRTSPConnection *conn); const gchar * gst_rtsp_connection_get_tunnelid (const GstRTSPConnection *conn);
GST_EXPORT
GstRTSPResult gst_rtsp_connection_do_tunnel (GstRTSPConnection *conn, GstRTSPConnection *conn2); GstRTSPResult gst_rtsp_connection_do_tunnel (GstRTSPConnection *conn, GstRTSPConnection *conn2);
GST_EXPORT
void gst_rtsp_connection_set_remember_session_id (GstRTSPConnection *conn, gboolean remember); void gst_rtsp_connection_set_remember_session_id (GstRTSPConnection *conn, gboolean remember);
GST_EXPORT
gboolean gst_rtsp_connection_get_remember_session_id (GstRTSPConnection *conn); gboolean gst_rtsp_connection_get_remember_session_id (GstRTSPConnection *conn);
/* async IO */ /* async IO */
@ -197,30 +269,45 @@ typedef struct {
gpointer _gst_reserved[GST_PADDING-1]; gpointer _gst_reserved[GST_PADDING-1];
} GstRTSPWatchFuncs; } GstRTSPWatchFuncs;
GST_EXPORT
GstRTSPWatch * gst_rtsp_watch_new (GstRTSPConnection *conn, GstRTSPWatch * gst_rtsp_watch_new (GstRTSPConnection *conn,
GstRTSPWatchFuncs *funcs, GstRTSPWatchFuncs *funcs,
gpointer user_data, gpointer user_data,
GDestroyNotify notify); GDestroyNotify notify);
GST_EXPORT
void gst_rtsp_watch_reset (GstRTSPWatch *watch); void gst_rtsp_watch_reset (GstRTSPWatch *watch);
GST_EXPORT
void gst_rtsp_watch_unref (GstRTSPWatch *watch); void gst_rtsp_watch_unref (GstRTSPWatch *watch);
GST_EXPORT
guint gst_rtsp_watch_attach (GstRTSPWatch *watch, guint gst_rtsp_watch_attach (GstRTSPWatch *watch,
GMainContext *context); GMainContext *context);
GST_EXPORT
void gst_rtsp_watch_set_send_backlog (GstRTSPWatch *watch, void gst_rtsp_watch_set_send_backlog (GstRTSPWatch *watch,
gsize bytes, guint messages); gsize bytes, guint messages);
GST_EXPORT
void gst_rtsp_watch_get_send_backlog (GstRTSPWatch *watch, void gst_rtsp_watch_get_send_backlog (GstRTSPWatch *watch,
gsize *bytes, guint *messages); gsize *bytes, guint *messages);
GST_EXPORT
GstRTSPResult gst_rtsp_watch_write_data (GstRTSPWatch *watch, GstRTSPResult gst_rtsp_watch_write_data (GstRTSPWatch *watch,
const guint8 *data, const guint8 *data,
guint size, guint *id); guint size, guint *id);
GST_EXPORT
GstRTSPResult gst_rtsp_watch_send_message (GstRTSPWatch *watch, GstRTSPResult gst_rtsp_watch_send_message (GstRTSPWatch *watch,
GstRTSPMessage *message, GstRTSPMessage *message,
guint *id); guint *id);
GST_EXPORT
GstRTSPResult gst_rtsp_watch_wait_backlog (GstRTSPWatch * watch, GstRTSPResult gst_rtsp_watch_wait_backlog (GstRTSPWatch * watch,
GTimeVal *timeout); GTimeVal *timeout);
GST_EXPORT
void gst_rtsp_watch_set_flushing (GstRTSPWatch * watch, void gst_rtsp_watch_set_flushing (GstRTSPWatch * watch,
gboolean flushing); gboolean flushing);
G_END_DECLS G_END_DECLS

View file

@ -43,8 +43,7 @@
#ifndef __GST_RTSP_DEFS_H__ #ifndef __GST_RTSP_DEFS_H__
#define __GST_RTSP_DEFS_H__ #define __GST_RTSP_DEFS_H__
#include <glib.h> #include <gst/gst.h>
#include <glib-object.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -390,21 +389,37 @@ typedef enum {
GST_RTSP_STS_OPTION_NOT_SUPPORTED = 551 GST_RTSP_STS_OPTION_NOT_SUPPORTED = 551
} GstRTSPStatusCode; } GstRTSPStatusCode;
GST_EXPORT
gchar* gst_rtsp_strresult (GstRTSPResult result); gchar* gst_rtsp_strresult (GstRTSPResult result);
GST_EXPORT
const gchar* gst_rtsp_method_as_text (GstRTSPMethod method); const gchar* gst_rtsp_method_as_text (GstRTSPMethod method);
GST_EXPORT
const gchar* gst_rtsp_version_as_text (GstRTSPVersion version); const gchar* gst_rtsp_version_as_text (GstRTSPVersion version);
GST_EXPORT
const gchar* gst_rtsp_header_as_text (GstRTSPHeaderField field); const gchar* gst_rtsp_header_as_text (GstRTSPHeaderField field);
GST_EXPORT
const gchar* gst_rtsp_status_as_text (GstRTSPStatusCode code); const gchar* gst_rtsp_status_as_text (GstRTSPStatusCode code);
GST_EXPORT
gchar* gst_rtsp_options_as_text (GstRTSPMethod options); gchar* gst_rtsp_options_as_text (GstRTSPMethod options);
GST_EXPORT
GstRTSPMethod gst_rtsp_options_from_text (const gchar *options); GstRTSPMethod gst_rtsp_options_from_text (const gchar *options);
GST_EXPORT
GstRTSPHeaderField gst_rtsp_find_header_field (const gchar *header); GstRTSPHeaderField gst_rtsp_find_header_field (const gchar *header);
GST_EXPORT
GstRTSPMethod gst_rtsp_find_method (const gchar *method); GstRTSPMethod gst_rtsp_find_method (const gchar *method);
GST_EXPORT
gboolean gst_rtsp_header_allow_multiple (GstRTSPHeaderField field); gboolean gst_rtsp_header_allow_multiple (GstRTSPHeaderField field);
GST_EXPORT
gchar * gst_rtsp_generate_digest_auth_response (const gchar *algorithm, gchar * gst_rtsp_generate_digest_auth_response (const gchar *algorithm,
const gchar *method, const gchar *method,
const gchar *realm, const gchar *realm,

View file

@ -71,24 +71,44 @@ struct _GstRTSPExtensionInterface {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT
GType gst_rtsp_extension_get_type (void); GType gst_rtsp_extension_get_type (void);
/* invoke vfunction on interface */ /* invoke vfunction on interface */
GST_EXPORT
gboolean gst_rtsp_extension_detect_server (GstRTSPExtension *ext, GstRTSPMessage *resp); gboolean gst_rtsp_extension_detect_server (GstRTSPExtension *ext, GstRTSPMessage *resp);
GST_EXPORT
GstRTSPResult gst_rtsp_extension_before_send (GstRTSPExtension *ext, GstRTSPMessage *req); GstRTSPResult gst_rtsp_extension_before_send (GstRTSPExtension *ext, GstRTSPMessage *req);
GST_EXPORT
GstRTSPResult gst_rtsp_extension_after_send (GstRTSPExtension *ext, GstRTSPMessage *req, GstRTSPResult gst_rtsp_extension_after_send (GstRTSPExtension *ext, GstRTSPMessage *req,
GstRTSPMessage *resp); GstRTSPMessage *resp);
GST_EXPORT
GstRTSPResult gst_rtsp_extension_parse_sdp (GstRTSPExtension *ext, GstSDPMessage *sdp, GstRTSPResult gst_rtsp_extension_parse_sdp (GstRTSPExtension *ext, GstSDPMessage *sdp,
GstStructure *s); GstStructure *s);
GST_EXPORT
GstRTSPResult gst_rtsp_extension_setup_media (GstRTSPExtension *ext, GstSDPMedia *media); GstRTSPResult gst_rtsp_extension_setup_media (GstRTSPExtension *ext, GstSDPMedia *media);
GST_EXPORT
gboolean gst_rtsp_extension_configure_stream (GstRTSPExtension *ext, GstCaps *caps); gboolean gst_rtsp_extension_configure_stream (GstRTSPExtension *ext, GstCaps *caps);
GST_EXPORT
GstRTSPResult gst_rtsp_extension_get_transports (GstRTSPExtension *ext, GstRTSPLowerTrans protocols, GstRTSPResult gst_rtsp_extension_get_transports (GstRTSPExtension *ext, GstRTSPLowerTrans protocols,
gchar **transport); gchar **transport);
GST_EXPORT
GstRTSPResult gst_rtsp_extension_stream_select (GstRTSPExtension *ext, GstRTSPUrl *url); GstRTSPResult gst_rtsp_extension_stream_select (GstRTSPExtension *ext, GstRTSPUrl *url);
GST_EXPORT
GstRTSPResult gst_rtsp_extension_receive_request (GstRTSPExtension *ext, GstRTSPMessage *req); GstRTSPResult gst_rtsp_extension_receive_request (GstRTSPExtension *ext, GstRTSPMessage *req);
/* signal emision */ /* signal emision */
GST_EXPORT
GstRTSPResult gst_rtsp_extension_send (GstRTSPExtension *ext, GstRTSPMessage *req, GstRTSPResult gst_rtsp_extension_send (GstRTSPExtension *ext, GstRTSPMessage *req,
GstRTSPMessage *resp); GstRTSPMessage *resp);

View file

@ -108,93 +108,142 @@ struct _GstRTSPMessage
}; };
/* memory management */ /* memory management */
GST_EXPORT
GstRTSPResult gst_rtsp_message_new (GstRTSPMessage **msg); GstRTSPResult gst_rtsp_message_new (GstRTSPMessage **msg);
GST_EXPORT
GstRTSPResult gst_rtsp_message_init (GstRTSPMessage *msg); GstRTSPResult gst_rtsp_message_init (GstRTSPMessage *msg);
GST_EXPORT
GstRTSPResult gst_rtsp_message_unset (GstRTSPMessage *msg); GstRTSPResult gst_rtsp_message_unset (GstRTSPMessage *msg);
GST_EXPORT
GstRTSPResult gst_rtsp_message_free (GstRTSPMessage *msg); GstRTSPResult gst_rtsp_message_free (GstRTSPMessage *msg);
GST_EXPORT
GstRTSPMsgType gst_rtsp_message_get_type (GstRTSPMessage *msg); GstRTSPMsgType gst_rtsp_message_get_type (GstRTSPMessage *msg);
/* request */ /* request */
GST_EXPORT
GstRTSPResult gst_rtsp_message_new_request (GstRTSPMessage **msg, GstRTSPResult gst_rtsp_message_new_request (GstRTSPMessage **msg,
GstRTSPMethod method, GstRTSPMethod method,
const gchar *uri); const gchar *uri);
GST_EXPORT
GstRTSPResult gst_rtsp_message_init_request (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_init_request (GstRTSPMessage *msg,
GstRTSPMethod method, GstRTSPMethod method,
const gchar *uri); const gchar *uri);
GST_EXPORT
GstRTSPResult gst_rtsp_message_parse_request (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_parse_request (GstRTSPMessage *msg,
GstRTSPMethod *method, GstRTSPMethod *method,
const gchar **uri, const gchar **uri,
GstRTSPVersion *version); GstRTSPVersion *version);
/* response */ /* response */
GST_EXPORT
GstRTSPResult gst_rtsp_message_new_response (GstRTSPMessage **msg, GstRTSPResult gst_rtsp_message_new_response (GstRTSPMessage **msg,
GstRTSPStatusCode code, GstRTSPStatusCode code,
const gchar *reason, const gchar *reason,
const GstRTSPMessage *request); const GstRTSPMessage *request);
GST_EXPORT
GstRTSPResult gst_rtsp_message_init_response (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_init_response (GstRTSPMessage *msg,
GstRTSPStatusCode code, GstRTSPStatusCode code,
const gchar *reason, const gchar *reason,
const GstRTSPMessage *request); const GstRTSPMessage *request);
GST_EXPORT
GstRTSPResult gst_rtsp_message_parse_response (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_parse_response (GstRTSPMessage *msg,
GstRTSPStatusCode *code, GstRTSPStatusCode *code,
const gchar **reason, const gchar **reason,
GstRTSPVersion *version); GstRTSPVersion *version);
/* data */ /* data */
GST_EXPORT
GstRTSPResult gst_rtsp_message_new_data (GstRTSPMessage **msg, GstRTSPResult gst_rtsp_message_new_data (GstRTSPMessage **msg,
guint8 channel); guint8 channel);
GST_EXPORT
GstRTSPResult gst_rtsp_message_init_data (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_init_data (GstRTSPMessage *msg,
guint8 channel); guint8 channel);
GST_EXPORT
GstRTSPResult gst_rtsp_message_parse_data (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_parse_data (GstRTSPMessage *msg,
guint8 *channel); guint8 *channel);
/* headers */ /* headers */
GST_EXPORT
GstRTSPResult gst_rtsp_message_add_header (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_add_header (GstRTSPMessage *msg,
GstRTSPHeaderField field, GstRTSPHeaderField field,
const gchar *value); const gchar *value);
GST_EXPORT
GstRTSPResult gst_rtsp_message_take_header (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_take_header (GstRTSPMessage *msg,
GstRTSPHeaderField field, GstRTSPHeaderField field,
gchar *value); gchar *value);
GST_EXPORT
GstRTSPResult gst_rtsp_message_remove_header (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_remove_header (GstRTSPMessage *msg,
GstRTSPHeaderField field, GstRTSPHeaderField field,
gint indx); gint indx);
GST_EXPORT
GstRTSPResult gst_rtsp_message_get_header (const GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_get_header (const GstRTSPMessage *msg,
GstRTSPHeaderField field, GstRTSPHeaderField field,
gchar **value, gchar **value,
gint indx); gint indx);
GST_EXPORT
GstRTSPResult gst_rtsp_message_add_header_by_name (GstRTSPMessage * msg, GstRTSPResult gst_rtsp_message_add_header_by_name (GstRTSPMessage * msg,
const gchar * header, const gchar * header,
const gchar * value); const gchar * value);
GST_EXPORT
GstRTSPResult gst_rtsp_message_take_header_by_name (GstRTSPMessage * msg, GstRTSPResult gst_rtsp_message_take_header_by_name (GstRTSPMessage * msg,
const gchar * header, const gchar * header,
gchar * value); gchar * value);
GST_EXPORT
GstRTSPResult gst_rtsp_message_remove_header_by_name (GstRTSPMessage * msg, GstRTSPResult gst_rtsp_message_remove_header_by_name (GstRTSPMessage * msg,
const gchar * header, const gchar * header,
gint index); gint index);
GST_EXPORT
GstRTSPResult gst_rtsp_message_get_header_by_name (GstRTSPMessage * msg, GstRTSPResult gst_rtsp_message_get_header_by_name (GstRTSPMessage * msg,
const gchar * header, const gchar * header,
gchar ** value, gchar ** value,
gint index); gint index);
/* header serialization */ /* header serialization */
GST_EXPORT
GstRTSPResult gst_rtsp_message_append_headers (const GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_append_headers (const GstRTSPMessage *msg,
GString *str); GString *str);
/* handling the body */ /* handling the body */
GST_EXPORT
GstRTSPResult gst_rtsp_message_set_body (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_set_body (GstRTSPMessage *msg,
const guint8 *data, const guint8 *data,
guint size); guint size);
GST_EXPORT
GstRTSPResult gst_rtsp_message_take_body (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_take_body (GstRTSPMessage *msg,
guint8 *data, guint8 *data,
guint size); guint size);
GST_EXPORT
GstRTSPResult gst_rtsp_message_get_body (const GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_get_body (const GstRTSPMessage *msg,
guint8 **data, guint8 **data,
guint *size); guint *size);
GST_EXPORT
GstRTSPResult gst_rtsp_message_steal_body (GstRTSPMessage *msg, GstRTSPResult gst_rtsp_message_steal_body (GstRTSPMessage *msg,
guint8 **data, guint8 **data,
guint *size); guint *size);
@ -218,18 +267,25 @@ struct _GstRTSPAuthParam {
gchar *value; gchar *value;
}; };
GST_EXPORT
GstRTSPAuthCredential ** gst_rtsp_message_parse_auth_credentials (GstRTSPMessage * msg, GstRTSPHeaderField field); GstRTSPAuthCredential ** gst_rtsp_message_parse_auth_credentials (GstRTSPMessage * msg, GstRTSPHeaderField field);
GST_EXPORT
void gst_rtsp_auth_credentials_free (GstRTSPAuthCredential ** credentials); void gst_rtsp_auth_credentials_free (GstRTSPAuthCredential ** credentials);
#define GST_TYPE_RTSP_AUTH_CREDENTIAL gst_rtsp_auth_credential_get_type() #define GST_TYPE_RTSP_AUTH_CREDENTIAL gst_rtsp_auth_credential_get_type()
GST_EXPORT
GType gst_rtsp_auth_credential_get_type (void); GType gst_rtsp_auth_credential_get_type (void);
#define GST_TYPE_RTSP_AUTH_PARAM gst_rtsp_auth_param_get_type() #define GST_TYPE_RTSP_AUTH_PARAM gst_rtsp_auth_param_get_type()
GST_EXPORT
GType gst_rtsp_auth_param_get_type (void); GType gst_rtsp_auth_param_get_type (void);
/* debug */ /* debug */
GST_EXPORT
GstRTSPResult gst_rtsp_message_dump (GstRTSPMessage *msg); GstRTSPResult gst_rtsp_message_dump (GstRTSPMessage *msg);
G_END_DECLS G_END_DECLS

View file

@ -142,13 +142,20 @@ struct _GstRTSPTimeRange {
GstRTSPTime2 max2; GstRTSPTime2 max2;
}; };
GST_EXPORT
GstRTSPResult gst_rtsp_range_parse (const gchar *rangestr, GstRTSPTimeRange **range); GstRTSPResult gst_rtsp_range_parse (const gchar *rangestr, GstRTSPTimeRange **range);
GST_EXPORT
gchar * gst_rtsp_range_to_string (const GstRTSPTimeRange *range); gchar * gst_rtsp_range_to_string (const GstRTSPTimeRange *range);
GST_EXPORT
void gst_rtsp_range_free (GstRTSPTimeRange *range); void gst_rtsp_range_free (GstRTSPTimeRange *range);
GST_EXPORT
gboolean gst_rtsp_range_get_times (const GstRTSPTimeRange *range, gboolean gst_rtsp_range_get_times (const GstRTSPTimeRange *range,
GstClockTime *min, GstClockTime *max); GstClockTime *min, GstClockTime *max);
GST_EXPORT
gboolean gst_rtsp_range_convert_units (GstRTSPTimeRange * range, gboolean gst_rtsp_range_convert_units (GstRTSPTimeRange * range,
GstRTSPRangeUnit unit); GstRTSPRangeUnit unit);

View file

@ -171,18 +171,29 @@ struct _GstRTSPTransport {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT
GstRTSPResult gst_rtsp_transport_new (GstRTSPTransport **transport); GstRTSPResult gst_rtsp_transport_new (GstRTSPTransport **transport);
GST_EXPORT
GstRTSPResult gst_rtsp_transport_init (GstRTSPTransport *transport); GstRTSPResult gst_rtsp_transport_init (GstRTSPTransport *transport);
GST_EXPORT
GstRTSPResult gst_rtsp_transport_parse (const gchar *str, GstRTSPTransport *transport); GstRTSPResult gst_rtsp_transport_parse (const gchar *str, GstRTSPTransport *transport);
GST_EXPORT
gchar* gst_rtsp_transport_as_text (GstRTSPTransport *transport); gchar* gst_rtsp_transport_as_text (GstRTSPTransport *transport);
GST_EXPORT
GstRTSPResult gst_rtsp_transport_get_mime (GstRTSPTransMode trans, const gchar **mime); GstRTSPResult gst_rtsp_transport_get_mime (GstRTSPTransMode trans, const gchar **mime);
GST_EXPORT
GstRTSPResult gst_rtsp_transport_get_manager (GstRTSPTransMode trans, const gchar **manager, guint option); GstRTSPResult gst_rtsp_transport_get_manager (GstRTSPTransMode trans, const gchar **manager, guint option);
GST_EXPORT
GstRTSPResult gst_rtsp_transport_get_media_type (GstRTSPTransport *transport, GstRTSPResult gst_rtsp_transport_get_media_type (GstRTSPTransport *transport,
const gchar **media_type); const gchar **media_type);
GST_EXPORT
GstRTSPResult gst_rtsp_transport_free (GstRTSPTransport *transport); GstRTSPResult gst_rtsp_transport_free (GstRTSPTransport *transport);
G_END_DECLS G_END_DECLS

View file

@ -86,16 +86,28 @@ struct _GstRTSPUrl {
gchar *query; gchar *query;
}; };
GST_EXPORT
GType gst_rtsp_url_get_type (void); GType gst_rtsp_url_get_type (void);
GST_EXPORT
GstRTSPResult gst_rtsp_url_parse (const gchar *urlstr, GstRTSPUrl **url); GstRTSPResult gst_rtsp_url_parse (const gchar *urlstr, GstRTSPUrl **url);
GST_EXPORT
GstRTSPUrl* gst_rtsp_url_copy (const GstRTSPUrl *url); GstRTSPUrl* gst_rtsp_url_copy (const GstRTSPUrl *url);
GST_EXPORT
void gst_rtsp_url_free (GstRTSPUrl *url); void gst_rtsp_url_free (GstRTSPUrl *url);
GST_EXPORT
gchar* gst_rtsp_url_get_request_uri (const GstRTSPUrl *url); gchar* gst_rtsp_url_get_request_uri (const GstRTSPUrl *url);
GST_EXPORT
gchar** gst_rtsp_url_decode_path_components gchar** gst_rtsp_url_decode_path_components
(const GstRTSPUrl *url); (const GstRTSPUrl *url);
GST_EXPORT
GstRTSPResult gst_rtsp_url_set_port (GstRTSPUrl *url, guint16 port); GstRTSPResult gst_rtsp_url_set_port (GstRTSPUrl *url, guint16 port);
GST_EXPORT
GstRTSPResult gst_rtsp_url_get_port (const GstRTSPUrl *url, guint16 *port); GstRTSPResult gst_rtsp_url_get_port (const GstRTSPUrl *url, guint16 *port);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -9,11 +9,11 @@ import sys, os, shutil, subprocess
h_array = [ h_array = [
'--fhead', '--fhead',
"#ifndef __gst_rtsp_ENUM_TYPES_H__\n#define __gst_rtsp_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n", "#ifndef __gst_rtsp_ENUM_TYPES_H__\n#define __gst_rtsp_ENUM_TYPES_H__\n\n#include <gst/gst.h>\n\nG_BEGIN_DECLS\n",
'--fprod', '--fprod',
"\n/* enumerations from \"@filename@\" */\n", "\n/* enumerations from \"@filename@\" */\n",
'--vhead', '--vhead',
"GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n", "GST_EXPORT GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n",
'--ftail', '--ftail',
"G_END_DECLS\n\n#endif /* __gst_rtsp_ENUM_TYPES_H__ */" "G_END_DECLS\n\n#endif /* __gst_rtsp_ENUM_TYPES_H__ */"
] ]