Mark symbols explicitly for export with GST_EXPORT

This commit is contained in:
Tim-Philipp Müller 2017-05-18 10:35:18 +01:00
parent e1d43cab65
commit b344248630
19 changed files with 491 additions and 0 deletions

View file

@ -82,9 +82,13 @@ struct _GstRTSPAddress {
gpointer priv;
};
GST_EXPORT
GType gst_rtsp_address_get_type (void);
GST_EXPORT
GstRTSPAddress * gst_rtsp_address_copy (GstRTSPAddress *addr);
GST_EXPORT
void gst_rtsp_address_free (GstRTSPAddress *addr);
/**
@ -149,14 +153,21 @@ struct _GstRTSPAddressPoolClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_rtsp_address_pool_get_type (void);
/* create a new address pool */
GST_EXPORT
GstRTSPAddressPool * gst_rtsp_address_pool_new (void);
GST_EXPORT
void gst_rtsp_address_pool_clear (GstRTSPAddressPool * pool);
GST_EXPORT
void gst_rtsp_address_pool_dump (GstRTSPAddressPool * pool);
GST_EXPORT
gboolean gst_rtsp_address_pool_add_range (GstRTSPAddressPool * pool,
const gchar *min_address,
const gchar *max_address,
@ -164,10 +175,12 @@ gboolean gst_rtsp_address_pool_add_range (GstRTSPAddressPool
guint16 max_port,
guint8 ttl);
GST_EXPORT
GstRTSPAddress * gst_rtsp_address_pool_acquire_address (GstRTSPAddressPool * pool,
GstRTSPAddressFlags flags,
gint n_ports);
GST_EXPORT
GstRTSPAddressPoolResult gst_rtsp_address_pool_reserve_address (GstRTSPAddressPool * pool,
const gchar *ip_address,
guint port,
@ -175,6 +188,7 @@ GstRTSPAddressPoolResult gst_rtsp_address_pool_reserve_address (GstRTSPAddressP
guint ttl,
GstRTSPAddress ** address);
GST_EXPORT
gboolean gst_rtsp_address_pool_has_unicast_addresses (GstRTSPAddressPool * pool);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -81,37 +81,63 @@ struct _GstRTSPAuthClass {
gpointer _gst_reserved[GST_PADDING - 1];
};
GST_EXPORT
GType gst_rtsp_auth_get_type (void);
GST_EXPORT
GstRTSPAuth * gst_rtsp_auth_new (void);
GST_EXPORT
void gst_rtsp_auth_set_tls_certificate (GstRTSPAuth *auth, GTlsCertificate *cert);
GST_EXPORT
GTlsCertificate * gst_rtsp_auth_get_tls_certificate (GstRTSPAuth *auth);
GST_EXPORT
void gst_rtsp_auth_set_tls_database (GstRTSPAuth *auth, GTlsDatabase *database);
GST_EXPORT
GTlsDatabase * gst_rtsp_auth_get_tls_database (GstRTSPAuth *auth);
GST_EXPORT
void gst_rtsp_auth_set_tls_authentication_mode (GstRTSPAuth *auth, GTlsAuthenticationMode mode);
GST_EXPORT
GTlsAuthenticationMode gst_rtsp_auth_get_tls_authentication_mode (GstRTSPAuth *auth);
GST_EXPORT
void gst_rtsp_auth_set_default_token (GstRTSPAuth *auth, GstRTSPToken *token);
GST_EXPORT
GstRTSPToken * gst_rtsp_auth_get_default_token (GstRTSPAuth *auth);
GST_EXPORT
void gst_rtsp_auth_add_basic (GstRTSPAuth *auth, const gchar * basic,
GstRTSPToken *token);
GST_EXPORT
void gst_rtsp_auth_remove_basic (GstRTSPAuth *auth, const gchar * basic);
GST_EXPORT
void gst_rtsp_auth_add_digest (GstRTSPAuth *auth, const gchar *user,
const gchar *pass, GstRTSPToken *token);
GST_EXPORT
void gst_rtsp_auth_remove_digest (GstRTSPAuth *auth, const gchar *user);
GST_EXPORT
void gst_rtsp_auth_set_supported_methods (GstRTSPAuth *auth, GstRTSPAuthMethod methods);
GST_EXPORT
GstRTSPAuthMethod gst_rtsp_auth_get_supported_methods (GstRTSPAuth *auth);
GST_EXPORT
gboolean gst_rtsp_auth_check (const gchar *check);
/* helpers */
GST_EXPORT
gchar * gst_rtsp_auth_make_basic (const gchar * user, const gchar * pass);
/* checks */

View file

@ -143,38 +143,62 @@ struct _GstRTSPClientClass {
gpointer _gst_reserved[GST_PADDING_LARGE-16];
};
GST_EXPORT
GType gst_rtsp_client_get_type (void);
GST_EXPORT
GstRTSPClient * gst_rtsp_client_new (void);
GST_EXPORT
void gst_rtsp_client_set_session_pool (GstRTSPClient *client,
GstRTSPSessionPool *pool);
GST_EXPORT
GstRTSPSessionPool * gst_rtsp_client_get_session_pool (GstRTSPClient *client);
GST_EXPORT
void gst_rtsp_client_set_mount_points (GstRTSPClient *client,
GstRTSPMountPoints *mounts);
GST_EXPORT
GstRTSPMountPoints * gst_rtsp_client_get_mount_points (GstRTSPClient *client);
GST_EXPORT
void gst_rtsp_client_set_auth (GstRTSPClient *client, GstRTSPAuth *auth);
GST_EXPORT
GstRTSPAuth * gst_rtsp_client_get_auth (GstRTSPClient *client);
GST_EXPORT
void gst_rtsp_client_set_thread_pool (GstRTSPClient *client, GstRTSPThreadPool *pool);
GST_EXPORT
GstRTSPThreadPool * gst_rtsp_client_get_thread_pool (GstRTSPClient *client);
GST_EXPORT
gboolean gst_rtsp_client_set_connection (GstRTSPClient *client, GstRTSPConnection *conn);
GST_EXPORT
GstRTSPConnection * gst_rtsp_client_get_connection (GstRTSPClient *client);
GST_EXPORT
guint gst_rtsp_client_attach (GstRTSPClient *client,
GMainContext *context);
GST_EXPORT
void gst_rtsp_client_close (GstRTSPClient * client);
GST_EXPORT
void gst_rtsp_client_set_send_func (GstRTSPClient *client,
GstRTSPClientSendFunc func,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
GstRTSPResult gst_rtsp_client_handle_message (GstRTSPClient *client,
GstRTSPMessage *message);
GST_EXPORT
GstRTSPResult gst_rtsp_client_send_message (GstRTSPClient * client,
GstRTSPSession *session,
GstRTSPMessage *message);
@ -202,6 +226,7 @@ typedef GstRTSPFilterResult (*GstRTSPClientSessionFilterFunc) (GstRTSPClient *c
GstRTSPSession *sess,
gpointer user_data);
GST_EXPORT
GList * gst_rtsp_client_session_filter (GstRTSPClient *client,
GstRTSPClientSessionFilterFunc func,
gpointer user_data);

View file

@ -78,10 +78,16 @@ struct _GstRTSPContext {
gpointer _gst_reserved[GST_PADDING - 1];
};
GST_EXPORT
GType gst_rtsp_context_get_type (void);
GST_EXPORT
GstRTSPContext * gst_rtsp_context_get_current (void);
GST_EXPORT
void gst_rtsp_context_push_current (GstRTSPContext * ctx);
GST_EXPORT
void gst_rtsp_context_pop_current (GstRTSPContext * ctx);

View file

@ -65,14 +65,21 @@ struct _GstRTSPMediaFactoryURIClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_rtsp_media_factory_uri_get_type (void);
/* creating the factory */
GST_EXPORT
GstRTSPMediaFactoryURI * gst_rtsp_media_factory_uri_new (void);
/* configuring the factory */
GST_EXPORT
void gst_rtsp_media_factory_uri_set_uri (GstRTSPMediaFactoryURI *factory,
const gchar *uri);
GST_EXPORT
gchar * gst_rtsp_media_factory_uri_get_uri (GstRTSPMediaFactoryURI *factory);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -97,84 +97,145 @@ struct _GstRTSPMediaFactoryClass {
gpointer _gst_reserved[GST_PADDING_LARGE];
};
GST_EXPORT
GType gst_rtsp_media_factory_get_type (void);
/* creating the factory */
GST_EXPORT
GstRTSPMediaFactory * gst_rtsp_media_factory_new (void);
/* configuring the factory */
GST_EXPORT
void gst_rtsp_media_factory_set_launch (GstRTSPMediaFactory *factory,
const gchar *launch);
GST_EXPORT
gchar * gst_rtsp_media_factory_get_launch (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_permissions (GstRTSPMediaFactory *factory,
GstRTSPPermissions *permissions);
GST_EXPORT
GstRTSPPermissions * gst_rtsp_media_factory_get_permissions (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_add_role (GstRTSPMediaFactory *factory,
const gchar *role,
const gchar *fieldname, ...);
GST_EXPORT
void gst_rtsp_media_factory_set_shared (GstRTSPMediaFactory *factory,
gboolean shared);
GST_EXPORT
gboolean gst_rtsp_media_factory_is_shared (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_stop_on_disconnect (GstRTSPMediaFactory *factory,
gboolean stop_on_disconnect);
GST_EXPORT
gboolean gst_rtsp_media_factory_is_stop_on_disonnect (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_suspend_mode (GstRTSPMediaFactory *factory,
GstRTSPSuspendMode mode);
GST_EXPORT
GstRTSPSuspendMode gst_rtsp_media_factory_get_suspend_mode (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_eos_shutdown (GstRTSPMediaFactory *factory,
gboolean eos_shutdown);
GST_EXPORT
gboolean gst_rtsp_media_factory_is_eos_shutdown (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_profiles (GstRTSPMediaFactory *factory,
GstRTSPProfile profiles);
GST_EXPORT
GstRTSPProfile gst_rtsp_media_factory_get_profiles (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_protocols (GstRTSPMediaFactory *factory,
GstRTSPLowerTrans protocols);
GST_EXPORT
GstRTSPLowerTrans gst_rtsp_media_factory_get_protocols (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_address_pool (GstRTSPMediaFactory * factory,
GstRTSPAddressPool * pool);
GST_EXPORT
GstRTSPAddressPool * gst_rtsp_media_factory_get_address_pool (GstRTSPMediaFactory * factory);
GST_EXPORT
void gst_rtsp_media_factory_set_multicast_iface (GstRTSPMediaFactory *factory, const gchar *multicast_iface);
GST_EXPORT
gchar * gst_rtsp_media_factory_get_multicast_iface (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_buffer_size (GstRTSPMediaFactory * factory,
guint size);
GST_EXPORT
guint gst_rtsp_media_factory_get_buffer_size (GstRTSPMediaFactory * factory);
GST_EXPORT
void gst_rtsp_media_factory_set_retransmission_time (GstRTSPMediaFactory * factory,
GstClockTime time);
GST_EXPORT
GstClockTime gst_rtsp_media_factory_get_retransmission_time (GstRTSPMediaFactory * factory);
GST_EXPORT
void gst_rtsp_media_factory_set_latency (GstRTSPMediaFactory * factory,
guint latency);
GST_EXPORT
guint gst_rtsp_media_factory_get_latency (GstRTSPMediaFactory * factory);
GST_EXPORT
void gst_rtsp_media_factory_set_transport_mode (GstRTSPMediaFactory *factory,
GstRTSPTransportMode mode);
GST_EXPORT
GstRTSPTransportMode gst_rtsp_media_factory_get_transport_mode (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_media_gtype (GstRTSPMediaFactory * factory,
GType media_gtype);
GST_EXPORT
GType gst_rtsp_media_factory_get_media_gtype (GstRTSPMediaFactory * factory);
GST_EXPORT
void gst_rtsp_media_factory_set_clock (GstRTSPMediaFactory *factory,
GstClock * clock);
GST_EXPORT
GstClock * gst_rtsp_media_factory_get_clock (GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_media_factory_set_publish_clock_mode (GstRTSPMediaFactory * factory, GstRTSPPublishClockMode mode);
GST_EXPORT
GstRTSPPublishClockMode gst_rtsp_media_factory_get_publish_clock_mode (GstRTSPMediaFactory * factory);
/* creating the media from the factory and a url */
GST_EXPORT
GstRTSPMedia * gst_rtsp_media_factory_construct (GstRTSPMediaFactory *factory,
const GstRTSPUrl *url);
GST_EXPORT
GstElement * gst_rtsp_media_factory_create_element (GstRTSPMediaFactory *factory,
const GstRTSPUrl *url);

View file

@ -103,12 +103,15 @@ typedef enum {
} GstRTSPPublishClockMode;
#define GST_TYPE_RTSP_TRANSPORT_MODE (gst_rtsp_transport_mode_get_type())
GST_EXPORT
GType gst_rtsp_transport_mode_get_type (void);
#define GST_TYPE_RTSP_SUSPEND_MODE (gst_rtsp_suspend_mode_get_type())
GST_EXPORT
GType gst_rtsp_suspend_mode_get_type (void);
#define GST_TYPE_RTSP_PUBLISH_CLOCK_MODE (gst_rtsp_publish_clock_mode_get_type())
GST_EXPORT
GType gst_rtsp_publish_clock_mode_get_type (void);
#include "rtsp-stream.h"
@ -186,104 +189,190 @@ struct _GstRTSPMediaClass {
gpointer _gst_reserved[GST_PADDING_LARGE-1];
};
GST_EXPORT
GType gst_rtsp_media_get_type (void);
/* creating the media */
GST_EXPORT
GstRTSPMedia * gst_rtsp_media_new (GstElement *element);
GST_EXPORT
GstElement * gst_rtsp_media_get_element (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_take_pipeline (GstRTSPMedia *media, GstPipeline *pipeline);
GST_EXPORT
GstRTSPMediaStatus gst_rtsp_media_get_status (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_permissions (GstRTSPMedia *media,
GstRTSPPermissions *permissions);
GST_EXPORT
GstRTSPPermissions * gst_rtsp_media_get_permissions (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_shared (GstRTSPMedia *media, gboolean shared);
GST_EXPORT
gboolean gst_rtsp_media_is_shared (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_stop_on_disconnect (GstRTSPMedia *media, gboolean stop_on_disconnect);
GST_EXPORT
gboolean gst_rtsp_media_is_stop_on_disconnect (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_transport_mode (GstRTSPMedia *media, GstRTSPTransportMode mode);
GST_EXPORT
GstRTSPTransportMode gst_rtsp_media_get_transport_mode (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_reusable (GstRTSPMedia *media, gboolean reusable);
GST_EXPORT
gboolean gst_rtsp_media_is_reusable (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_profiles (GstRTSPMedia *media, GstRTSPProfile profiles);
GST_EXPORT
GstRTSPProfile gst_rtsp_media_get_profiles (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_protocols (GstRTSPMedia *media, GstRTSPLowerTrans protocols);
GST_EXPORT
GstRTSPLowerTrans gst_rtsp_media_get_protocols (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_eos_shutdown (GstRTSPMedia *media, gboolean eos_shutdown);
GST_EXPORT
gboolean gst_rtsp_media_is_eos_shutdown (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_address_pool (GstRTSPMedia *media, GstRTSPAddressPool *pool);
GST_EXPORT
GstRTSPAddressPool * gst_rtsp_media_get_address_pool (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_multicast_iface (GstRTSPMedia *media, const gchar *multicast_iface);
GST_EXPORT
gchar * gst_rtsp_media_get_multicast_iface (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_buffer_size (GstRTSPMedia *media, guint size);
GST_EXPORT
guint gst_rtsp_media_get_buffer_size (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_retransmission_time (GstRTSPMedia *media, GstClockTime time);
GST_EXPORT
GstClockTime gst_rtsp_media_get_retransmission_time (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_latency (GstRTSPMedia *media, guint latency);
GST_EXPORT
guint gst_rtsp_media_get_latency (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_use_time_provider (GstRTSPMedia *media, gboolean time_provider);
GST_EXPORT
gboolean gst_rtsp_media_is_time_provider (GstRTSPMedia *media);
GST_EXPORT
GstNetTimeProvider * gst_rtsp_media_get_time_provider (GstRTSPMedia *media,
const gchar *address, guint16 port);
GST_EXPORT
void gst_rtsp_media_set_clock (GstRTSPMedia *media, GstClock * clock);
GST_EXPORT
void gst_rtsp_media_set_publish_clock_mode (GstRTSPMedia * media, GstRTSPPublishClockMode mode);
GST_EXPORT
GstRTSPPublishClockMode gst_rtsp_media_get_publish_clock_mode (GstRTSPMedia * media);
/* prepare the media for playback */
GST_EXPORT
gboolean gst_rtsp_media_prepare (GstRTSPMedia *media, GstRTSPThread *thread);
GST_EXPORT
gboolean gst_rtsp_media_unprepare (GstRTSPMedia *media);
GST_EXPORT
void gst_rtsp_media_set_suspend_mode (GstRTSPMedia *media, GstRTSPSuspendMode mode);
GST_EXPORT
GstRTSPSuspendMode gst_rtsp_media_get_suspend_mode (GstRTSPMedia *media);
GST_EXPORT
gboolean gst_rtsp_media_suspend (GstRTSPMedia *media);
GST_EXPORT
gboolean gst_rtsp_media_unsuspend (GstRTSPMedia *media);
GST_EXPORT
gboolean gst_rtsp_media_setup_sdp (GstRTSPMedia * media, GstSDPMessage * sdp,
GstSDPInfo * info);
GST_EXPORT
gboolean gst_rtsp_media_handle_sdp (GstRTSPMedia * media, GstSDPMessage * sdp);
/* creating streams */
GST_EXPORT
void gst_rtsp_media_collect_streams (GstRTSPMedia *media);
GST_EXPORT
GstRTSPStream * gst_rtsp_media_create_stream (GstRTSPMedia *media,
GstElement *payloader,
GstPad *pad);
/* dealing with the media */
GST_EXPORT
GstClock * gst_rtsp_media_get_clock (GstRTSPMedia *media);
GST_EXPORT
GstClockTime gst_rtsp_media_get_base_time (GstRTSPMedia *media);
GST_EXPORT
guint gst_rtsp_media_n_streams (GstRTSPMedia *media);
GST_EXPORT
GstRTSPStream * gst_rtsp_media_get_stream (GstRTSPMedia *media, guint idx);
GST_EXPORT
GstRTSPStream * gst_rtsp_media_find_stream (GstRTSPMedia *media, const gchar * control);
GST_EXPORT
gboolean gst_rtsp_media_seek (GstRTSPMedia *media, GstRTSPTimeRange *range);
GST_EXPORT
gchar * gst_rtsp_media_get_range_string (GstRTSPMedia *media,
gboolean play,
GstRTSPRangeUnit unit);
GST_EXPORT
gboolean gst_rtsp_media_set_state (GstRTSPMedia *media, GstState state,
GPtrArray *transports);
GST_EXPORT
void gst_rtsp_media_set_pipeline_state (GstRTSPMedia * media,
GstState state);

View file

@ -68,21 +68,31 @@ struct _GstRTSPMountPointsClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_rtsp_mount_points_get_type (void);
/* creating a mount points */
GST_EXPORT
GstRTSPMountPoints * gst_rtsp_mount_points_new (void);
GST_EXPORT
gchar * gst_rtsp_mount_points_make_path (GstRTSPMountPoints *mounts,
const GstRTSPUrl * url);
/* finding a media factory */
GST_EXPORT
GstRTSPMediaFactory * gst_rtsp_mount_points_match (GstRTSPMountPoints *mounts,
const gchar *path,
gint * matched);
/* managing media to a mount point */
GST_EXPORT
void gst_rtsp_mount_points_add_factory (GstRTSPMountPoints *mounts,
const gchar *path,
GstRTSPMediaFactory *factory);
GST_EXPORT
void gst_rtsp_mount_points_remove_factory (GstRTSPMountPoints *mounts,
const gchar *path);

View file

@ -30,7 +30,10 @@
G_BEGIN_DECLS
GST_EXPORT
GstRTSPResult gst_rtsp_params_set (GstRTSPClient * client, GstRTSPContext * ctx);
GST_EXPORT
GstRTSPResult gst_rtsp_params_get (GstRTSPClient * client, GstRTSPContext * ctx);
G_END_DECLS

View file

@ -26,6 +26,7 @@ typedef struct _GstRTSPPermissions GstRTSPPermissions;
G_BEGIN_DECLS
GST_EXPORT
GType gst_rtsp_permissions_get_type (void);
#define GST_TYPE_RTSP_PERMISSIONS (gst_rtsp_permissions_get_type ())
@ -71,20 +72,29 @@ gst_rtsp_permissions_unref (GstRTSPPermissions * permissions)
}
GST_EXPORT
GstRTSPPermissions * gst_rtsp_permissions_new (void);
GST_EXPORT
void gst_rtsp_permissions_add_role (GstRTSPPermissions *permissions,
const gchar *role,
const gchar *fieldname, ...);
GST_EXPORT
void gst_rtsp_permissions_add_role_valist (GstRTSPPermissions *permissions,
const gchar *role,
const gchar *fieldname,
va_list var_args);
GST_EXPORT
void gst_rtsp_permissions_remove_role (GstRTSPPermissions *permissions,
const gchar *role);
GST_EXPORT
const GstStructure * gst_rtsp_permissions_get_role (GstRTSPPermissions *permissions,
const gchar *role);
GST_EXPORT
gboolean gst_rtsp_permissions_is_allowed (GstRTSPPermissions *permissions,
const gchar *role, const gchar *permission);

View file

@ -33,7 +33,11 @@ typedef struct {
} GstSDPInfo;
/* creating SDP */
GST_EXPORT
gboolean gst_rtsp_sdp_from_media (GstSDPMessage *sdp, GstSDPInfo *info, GstRTSPMedia * media);
GST_EXPORT
gboolean gst_rtsp_sdp_from_stream (GstSDPMessage * sdp, GstSDPInfo * info, GstRTSPStream *stream);
G_END_DECLS

View file

@ -93,46 +93,77 @@ struct _GstRTSPServerClass {
gpointer _gst_reserved[GST_PADDING_LARGE];
};
GST_EXPORT
GType gst_rtsp_server_get_type (void);
GST_EXPORT
GstRTSPServer * gst_rtsp_server_new (void);
GST_EXPORT
void gst_rtsp_server_set_address (GstRTSPServer *server, const gchar *address);
GST_EXPORT
gchar * gst_rtsp_server_get_address (GstRTSPServer *server);
GST_EXPORT
void gst_rtsp_server_set_service (GstRTSPServer *server, const gchar *service);
GST_EXPORT
gchar * gst_rtsp_server_get_service (GstRTSPServer *server);
GST_EXPORT
void gst_rtsp_server_set_backlog (GstRTSPServer *server, gint backlog);
GST_EXPORT
gint gst_rtsp_server_get_backlog (GstRTSPServer *server);
GST_EXPORT
int gst_rtsp_server_get_bound_port (GstRTSPServer *server);
GST_EXPORT
void gst_rtsp_server_set_session_pool (GstRTSPServer *server, GstRTSPSessionPool *pool);
GST_EXPORT
GstRTSPSessionPool * gst_rtsp_server_get_session_pool (GstRTSPServer *server);
GST_EXPORT
void gst_rtsp_server_set_mount_points (GstRTSPServer *server, GstRTSPMountPoints *mounts);
GST_EXPORT
GstRTSPMountPoints * gst_rtsp_server_get_mount_points (GstRTSPServer *server);
GST_EXPORT
void gst_rtsp_server_set_auth (GstRTSPServer *server, GstRTSPAuth *auth);
GST_EXPORT
GstRTSPAuth * gst_rtsp_server_get_auth (GstRTSPServer *server);
GST_EXPORT
void gst_rtsp_server_set_thread_pool (GstRTSPServer *server, GstRTSPThreadPool *pool);
GST_EXPORT
GstRTSPThreadPool * gst_rtsp_server_get_thread_pool (GstRTSPServer *server);
GST_EXPORT
gboolean gst_rtsp_server_transfer_connection (GstRTSPServer * server, GSocket *socket,
const gchar * ip, gint port,
const gchar *initial_buffer);
GST_EXPORT
gboolean gst_rtsp_server_io_func (GSocket *socket, GIOCondition condition,
GstRTSPServer *server);
GST_EXPORT
GSocket * gst_rtsp_server_create_socket (GstRTSPServer *server,
GCancellable *cancellable,
GError **error);
GST_EXPORT
GSource * gst_rtsp_server_create_source (GstRTSPServer *server,
GCancellable * cancellable,
GError **error);
GST_EXPORT
guint gst_rtsp_server_attach (GstRTSPServer *server,
GMainContext *context);
@ -160,6 +191,7 @@ typedef GstRTSPFilterResult (*GstRTSPServerClientFilterFunc) (GstRTSPServer *se
GstRTSPClient *client,
gpointer user_data);
GST_EXPORT
GList * gst_rtsp_server_client_filter (GstRTSPServer *server,
GstRTSPServerClientFilterFunc func,
gpointer user_data);

View file

@ -61,35 +61,52 @@ struct _GstRTSPSessionMediaClass
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_rtsp_session_media_get_type (void);
GST_EXPORT
GstRTSPSessionMedia * gst_rtsp_session_media_new (const gchar *path,
GstRTSPMedia *media);
GST_EXPORT
gboolean gst_rtsp_session_media_matches (GstRTSPSessionMedia *media,
const gchar *path,
gint * matched);
GST_EXPORT
GstRTSPMedia * gst_rtsp_session_media_get_media (GstRTSPSessionMedia *media);
GST_EXPORT
GstClockTime gst_rtsp_session_media_get_base_time (GstRTSPSessionMedia *media);
/* control media */
GST_EXPORT
gboolean gst_rtsp_session_media_set_state (GstRTSPSessionMedia *media,
GstState state);
GST_EXPORT
void gst_rtsp_session_media_set_rtsp_state (GstRTSPSessionMedia *media,
GstRTSPState state);
GST_EXPORT
GstRTSPState gst_rtsp_session_media_get_rtsp_state (GstRTSPSessionMedia *media);
/* get stream transport config */
GST_EXPORT
GstRTSPStreamTransport * gst_rtsp_session_media_set_transport (GstRTSPSessionMedia *media,
GstRTSPStream *stream,
GstRTSPTransport *tr);
GST_EXPORT
GstRTSPStreamTransport * gst_rtsp_session_media_get_transport (GstRTSPSessionMedia *media,
guint idx);
GST_EXPORT
gboolean gst_rtsp_session_media_alloc_channels (GstRTSPSessionMedia *media,
GstRTSPRange *range);
GST_EXPORT
gchar * gst_rtsp_session_media_get_rtpinfo (GstRTSPSessionMedia * media);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -113,29 +113,49 @@ typedef GstRTSPFilterResult (*GstRTSPSessionPoolFilterFunc) (GstRTSPSessionPool
gpointer user_data);
GST_EXPORT
GType gst_rtsp_session_pool_get_type (void);
/* creating a session pool */
GST_EXPORT
GstRTSPSessionPool * gst_rtsp_session_pool_new (void);
/* counting sessions */
GST_EXPORT
void gst_rtsp_session_pool_set_max_sessions (GstRTSPSessionPool *pool, guint max);
GST_EXPORT
guint gst_rtsp_session_pool_get_max_sessions (GstRTSPSessionPool *pool);
GST_EXPORT
guint gst_rtsp_session_pool_get_n_sessions (GstRTSPSessionPool *pool);
/* managing sessions */
GST_EXPORT
GstRTSPSession * gst_rtsp_session_pool_create (GstRTSPSessionPool *pool);
GST_EXPORT
GstRTSPSession * gst_rtsp_session_pool_find (GstRTSPSessionPool *pool,
const gchar *sessionid);
GST_EXPORT
gboolean gst_rtsp_session_pool_remove (GstRTSPSessionPool *pool,
GstRTSPSession *sess);
/* perform session maintenance */
GST_EXPORT
GList * gst_rtsp_session_pool_filter (GstRTSPSessionPool *pool,
GstRTSPSessionPoolFilterFunc func,
gpointer user_data);
GST_EXPORT
guint gst_rtsp_session_pool_cleanup (GstRTSPSessionPool *pool);
GST_EXPORT
GSource * gst_rtsp_session_pool_create_watch (GstRTSPSessionPool *pool);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -79,36 +79,63 @@ struct _GstRTSPSessionClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_rtsp_session_get_type (void);
/* create a new session */
GST_EXPORT
GstRTSPSession * gst_rtsp_session_new (const gchar *sessionid);
GST_EXPORT
const gchar * gst_rtsp_session_get_sessionid (GstRTSPSession *session);
GST_EXPORT
gchar * gst_rtsp_session_get_header (GstRTSPSession *session);
GST_EXPORT
void gst_rtsp_session_set_timeout (GstRTSPSession *session, guint timeout);
GST_EXPORT
guint gst_rtsp_session_get_timeout (GstRTSPSession *session);
/* session timeout stuff */
GST_EXPORT
void gst_rtsp_session_touch (GstRTSPSession *session);
GST_EXPORT
void gst_rtsp_session_prevent_expire (GstRTSPSession *session);
GST_EXPORT
void gst_rtsp_session_allow_expire (GstRTSPSession *session);
GST_EXPORT
gint gst_rtsp_session_next_timeout_usec (GstRTSPSession *session, gint64 now);
GST_EXPORT
gboolean gst_rtsp_session_is_expired_usec (GstRTSPSession *session, gint64 now);
#ifndef GST_DISABLE_DEPRECATED
GST_EXPORT
gint gst_rtsp_session_next_timeout (GstRTSPSession *session, GTimeVal *now);
GST_EXPORT
gboolean gst_rtsp_session_is_expired (GstRTSPSession *session, GTimeVal *now);
#endif
/* handle media in a session */
GST_EXPORT
GstRTSPSessionMedia * gst_rtsp_session_manage_media (GstRTSPSession *sess,
const gchar *path,
GstRTSPMedia *media);
GST_EXPORT
gboolean gst_rtsp_session_release_media (GstRTSPSession *sess,
GstRTSPSessionMedia *media);
/* get media in a session */
GST_EXPORT
GstRTSPSessionMedia * gst_rtsp_session_get_media (GstRTSPSession *sess,
const gchar *path,
gint * matched);
@ -137,6 +164,7 @@ typedef GstRTSPFilterResult (*GstRTSPSessionFilterFunc) (GstRTSPSession *sess,
GstRTSPSessionMedia *media,
gpointer user_data);
GST_EXPORT
GList * gst_rtsp_session_filter (GstRTSPSession *sess,
GstRTSPSessionFilterFunc func,
gpointer user_data);

View file

@ -84,50 +84,73 @@ struct _GstRTSPStreamTransportClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_rtsp_stream_transport_get_type (void);
GST_EXPORT
GstRTSPStreamTransport * gst_rtsp_stream_transport_new (GstRTSPStream *stream,
GstRTSPTransport *tr);
GST_EXPORT
GstRTSPStream * gst_rtsp_stream_transport_get_stream (GstRTSPStreamTransport *trans);
GST_EXPORT
void gst_rtsp_stream_transport_set_transport (GstRTSPStreamTransport *trans,
GstRTSPTransport * tr);
GST_EXPORT
const GstRTSPTransport * gst_rtsp_stream_transport_get_transport (GstRTSPStreamTransport *trans);
GST_EXPORT
void gst_rtsp_stream_transport_set_url (GstRTSPStreamTransport *trans,
const GstRTSPUrl * url);
GST_EXPORT
const GstRTSPUrl * gst_rtsp_stream_transport_get_url (GstRTSPStreamTransport *trans);
GST_EXPORT
gchar * gst_rtsp_stream_transport_get_rtpinfo (GstRTSPStreamTransport *trans,
GstClockTime start_time);
GST_EXPORT
void gst_rtsp_stream_transport_set_callbacks (GstRTSPStreamTransport *trans,
GstRTSPSendFunc send_rtp,
GstRTSPSendFunc send_rtcp,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_rtsp_stream_transport_set_keepalive (GstRTSPStreamTransport *trans,
GstRTSPKeepAliveFunc keep_alive,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_rtsp_stream_transport_keep_alive (GstRTSPStreamTransport *trans);
GST_EXPORT
gboolean gst_rtsp_stream_transport_set_active (GstRTSPStreamTransport *trans,
gboolean active);
GST_EXPORT
void gst_rtsp_stream_transport_set_timed_out (GstRTSPStreamTransport *trans,
gboolean timedout);
GST_EXPORT
gboolean gst_rtsp_stream_transport_is_timed_out (GstRTSPStreamTransport *trans);
GST_EXPORT
gboolean gst_rtsp_stream_transport_send_rtp (GstRTSPStreamTransport *trans,
GstBuffer *buffer);
GST_EXPORT
gboolean gst_rtsp_stream_transport_send_rtcp (GstRTSPStreamTransport *trans,
GstBuffer *buffer);
GST_EXPORT
GstFlowReturn gst_rtsp_stream_transport_recv_data (GstRTSPStreamTransport *trans,
guint channel, GstBuffer *buffer);

View file

@ -65,121 +65,211 @@ struct _GstRTSPStreamClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_rtsp_stream_get_type (void);
GST_EXPORT
GstRTSPStream * gst_rtsp_stream_new (guint idx, GstElement *payloader,
GstPad *pad);
GST_EXPORT
guint gst_rtsp_stream_get_index (GstRTSPStream *stream);
GST_EXPORT
guint gst_rtsp_stream_get_pt (GstRTSPStream *stream);
GST_EXPORT
GstPad * gst_rtsp_stream_get_srcpad (GstRTSPStream *stream);
GST_EXPORT
GstPad * gst_rtsp_stream_get_sinkpad (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_control (GstRTSPStream *stream, const gchar *control);
GST_EXPORT
gchar * gst_rtsp_stream_get_control (GstRTSPStream *stream);
GST_EXPORT
gboolean gst_rtsp_stream_has_control (GstRTSPStream *stream, const gchar *control);
GST_EXPORT
void gst_rtsp_stream_set_mtu (GstRTSPStream *stream, guint mtu);
GST_EXPORT
guint gst_rtsp_stream_get_mtu (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_dscp_qos (GstRTSPStream *stream, gint dscp_qos);
GST_EXPORT
gint gst_rtsp_stream_get_dscp_qos (GstRTSPStream *stream);
GST_EXPORT
gboolean gst_rtsp_stream_is_transport_supported (GstRTSPStream *stream,
GstRTSPTransport *transport);
GST_EXPORT
void gst_rtsp_stream_set_profiles (GstRTSPStream *stream, GstRTSPProfile profiles);
GST_EXPORT
GstRTSPProfile gst_rtsp_stream_get_profiles (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_protocols (GstRTSPStream *stream, GstRTSPLowerTrans protocols);
GST_EXPORT
GstRTSPLowerTrans gst_rtsp_stream_get_protocols (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_address_pool (GstRTSPStream *stream, GstRTSPAddressPool *pool);
GST_EXPORT
GstRTSPAddressPool *
gst_rtsp_stream_get_address_pool (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_multicast_iface (GstRTSPStream *stream, const gchar * multicast_iface);
GST_EXPORT
gchar * gst_rtsp_stream_get_multicast_iface (GstRTSPStream *stream);
GST_EXPORT
GstRTSPAddress * gst_rtsp_stream_reserve_address (GstRTSPStream *stream,
const gchar * address,
guint port,
guint n_ports,
guint ttl);
GST_EXPORT
gboolean gst_rtsp_stream_join_bin (GstRTSPStream *stream,
GstBin *bin, GstElement *rtpbin,
GstState state);
GST_EXPORT
gboolean gst_rtsp_stream_leave_bin (GstRTSPStream *stream,
GstBin *bin, GstElement *rtpbin);
GST_EXPORT
GstBin * gst_rtsp_stream_get_joined_bin (GstRTSPStream *stream);
GST_EXPORT
gboolean gst_rtsp_stream_set_blocked (GstRTSPStream * stream,
gboolean blocked);
GST_EXPORT
gboolean gst_rtsp_stream_is_blocking (GstRTSPStream * stream);
GST_EXPORT
void gst_rtsp_stream_set_client_side (GstRTSPStream *stream, gboolean client_side);
GST_EXPORT
gboolean gst_rtsp_stream_is_client_side (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_get_server_port (GstRTSPStream *stream,
GstRTSPRange *server_port,
GSocketFamily family);
GST_EXPORT
GstRTSPAddress * gst_rtsp_stream_get_multicast_address (GstRTSPStream *stream,
GSocketFamily family);
GST_EXPORT
GObject * gst_rtsp_stream_get_rtpsession (GstRTSPStream *stream);
GST_EXPORT
GstElement * gst_rtsp_stream_get_srtp_encoder (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_get_ssrc (GstRTSPStream *stream,
guint *ssrc);
GST_EXPORT
gboolean gst_rtsp_stream_get_rtpinfo (GstRTSPStream *stream,
guint *rtptime, guint *seq,
guint *clock_rate,
GstClockTime *running_time);
GST_EXPORT
GstCaps * gst_rtsp_stream_get_caps (GstRTSPStream *stream);
GST_EXPORT
GstFlowReturn gst_rtsp_stream_recv_rtp (GstRTSPStream *stream,
GstBuffer *buffer);
GST_EXPORT
GstFlowReturn gst_rtsp_stream_recv_rtcp (GstRTSPStream *stream,
GstBuffer *buffer);
GST_EXPORT
gboolean gst_rtsp_stream_add_transport (GstRTSPStream *stream,
GstRTSPStreamTransport *trans);
GST_EXPORT
gboolean gst_rtsp_stream_remove_transport (GstRTSPStream *stream,
GstRTSPStreamTransport *trans);
GST_EXPORT
GSocket * gst_rtsp_stream_get_rtp_socket (GstRTSPStream *stream,
GSocketFamily family);
GST_EXPORT
GSocket * gst_rtsp_stream_get_rtcp_socket (GstRTSPStream *stream,
GSocketFamily family);
GST_EXPORT
gboolean gst_rtsp_stream_update_crypto (GstRTSPStream * stream,
guint ssrc, GstCaps * crypto);
GST_EXPORT
gboolean gst_rtsp_stream_query_position (GstRTSPStream * stream,
gint64 * position);
GST_EXPORT
gboolean gst_rtsp_stream_query_stop (GstRTSPStream * stream,
gint64 * stop);
GST_EXPORT
void gst_rtsp_stream_set_seqnum_offset (GstRTSPStream *stream, guint16 seqnum);
GST_EXPORT
guint16 gst_rtsp_stream_get_current_seqnum (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_retransmission_time (GstRTSPStream *stream, GstClockTime time);
GST_EXPORT
GstClockTime gst_rtsp_stream_get_retransmission_time (GstRTSPStream *stream);
GST_EXPORT
guint gst_rtsp_stream_get_retransmission_pt (GstRTSPStream * stream);
GST_EXPORT
void gst_rtsp_stream_set_retransmission_pt (GstRTSPStream * stream,
guint rtx_pt);
GST_EXPORT
void gst_rtsp_stream_set_buffer_size (GstRTSPStream *stream, guint size);
GST_EXPORT
guint gst_rtsp_stream_get_buffer_size (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_pt_map (GstRTSPStream * stream, guint pt, GstCaps * caps);
GST_EXPORT
GstElement * gst_rtsp_stream_request_aux_sender (GstRTSPStream * stream, guint sessid);
GST_EXPORT
gboolean gst_rtsp_stream_allocate_udp_sockets (GstRTSPStream * stream, GSocketFamily family,
GstRTSPTransport *transport, gboolean use_client_setttings);
GST_EXPORT
void gst_rtsp_stream_set_publish_clock_mode (GstRTSPStream * stream, GstRTSPPublishClockMode mode);
GST_EXPORT
GstRTSPPublishClockMode gst_rtsp_stream_get_publish_clock_mode (GstRTSPStream * stream);
/**
@ -206,6 +296,7 @@ typedef GstRTSPFilterResult (*GstRTSPStreamTransportFilterFunc) (GstRTSPStream *
GstRTSPStreamTransport *trans,
gpointer user_data);
GST_EXPORT
GList * gst_rtsp_stream_transport_filter (GstRTSPStream *stream,
GstRTSPStreamTransportFilterFunc func,
gpointer user_data);

View file

@ -40,6 +40,7 @@ G_BEGIN_DECLS
#define GST_RTSP_THREAD_POOL_CAST(obj) ((GstRTSPThreadPool*)(obj))
#define GST_RTSP_THREAD_POOL_CLASS_CAST(klass) ((GstRTSPThreadPoolClass*)(klass))
GST_EXPORT
GType gst_rtsp_thread_get_type (void);
#define GST_TYPE_RTSP_THREAD (gst_rtsp_thread_get_type ())
@ -77,9 +78,13 @@ struct _GstRTSPThread {
GMainLoop *loop;
};
GST_EXPORT
GstRTSPThread * gst_rtsp_thread_new (GstRTSPThreadType type);
GST_EXPORT
gboolean gst_rtsp_thread_reuse (GstRTSPThread * thread);
GST_EXPORT
void gst_rtsp_thread_stop (GstRTSPThread * thread);
/**
@ -154,16 +159,24 @@ struct _GstRTSPThreadPoolClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_rtsp_thread_pool_get_type (void);
GST_EXPORT
GstRTSPThreadPool * gst_rtsp_thread_pool_new (void);
GST_EXPORT
void gst_rtsp_thread_pool_set_max_threads (GstRTSPThreadPool * pool, gint max_threads);
GST_EXPORT
gint gst_rtsp_thread_pool_get_max_threads (GstRTSPThreadPool * pool);
GST_EXPORT
GstRTSPThread * gst_rtsp_thread_pool_get_thread (GstRTSPThreadPool *pool,
GstRTSPThreadType type,
GstRTSPContext *ctx);
GST_EXPORT
void gst_rtsp_thread_pool_cleanup (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstRTSPThread, gst_rtsp_thread_unref)

View file

@ -28,6 +28,7 @@ typedef struct _GstRTSPToken GstRTSPToken;
G_BEGIN_DECLS
GST_EXPORT
GType gst_rtsp_token_get_type(void);
#define GST_TYPE_RTSP_TOKEN (gst_rtsp_token_get_type())
@ -73,15 +74,26 @@ gst_rtsp_token_unref (GstRTSPToken * token)
}
GST_EXPORT
GstRTSPToken * gst_rtsp_token_new_empty (void);
GST_EXPORT
GstRTSPToken * gst_rtsp_token_new (const gchar * firstfield, ...);
GST_EXPORT
GstRTSPToken * gst_rtsp_token_new_valist (const gchar * firstfield, va_list var_args);
GST_EXPORT
const GstStructure * gst_rtsp_token_get_structure (GstRTSPToken *token);
GST_EXPORT
GstStructure * gst_rtsp_token_writable_structure (GstRTSPToken *token);
GST_EXPORT
const gchar * gst_rtsp_token_get_string (GstRTSPToken *token,
const gchar *field);
GST_EXPORT
gboolean gst_rtsp_token_is_allowed (GstRTSPToken *token,
const gchar *field);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC