From: Tim-Philipp Müller Date: Thu, 18 May 2017 09:35:18 +0000 (+0100) Subject: Mark symbols explicitly for export with GST_EXPORT X-Git-Tag: 1.19.3~495^2~414 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b344248630bebbcf5551bd2599cf39e665aa2d96;p=platform%2Fupstream%2Fgstreamer.git Mark symbols explicitly for export with GST_EXPORT --- diff --git a/gst/rtsp-server/rtsp-address-pool.h b/gst/rtsp-server/rtsp-address-pool.h index 654d106..45467be 100644 --- a/gst/rtsp-server/rtsp-address-pool.h +++ b/gst/rtsp-server/rtsp-address-pool.h @@ -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 diff --git a/gst/rtsp-server/rtsp-auth.h b/gst/rtsp-server/rtsp-auth.h index dc65bc7..fb243ac 100644 --- a/gst/rtsp-server/rtsp-auth.h +++ b/gst/rtsp-server/rtsp-auth.h @@ -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 */ diff --git a/gst/rtsp-server/rtsp-client.h b/gst/rtsp-server/rtsp-client.h index 3daef07..edfce11 100644 --- a/gst/rtsp-server/rtsp-client.h +++ b/gst/rtsp-server/rtsp-client.h @@ -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); diff --git a/gst/rtsp-server/rtsp-context.h b/gst/rtsp-server/rtsp-context.h index d21c31a..32d1ac0 100644 --- a/gst/rtsp-server/rtsp-context.h +++ b/gst/rtsp-server/rtsp-context.h @@ -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); diff --git a/gst/rtsp-server/rtsp-media-factory-uri.h b/gst/rtsp-server/rtsp-media-factory-uri.h index d6f6807..f3d4a9e 100644 --- a/gst/rtsp-server/rtsp-media-factory-uri.h +++ b/gst/rtsp-server/rtsp-media-factory-uri.h @@ -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 diff --git a/gst/rtsp-server/rtsp-media-factory.h b/gst/rtsp-server/rtsp-media-factory.h index 2a60997..57c8031 100644 --- a/gst/rtsp-server/rtsp-media-factory.h +++ b/gst/rtsp-server/rtsp-media-factory.h @@ -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); diff --git a/gst/rtsp-server/rtsp-media.h b/gst/rtsp-server/rtsp-media.h index d004b5e..9f95e5b 100644 --- a/gst/rtsp-server/rtsp-media.h +++ b/gst/rtsp-server/rtsp-media.h @@ -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); diff --git a/gst/rtsp-server/rtsp-mount-points.h b/gst/rtsp-server/rtsp-mount-points.h index bf89b0b..9630bee 100644 --- a/gst/rtsp-server/rtsp-mount-points.h +++ b/gst/rtsp-server/rtsp-mount-points.h @@ -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); diff --git a/gst/rtsp-server/rtsp-params.h b/gst/rtsp-server/rtsp-params.h index 563757d..4b5c734 100644 --- a/gst/rtsp-server/rtsp-params.h +++ b/gst/rtsp-server/rtsp-params.h @@ -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 diff --git a/gst/rtsp-server/rtsp-permissions.h b/gst/rtsp-server/rtsp-permissions.h index 1cebb90..822285c 100644 --- a/gst/rtsp-server/rtsp-permissions.h +++ b/gst/rtsp-server/rtsp-permissions.h @@ -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); diff --git a/gst/rtsp-server/rtsp-sdp.h b/gst/rtsp-server/rtsp-sdp.h index b56eb82..50cafe8 100644 --- a/gst/rtsp-server/rtsp-sdp.h +++ b/gst/rtsp-server/rtsp-sdp.h @@ -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 diff --git a/gst/rtsp-server/rtsp-server.h b/gst/rtsp-server/rtsp-server.h index efb18e4..a928cf59 100644 --- a/gst/rtsp-server/rtsp-server.h +++ b/gst/rtsp-server/rtsp-server.h @@ -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); diff --git a/gst/rtsp-server/rtsp-session-media.h b/gst/rtsp-server/rtsp-session-media.h index 3f7208c..612173b 100644 --- a/gst/rtsp-server/rtsp-session-media.h +++ b/gst/rtsp-server/rtsp-session-media.h @@ -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 diff --git a/gst/rtsp-server/rtsp-session-pool.h b/gst/rtsp-server/rtsp-session-pool.h index dd833ae..2680004 100644 --- a/gst/rtsp-server/rtsp-session-pool.h +++ b/gst/rtsp-server/rtsp-session-pool.h @@ -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 diff --git a/gst/rtsp-server/rtsp-session.h b/gst/rtsp-server/rtsp-session.h index 9a438fb..ed97b76 100644 --- a/gst/rtsp-server/rtsp-session.h +++ b/gst/rtsp-server/rtsp-session.h @@ -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); diff --git a/gst/rtsp-server/rtsp-stream-transport.h b/gst/rtsp-server/rtsp-stream-transport.h index 8e2d366..11a3395 100644 --- a/gst/rtsp-server/rtsp-stream-transport.h +++ b/gst/rtsp-server/rtsp-stream-transport.h @@ -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); diff --git a/gst/rtsp-server/rtsp-stream.h b/gst/rtsp-server/rtsp-stream.h index 9ef887a..a934ab5 100644 --- a/gst/rtsp-server/rtsp-stream.h +++ b/gst/rtsp-server/rtsp-stream.h @@ -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); diff --git a/gst/rtsp-server/rtsp-thread-pool.h b/gst/rtsp-server/rtsp-thread-pool.h index 2db59c9..87ed73b 100644 --- a/gst/rtsp-server/rtsp-thread-pool.h +++ b/gst/rtsp-server/rtsp-thread-pool.h @@ -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) diff --git a/gst/rtsp-server/rtsp-token.h b/gst/rtsp-server/rtsp-token.h index 1d2a555..34b4d50 100644 --- a/gst/rtsp-server/rtsp-token.h +++ b/gst/rtsp-server/rtsp-token.h @@ -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