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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -26,6 +26,7 @@ typedef struct _GstRTSPPermissions GstRTSPPermissions;
G_BEGIN_DECLS G_BEGIN_DECLS
GST_EXPORT
GType gst_rtsp_permissions_get_type (void); GType gst_rtsp_permissions_get_type (void);
#define GST_TYPE_RTSP_PERMISSIONS (gst_rtsp_permissions_get_type ()) #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); GstRTSPPermissions * gst_rtsp_permissions_new (void);
GST_EXPORT
void gst_rtsp_permissions_add_role (GstRTSPPermissions *permissions, void gst_rtsp_permissions_add_role (GstRTSPPermissions *permissions,
const gchar *role, const gchar *role,
const gchar *fieldname, ...); const gchar *fieldname, ...);
GST_EXPORT
void gst_rtsp_permissions_add_role_valist (GstRTSPPermissions *permissions, void gst_rtsp_permissions_add_role_valist (GstRTSPPermissions *permissions,
const gchar *role, const gchar *role,
const gchar *fieldname, const gchar *fieldname,
va_list var_args); va_list var_args);
GST_EXPORT
void gst_rtsp_permissions_remove_role (GstRTSPPermissions *permissions, void gst_rtsp_permissions_remove_role (GstRTSPPermissions *permissions,
const gchar *role); const gchar *role);
GST_EXPORT
const GstStructure * gst_rtsp_permissions_get_role (GstRTSPPermissions *permissions, const GstStructure * gst_rtsp_permissions_get_role (GstRTSPPermissions *permissions,
const gchar *role); const gchar *role);
GST_EXPORT
gboolean gst_rtsp_permissions_is_allowed (GstRTSPPermissions *permissions, gboolean gst_rtsp_permissions_is_allowed (GstRTSPPermissions *permissions,
const gchar *role, const gchar *permission); const gchar *role, const gchar *permission);

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -65,121 +65,211 @@ struct _GstRTSPStreamClass {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT
GType gst_rtsp_stream_get_type (void); GType gst_rtsp_stream_get_type (void);
GST_EXPORT
GstRTSPStream * gst_rtsp_stream_new (guint idx, GstElement *payloader, GstRTSPStream * gst_rtsp_stream_new (guint idx, GstElement *payloader,
GstPad *pad); GstPad *pad);
GST_EXPORT
guint gst_rtsp_stream_get_index (GstRTSPStream *stream); guint gst_rtsp_stream_get_index (GstRTSPStream *stream);
GST_EXPORT
guint gst_rtsp_stream_get_pt (GstRTSPStream *stream); guint gst_rtsp_stream_get_pt (GstRTSPStream *stream);
GST_EXPORT
GstPad * gst_rtsp_stream_get_srcpad (GstRTSPStream *stream); GstPad * gst_rtsp_stream_get_srcpad (GstRTSPStream *stream);
GST_EXPORT
GstPad * gst_rtsp_stream_get_sinkpad (GstRTSPStream *stream); GstPad * gst_rtsp_stream_get_sinkpad (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_control (GstRTSPStream *stream, const gchar *control); void gst_rtsp_stream_set_control (GstRTSPStream *stream, const gchar *control);
GST_EXPORT
gchar * gst_rtsp_stream_get_control (GstRTSPStream *stream); gchar * gst_rtsp_stream_get_control (GstRTSPStream *stream);
GST_EXPORT
gboolean gst_rtsp_stream_has_control (GstRTSPStream *stream, const gchar *control); gboolean gst_rtsp_stream_has_control (GstRTSPStream *stream, const gchar *control);
GST_EXPORT
void gst_rtsp_stream_set_mtu (GstRTSPStream *stream, guint mtu); void gst_rtsp_stream_set_mtu (GstRTSPStream *stream, guint mtu);
GST_EXPORT
guint gst_rtsp_stream_get_mtu (GstRTSPStream *stream); guint gst_rtsp_stream_get_mtu (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_dscp_qos (GstRTSPStream *stream, gint dscp_qos); void gst_rtsp_stream_set_dscp_qos (GstRTSPStream *stream, gint dscp_qos);
GST_EXPORT
gint gst_rtsp_stream_get_dscp_qos (GstRTSPStream *stream); gint gst_rtsp_stream_get_dscp_qos (GstRTSPStream *stream);
GST_EXPORT
gboolean gst_rtsp_stream_is_transport_supported (GstRTSPStream *stream, gboolean gst_rtsp_stream_is_transport_supported (GstRTSPStream *stream,
GstRTSPTransport *transport); GstRTSPTransport *transport);
GST_EXPORT
void gst_rtsp_stream_set_profiles (GstRTSPStream *stream, GstRTSPProfile profiles); void gst_rtsp_stream_set_profiles (GstRTSPStream *stream, GstRTSPProfile profiles);
GST_EXPORT
GstRTSPProfile gst_rtsp_stream_get_profiles (GstRTSPStream *stream); GstRTSPProfile gst_rtsp_stream_get_profiles (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_protocols (GstRTSPStream *stream, GstRTSPLowerTrans protocols); void gst_rtsp_stream_set_protocols (GstRTSPStream *stream, GstRTSPLowerTrans protocols);
GST_EXPORT
GstRTSPLowerTrans gst_rtsp_stream_get_protocols (GstRTSPStream *stream); GstRTSPLowerTrans gst_rtsp_stream_get_protocols (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_address_pool (GstRTSPStream *stream, GstRTSPAddressPool *pool); void gst_rtsp_stream_set_address_pool (GstRTSPStream *stream, GstRTSPAddressPool *pool);
GST_EXPORT
GstRTSPAddressPool * GstRTSPAddressPool *
gst_rtsp_stream_get_address_pool (GstRTSPStream *stream); gst_rtsp_stream_get_address_pool (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_multicast_iface (GstRTSPStream *stream, const gchar * multicast_iface); void gst_rtsp_stream_set_multicast_iface (GstRTSPStream *stream, const gchar * multicast_iface);
GST_EXPORT
gchar * gst_rtsp_stream_get_multicast_iface (GstRTSPStream *stream); gchar * gst_rtsp_stream_get_multicast_iface (GstRTSPStream *stream);
GST_EXPORT
GstRTSPAddress * gst_rtsp_stream_reserve_address (GstRTSPStream *stream, GstRTSPAddress * gst_rtsp_stream_reserve_address (GstRTSPStream *stream,
const gchar * address, const gchar * address,
guint port, guint port,
guint n_ports, guint n_ports,
guint ttl); guint ttl);
GST_EXPORT
gboolean gst_rtsp_stream_join_bin (GstRTSPStream *stream, gboolean gst_rtsp_stream_join_bin (GstRTSPStream *stream,
GstBin *bin, GstElement *rtpbin, GstBin *bin, GstElement *rtpbin,
GstState state); GstState state);
GST_EXPORT
gboolean gst_rtsp_stream_leave_bin (GstRTSPStream *stream, gboolean gst_rtsp_stream_leave_bin (GstRTSPStream *stream,
GstBin *bin, GstElement *rtpbin); GstBin *bin, GstElement *rtpbin);
GST_EXPORT
GstBin * gst_rtsp_stream_get_joined_bin (GstRTSPStream *stream); GstBin * gst_rtsp_stream_get_joined_bin (GstRTSPStream *stream);
GST_EXPORT
gboolean gst_rtsp_stream_set_blocked (GstRTSPStream * stream, gboolean gst_rtsp_stream_set_blocked (GstRTSPStream * stream,
gboolean blocked); gboolean blocked);
GST_EXPORT
gboolean gst_rtsp_stream_is_blocking (GstRTSPStream * stream); gboolean gst_rtsp_stream_is_blocking (GstRTSPStream * stream);
GST_EXPORT
void gst_rtsp_stream_set_client_side (GstRTSPStream *stream, gboolean client_side); void gst_rtsp_stream_set_client_side (GstRTSPStream *stream, gboolean client_side);
GST_EXPORT
gboolean gst_rtsp_stream_is_client_side (GstRTSPStream *stream); gboolean gst_rtsp_stream_is_client_side (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_get_server_port (GstRTSPStream *stream, void gst_rtsp_stream_get_server_port (GstRTSPStream *stream,
GstRTSPRange *server_port, GstRTSPRange *server_port,
GSocketFamily family); GSocketFamily family);
GST_EXPORT
GstRTSPAddress * gst_rtsp_stream_get_multicast_address (GstRTSPStream *stream, GstRTSPAddress * gst_rtsp_stream_get_multicast_address (GstRTSPStream *stream,
GSocketFamily family); GSocketFamily family);
GST_EXPORT
GObject * gst_rtsp_stream_get_rtpsession (GstRTSPStream *stream); GObject * gst_rtsp_stream_get_rtpsession (GstRTSPStream *stream);
GST_EXPORT
GstElement * gst_rtsp_stream_get_srtp_encoder (GstRTSPStream *stream); GstElement * gst_rtsp_stream_get_srtp_encoder (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_get_ssrc (GstRTSPStream *stream, void gst_rtsp_stream_get_ssrc (GstRTSPStream *stream,
guint *ssrc); guint *ssrc);
GST_EXPORT
gboolean gst_rtsp_stream_get_rtpinfo (GstRTSPStream *stream, gboolean gst_rtsp_stream_get_rtpinfo (GstRTSPStream *stream,
guint *rtptime, guint *seq, guint *rtptime, guint *seq,
guint *clock_rate, guint *clock_rate,
GstClockTime *running_time); GstClockTime *running_time);
GST_EXPORT
GstCaps * gst_rtsp_stream_get_caps (GstRTSPStream *stream); GstCaps * gst_rtsp_stream_get_caps (GstRTSPStream *stream);
GST_EXPORT
GstFlowReturn gst_rtsp_stream_recv_rtp (GstRTSPStream *stream, GstFlowReturn gst_rtsp_stream_recv_rtp (GstRTSPStream *stream,
GstBuffer *buffer); GstBuffer *buffer);
GST_EXPORT
GstFlowReturn gst_rtsp_stream_recv_rtcp (GstRTSPStream *stream, GstFlowReturn gst_rtsp_stream_recv_rtcp (GstRTSPStream *stream,
GstBuffer *buffer); GstBuffer *buffer);
GST_EXPORT
gboolean gst_rtsp_stream_add_transport (GstRTSPStream *stream, gboolean gst_rtsp_stream_add_transport (GstRTSPStream *stream,
GstRTSPStreamTransport *trans); GstRTSPStreamTransport *trans);
GST_EXPORT
gboolean gst_rtsp_stream_remove_transport (GstRTSPStream *stream, gboolean gst_rtsp_stream_remove_transport (GstRTSPStream *stream,
GstRTSPStreamTransport *trans); GstRTSPStreamTransport *trans);
GST_EXPORT
GSocket * gst_rtsp_stream_get_rtp_socket (GstRTSPStream *stream, GSocket * gst_rtsp_stream_get_rtp_socket (GstRTSPStream *stream,
GSocketFamily family); GSocketFamily family);
GST_EXPORT
GSocket * gst_rtsp_stream_get_rtcp_socket (GstRTSPStream *stream, GSocket * gst_rtsp_stream_get_rtcp_socket (GstRTSPStream *stream,
GSocketFamily family); GSocketFamily family);
GST_EXPORT
gboolean gst_rtsp_stream_update_crypto (GstRTSPStream * stream, gboolean gst_rtsp_stream_update_crypto (GstRTSPStream * stream,
guint ssrc, GstCaps * crypto); guint ssrc, GstCaps * crypto);
GST_EXPORT
gboolean gst_rtsp_stream_query_position (GstRTSPStream * stream, gboolean gst_rtsp_stream_query_position (GstRTSPStream * stream,
gint64 * position); gint64 * position);
GST_EXPORT
gboolean gst_rtsp_stream_query_stop (GstRTSPStream * stream, gboolean gst_rtsp_stream_query_stop (GstRTSPStream * stream,
gint64 * stop); gint64 * stop);
GST_EXPORT
void gst_rtsp_stream_set_seqnum_offset (GstRTSPStream *stream, guint16 seqnum); void gst_rtsp_stream_set_seqnum_offset (GstRTSPStream *stream, guint16 seqnum);
GST_EXPORT
guint16 gst_rtsp_stream_get_current_seqnum (GstRTSPStream *stream); guint16 gst_rtsp_stream_get_current_seqnum (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_retransmission_time (GstRTSPStream *stream, GstClockTime time); void gst_rtsp_stream_set_retransmission_time (GstRTSPStream *stream, GstClockTime time);
GST_EXPORT
GstClockTime gst_rtsp_stream_get_retransmission_time (GstRTSPStream *stream); GstClockTime gst_rtsp_stream_get_retransmission_time (GstRTSPStream *stream);
GST_EXPORT
guint gst_rtsp_stream_get_retransmission_pt (GstRTSPStream * stream); guint gst_rtsp_stream_get_retransmission_pt (GstRTSPStream * stream);
GST_EXPORT
void gst_rtsp_stream_set_retransmission_pt (GstRTSPStream * stream, void gst_rtsp_stream_set_retransmission_pt (GstRTSPStream * stream,
guint rtx_pt); guint rtx_pt);
GST_EXPORT
void gst_rtsp_stream_set_buffer_size (GstRTSPStream *stream, guint size); void gst_rtsp_stream_set_buffer_size (GstRTSPStream *stream, guint size);
GST_EXPORT
guint gst_rtsp_stream_get_buffer_size (GstRTSPStream *stream); guint gst_rtsp_stream_get_buffer_size (GstRTSPStream *stream);
GST_EXPORT
void gst_rtsp_stream_set_pt_map (GstRTSPStream * stream, guint pt, GstCaps * caps); 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); GstElement * gst_rtsp_stream_request_aux_sender (GstRTSPStream * stream, guint sessid);
GST_EXPORT
gboolean gst_rtsp_stream_allocate_udp_sockets (GstRTSPStream * stream, GSocketFamily family, gboolean gst_rtsp_stream_allocate_udp_sockets (GstRTSPStream * stream, GSocketFamily family,
GstRTSPTransport *transport, gboolean use_client_setttings); GstRTSPTransport *transport, gboolean use_client_setttings);
GST_EXPORT
void gst_rtsp_stream_set_publish_clock_mode (GstRTSPStream * stream, GstRTSPPublishClockMode mode); void gst_rtsp_stream_set_publish_clock_mode (GstRTSPStream * stream, GstRTSPPublishClockMode mode);
GST_EXPORT
GstRTSPPublishClockMode gst_rtsp_stream_get_publish_clock_mode (GstRTSPStream * stream); GstRTSPPublishClockMode gst_rtsp_stream_get_publish_clock_mode (GstRTSPStream * stream);
/** /**
@ -206,6 +296,7 @@ typedef GstRTSPFilterResult (*GstRTSPStreamTransportFilterFunc) (GstRTSPStream *
GstRTSPStreamTransport *trans, GstRTSPStreamTransport *trans,
gpointer user_data); gpointer user_data);
GST_EXPORT
GList * gst_rtsp_stream_transport_filter (GstRTSPStream *stream, GList * gst_rtsp_stream_transport_filter (GstRTSPStream *stream,
GstRTSPStreamTransportFilterFunc func, GstRTSPStreamTransportFilterFunc func,
gpointer user_data); 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_CAST(obj) ((GstRTSPThreadPool*)(obj))
#define GST_RTSP_THREAD_POOL_CLASS_CAST(klass) ((GstRTSPThreadPoolClass*)(klass)) #define GST_RTSP_THREAD_POOL_CLASS_CAST(klass) ((GstRTSPThreadPoolClass*)(klass))
GST_EXPORT
GType gst_rtsp_thread_get_type (void); GType gst_rtsp_thread_get_type (void);
#define GST_TYPE_RTSP_THREAD (gst_rtsp_thread_get_type ()) #define GST_TYPE_RTSP_THREAD (gst_rtsp_thread_get_type ())
@ -77,9 +78,13 @@ struct _GstRTSPThread {
GMainLoop *loop; GMainLoop *loop;
}; };
GST_EXPORT
GstRTSPThread * gst_rtsp_thread_new (GstRTSPThreadType type); GstRTSPThread * gst_rtsp_thread_new (GstRTSPThreadType type);
GST_EXPORT
gboolean gst_rtsp_thread_reuse (GstRTSPThread * thread); gboolean gst_rtsp_thread_reuse (GstRTSPThread * thread);
GST_EXPORT
void gst_rtsp_thread_stop (GstRTSPThread * thread); void gst_rtsp_thread_stop (GstRTSPThread * thread);
/** /**
@ -154,16 +159,24 @@ struct _GstRTSPThreadPoolClass {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT
GType gst_rtsp_thread_pool_get_type (void); GType gst_rtsp_thread_pool_get_type (void);
GST_EXPORT
GstRTSPThreadPool * gst_rtsp_thread_pool_new (void); GstRTSPThreadPool * gst_rtsp_thread_pool_new (void);
GST_EXPORT
void gst_rtsp_thread_pool_set_max_threads (GstRTSPThreadPool * pool, gint max_threads); 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); gint gst_rtsp_thread_pool_get_max_threads (GstRTSPThreadPool * pool);
GST_EXPORT
GstRTSPThread * gst_rtsp_thread_pool_get_thread (GstRTSPThreadPool *pool, GstRTSPThread * gst_rtsp_thread_pool_get_thread (GstRTSPThreadPool *pool,
GstRTSPThreadType type, GstRTSPThreadType type,
GstRTSPContext *ctx); GstRTSPContext *ctx);
GST_EXPORT
void gst_rtsp_thread_pool_cleanup (void); void gst_rtsp_thread_pool_cleanup (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstRTSPThread, gst_rtsp_thread_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstRTSPThread, gst_rtsp_thread_unref)

View file

@ -28,6 +28,7 @@ typedef struct _GstRTSPToken GstRTSPToken;
G_BEGIN_DECLS G_BEGIN_DECLS
GST_EXPORT
GType gst_rtsp_token_get_type(void); GType gst_rtsp_token_get_type(void);
#define GST_TYPE_RTSP_TOKEN (gst_rtsp_token_get_type()) #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); GstRTSPToken * gst_rtsp_token_new_empty (void);
GST_EXPORT
GstRTSPToken * gst_rtsp_token_new (const gchar * firstfield, ...); GstRTSPToken * gst_rtsp_token_new (const gchar * firstfield, ...);
GST_EXPORT
GstRTSPToken * gst_rtsp_token_new_valist (const gchar * firstfield, va_list var_args); GstRTSPToken * gst_rtsp_token_new_valist (const gchar * firstfield, va_list var_args);
GST_EXPORT
const GstStructure * gst_rtsp_token_get_structure (GstRTSPToken *token); const GstStructure * gst_rtsp_token_get_structure (GstRTSPToken *token);
GST_EXPORT
GstStructure * gst_rtsp_token_writable_structure (GstRTSPToken *token); GstStructure * gst_rtsp_token_writable_structure (GstRTSPToken *token);
GST_EXPORT
const gchar * gst_rtsp_token_get_string (GstRTSPToken *token, const gchar * gst_rtsp_token_get_string (GstRTSPToken *token,
const gchar *field); const gchar *field);
GST_EXPORT
gboolean gst_rtsp_token_is_allowed (GstRTSPToken *token, gboolean gst_rtsp_token_is_allowed (GstRTSPToken *token,
const gchar *field); const gchar *field);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC