Updated vala bindings

This commit is contained in:
Sebastian Pölsterl 2009-04-17 21:13:07 +02:00 committed by Wim Taymans
parent 3f1f38f479
commit d4f26b411f
3 changed files with 403 additions and 87 deletions

View file

@ -4,12 +4,13 @@
namespace Gst {
[CCode (cheader_filename = "gst/rtsp-server/rtsp-client.h")]
public class RTSPClient : GLib.Object {
public void* address;
public weak Gst.RTSPConnection connection;
public weak Gst.RTSPMediaFactory factory;
public weak Gst.RTSPMediaMapping mapping;
public weak Gst.RTSPSessionPool pool;
public weak GLib.Thread thread;
public weak Gst.RTSPMedia media;
public weak GLib.List sessions;
public weak GLib.List streams;
public weak Gst.RTSPUrl uri;
public weak Gst.RTSPWatch watch;
public uint watchid;
public bool accept (GLib.IOChannel channel);
public Gst.RTSPMediaMapping get_media_mapping ();
public Gst.RTSPSessionPool get_session_pool ();
@ -17,18 +18,56 @@ namespace Gst {
public RTSPClient ();
public void set_media_mapping (Gst.RTSPMediaMapping mapping);
public void set_session_pool (Gst.RTSPSessionPool pool);
public Gst.RTSPMediaMapping media_mapping { get; set; }
public Gst.RTSPSessionPool session_pool { get; set; }
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-media.h")]
public class RTSPMedia : GLib.Object {
public int active;
public bool buffering;
public weak Gst.Element element;
public uint id;
public bool is_live;
public weak Gst.Element pipeline;
public bool prepared;
public weak Gst.RTSPTimeRange range;
public bool reused;
public weak Gst.Element rtpbin;
public weak GLib.TimeoutSource source;
public weak GLib.Array streams;
public Gst.State target_state;
public unowned Gst.RTSPMediaStream get_stream (uint idx);
[NoWrapper]
public virtual bool handle_message (Gst.Message message);
public bool is_prepared ();
public bool is_reusable ();
public bool is_shared ();
public uint n_streams ();
[CCode (has_construct_function = false)]
public RTSPMedia ();
public bool prepare ();
public bool seek (Gst.RTSPTimeRange range);
public void set_reusable (bool reusable);
public void set_shared (bool shared);
public bool set_state (Gst.State state, GLib.Array trans);
public bool unprepare ();
[NoAccessorMethod]
public bool reusable { get; set; }
[NoAccessorMethod]
public bool shared { get; set; }
public virtual signal void unprepared ();
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-media-factory.h")]
public class RTSPMediaFactory : GLib.Object {
public weak GLib.Mutex @lock;
public weak GLib.HashTable medias;
public weak GLib.Mutex medias_lock;
[NoWrapper]
public virtual void configure (Gst.RTSPMedia media);
public virtual Gst.RTSPMedia? @construct (Gst.RTSPUrl url);
[NoWrapper]
public virtual string gen_key (Gst.RTSPUrl url);
[NoWrapper]
public virtual Gst.Element? get_element (Gst.RTSPUrl url);
public string get_launch ();
public bool is_shared ();
@ -37,6 +76,8 @@ namespace Gst {
public void set_launch (string launch);
public void set_shared (bool shared);
public string launch { get; set; }
[NoAccessorMethod]
public bool shared { get; set; }
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-media-mapping.h")]
public class RTSPMediaMapping : GLib.Object {
@ -52,20 +93,44 @@ namespace Gst {
[Compact]
[CCode (cheader_filename = "gst/rtsp-server/rstp-media.h")]
public class RTSPMediaStream {
[CCode (array_length = false)]
public weak Gst.Element[] appsink;
[CCode (array_length = false)]
public weak Gst.Element[] appsrc;
public weak Gst.Caps caps;
public ulong caps_sig;
public weak Gst.Element element;
public uint idx;
public weak Gst.RTSPMedia media;
public weak Gst.Element payloader;
public bool prepared;
public weak Gst.Pad recv_rtcp_sink;
public weak Gst.Pad send_rtcp_src;
public weak Gst.Pad send_rtp_sink;
public weak Gst.Pad send_rtp_src;
public weak Gst.RTSPRange server_port;
public weak GLib.Object session;
public weak Gst.Pad srcpad;
public weak GLib.List transports;
[CCode (array_length = false)]
public weak Gst.Element[] udpsink;
[CCode (array_length = false)]
public weak Gst.Element[] udpsrc;
public Gst.FlowReturn rtcp (Gst.Buffer buffer);
public Gst.FlowReturn rtp (Gst.Buffer buffer);
}
[Compact]
[CCode (cheader_filename = "gst/gst.h")]
public class RTSPMediaTrans {
public uint idx;
public weak GLib.DestroyNotify notify;
public weak Gst.RTSPSendFunc send_rtcp;
public weak Gst.RTSPSendFunc send_rtp;
public weak Gst.RTSPTransport transport;
public void* user_data;
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h")]
public class RTSPServer : GLib.Object {
public weak string host;
public weak GLib.IOChannel io_channel;
public weak GLib.TimeoutSource io_watch;
public int server_port;
public void* server_sin;
public weak Gst.PollFD server_sock;
[NoWrapper]
@ -85,64 +150,69 @@ namespace Gst {
public void set_port (int port);
public void set_session_pool (Gst.RTSPSessionPool pool);
public int backlog { get; set; }
[NoAccessorMethod]
public Gst.RTSPMediaMapping mapping { owned get; set; }
[NoAccessorMethod]
public Gst.RTSPSessionPool pool { owned get; set; }
public Gst.RTSPMediaMapping media_mapping { get; set; }
public int port { get; set; }
public Gst.RTSPSessionPool session_pool { get; set; }
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-session.h")]
public class RTSPSession : GLib.Object {
public GLib.TimeVal create_time;
public GLib.TimeVal last_access;
public weak GLib.List medias;
public weak string sessionid;
public unowned Gst.RTSPSessionMedia get_media (Gst.RTSPUrl url, Gst.RTSPMediaFactory factory);
public unowned Gst.RTSPSessionMedia get_media (Gst.RTSPUrl uri);
public unowned string get_sessionid ();
public uint get_timeout ();
public bool is_expired (GLib.TimeVal now);
public unowned Gst.RTSPSessionMedia manage_media (Gst.RTSPUrl uri, owned Gst.RTSPMedia media);
[CCode (has_construct_function = false)]
public RTSPSession (string sessionid);
public int next_timeout (GLib.TimeVal now);
public bool release_media (Gst.RTSPSessionMedia media);
public void set_timeout (uint timeout);
public void touch ();
public string sessionid { get; construct; }
public uint timeout { get; set; }
}
[Compact]
[CCode (cheader_filename = "gst/rtsp-server/rtsp-session.h")]
public class RTSPSessionMedia {
public weak Gst.RTSPMediaFactory factory;
public weak Gst.Element fdsink;
public weak Gst.RTSPMedia media;
public weak Gst.Element pipeline;
public weak Gst.Element rtpbin;
public weak Gst.RTSPSession session;
public weak GLib.List streams;
public Gst.RTSPState state;
public weak GLib.Array streams;
public weak Gst.RTSPUrl url;
public unowned Gst.RTSPSessionStream get_stream (uint idx);
public Gst.StateChangeReturn pause ();
public Gst.StateChangeReturn play ();
public Gst.StateChangeReturn stop ();
public bool set_state (Gst.State state);
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-session-pool.h")]
public class RTSPSessionPool : GLib.Object {
public weak GLib.Mutex @lock;
public weak GLib.HashTable sessions;
public uint cleanup ();
public Gst.RTSPSession create ();
[NoWrapper]
public virtual string create_session_id ();
public GLib.TimeoutSource create_watch ();
public Gst.RTSPSession? find (string sessionid);
public uint get_max_sessions ();
public uint get_n_sessions ();
[CCode (has_construct_function = false)]
public RTSPSessionPool ();
public void remove (Gst.RTSPSession sess);
public bool remove (Gst.RTSPSession sess);
public void set_max_sessions (uint max);
public uint max_sessions { get; set; }
}
[Compact]
[CCode (cheader_filename = "gst/rtsp-server/rtsp-session.h")]
public class RTSPSessionStream {
public weak Gst.RTSPTransport client_trans;
public weak string destination;
public uint idx;
public weak Gst.RTSPSessionMedia media;
public weak Gst.RTSPMediaStream media_stream;
public weak Gst.Pad recv_rtcp_sink;
public weak Gst.Pad send_rtcp_src;
public weak Gst.Pad send_rtp_sink;
public weak Gst.Pad send_rtp_src;
public weak Gst.RTSPTransport server_trans;
[CCode (array_length = false)]
public weak Gst.Element[] udpsink;
[CCode (array_length = false)]
public weak Gst.Element[] udpsrc;
public Gst.RTSPTransport set_transport (string destination, Gst.RTSPTransport ct);
public weak Gst.RTSPMediaTrans trans;
public void set_callbacks (Gst.RTSPSendFunc send_rtp, Gst.RTSPSendFunc send_rtcp, GLib.DestroyNotify notify);
public Gst.RTSPTransport set_transport (Gst.RTSPTransport ct);
}
[CCode (cheader_filename = "gst/gst.h")]
public delegate bool RTSPSendFunc (Gst.Buffer buffer, uchar channel);
[CCode (cheader_filename = "gst/gst.h")]
public delegate bool RTSPSessionPoolFunc (Gst.RTSPSessionPool pool);
[CCode (cheader_filename = "gst/gst.h")]
public static Gst.SDPMessage rtsp_sdp_from_media (Gst.RTSPMedia media);
}

View file

@ -1,14 +1,66 @@
<?xml version="1.0"?>
<api version="1.0">
<namespace name="Gst">
<function name="rtsp_sdp_from_media" symbol="gst_rtsp_sdp_from_media">
<return-type type="GstSDPMessage*"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</function>
<callback name="GstRTSPSendFunc">
<return-type type="gboolean"/>
<parameters>
<parameter name="buffer" type="GstBuffer*"/>
<parameter name="channel" type="guint8"/>
<parameter name="user_data" type="gpointer"/>
</parameters>
</callback>
<callback name="GstRTSPSessionPoolFunc">
<return-type type="gboolean"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
<parameter name="user_data" type="gpointer"/>
</parameters>
</callback>
<struct name="GstRTSPMediaStream">
<field name="media" type="GstRTSPMedia*"/>
<field name="idx" type="guint"/>
<field name="element" type="GstElement*"/>
<method name="rtcp" symbol="gst_rtsp_media_stream_rtcp">
<return-type type="GstFlowReturn"/>
<parameters>
<parameter name="stream" type="GstRTSPMediaStream*"/>
<parameter name="buffer" type="GstBuffer*"/>
</parameters>
</method>
<method name="rtp" symbol="gst_rtsp_media_stream_rtp">
<return-type type="GstFlowReturn"/>
<parameters>
<parameter name="stream" type="GstRTSPMediaStream*"/>
<parameter name="buffer" type="GstBuffer*"/>
</parameters>
</method>
<field name="srcpad" type="GstPad*"/>
<field name="payloader" type="GstElement*"/>
<field name="prepared" type="gboolean"/>
<field name="recv_rtcp_sink" type="GstPad*"/>
<field name="send_rtp_sink" type="GstPad*"/>
<field name="send_rtp_src" type="GstPad*"/>
<field name="send_rtcp_src" type="GstPad*"/>
<field name="session" type="GObject*"/>
<field name="udpsrc" type="GstElement*[]"/>
<field name="udpsink" type="GstElement*[]"/>
<field name="appsrc" type="GstElement*[]"/>
<field name="appsink" type="GstElement*[]"/>
<field name="server_port" type="GstRTSPRange"/>
<field name="caps_sig" type="gulong"/>
<field name="caps" type="GstCaps*"/>
<field name="transports" type="GList*"/>
</struct>
<struct name="GstRTSPMediaTrans">
<field name="idx" type="guint"/>
<field name="send_rtp" type="GstRTSPSendFunc"/>
<field name="send_rtcp" type="GstRTSPSendFunc"/>
<field name="user_data" type="gpointer"/>
<field name="notify" type="GDestroyNotify"/>
<field name="transport" type="GstRTSPTransport*"/>
</struct>
<struct name="GstRTSPSessionMedia">
<method name="get_stream" symbol="gst_rtsp_session_media_get_stream">
@ -18,53 +70,38 @@
<parameter name="idx" type="guint"/>
</parameters>
</method>
<method name="pause" symbol="gst_rtsp_session_media_pause">
<return-type type="GstStateChangeReturn"/>
<method name="set_state" symbol="gst_rtsp_session_media_set_state">
<return-type type="gboolean"/>
<parameters>
<parameter name="media" type="GstRTSPSessionMedia*"/>
<parameter name="state" type="GstState"/>
</parameters>
</method>
<method name="play" symbol="gst_rtsp_session_media_play">
<return-type type="GstStateChangeReturn"/>
<parameters>
<parameter name="media" type="GstRTSPSessionMedia*"/>
</parameters>
</method>
<method name="stop" symbol="gst_rtsp_session_media_stop">
<return-type type="GstStateChangeReturn"/>
<parameters>
<parameter name="media" type="GstRTSPSessionMedia*"/>
</parameters>
</method>
<field name="session" type="GstRTSPSession*"/>
<field name="factory" type="GstRTSPMediaFactory*"/>
<field name="pipeline" type="GstElement*"/>
<field name="url" type="GstRTSPUrl*"/>
<field name="media" type="GstRTSPMedia*"/>
<field name="rtpbin" type="GstElement*"/>
<field name="fdsink" type="GstElement*"/>
<field name="streams" type="GList*"/>
<field name="state" type="GstRTSPState"/>
<field name="streams" type="GArray*"/>
</struct>
<struct name="GstRTSPSessionStream">
<method name="set_callbacks" symbol="gst_rtsp_session_stream_set_callbacks">
<return-type type="void"/>
<parameters>
<parameter name="stream" type="GstRTSPSessionStream*"/>
<parameter name="send_rtp" type="GstRTSPSendFunc"/>
<parameter name="send_rtcp" type="GstRTSPSendFunc"/>
<parameter name="user_data" type="gpointer"/>
<parameter name="notify" type="GDestroyNotify"/>
</parameters>
</method>
<method name="set_transport" symbol="gst_rtsp_session_stream_set_transport">
<return-type type="GstRTSPTransport*"/>
<parameters>
<parameter name="stream" type="GstRTSPSessionStream*"/>
<parameter name="destination" type="gchar*"/>
<parameter name="ct" type="GstRTSPTransport*"/>
</parameters>
</method>
<field name="idx" type="guint"/>
<field name="media" type="GstRTSPSessionMedia*"/>
<field name="trans" type="GstRTSPMediaTrans"/>
<field name="media_stream" type="GstRTSPMediaStream*"/>
<field name="destination" type="gchar*"/>
<field name="client_trans" type="GstRTSPTransport*"/>
<field name="server_trans" type="GstRTSPTransport*"/>
<field name="recv_rtcp_sink" type="GstPad*"/>
<field name="send_rtp_sink" type="GstPad*"/>
<field name="send_rtp_src" type="GstPad*"/>
<field name="send_rtcp_src" type="GstPad*"/>
<field name="udpsrc" type="GstElement*[]"/>
<field name="udpsink" type="GstElement*[]"/>
</struct>
<object name="GstRTSPClient" parent="GObject" type-name="GstRTSPClient" get-type="gst_rtsp_client_get_type">
<method name="accept" symbol="gst_rtsp_client_accept">
@ -103,12 +140,17 @@
<parameter name="pool" type="GstRTSPSessionPool*"/>
</parameters>
</method>
<property name="media-mapping" type="GstRTSPMediaMapping*" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="session-pool" type="GstRTSPSessionPool*" readable="1" writable="1" construct="0" construct-only="0"/>
<field name="connection" type="GstRTSPConnection*"/>
<field name="address" type="struct sockaddr_in"/>
<field name="thread" type="GThread*"/>
<field name="pool" type="GstRTSPSessionPool*"/>
<field name="factory" type="GstRTSPMediaFactory*"/>
<field name="mapping" type="GstRTSPMediaMapping*"/>
<field name="watch" type="GstRTSPWatch*"/>
<field name="watchid" type="guint"/>
<field name="session_pool" type="GstRTSPSessionPool*"/>
<field name="media_mapping" type="GstRTSPMediaMapping*"/>
<field name="uri" type="GstRTSPUrl*"/>
<field name="media" type="GstRTSPMedia*"/>
<field name="streams" type="GList*"/>
<field name="sessions" type="GList*"/>
</object>
<object name="GstRTSPMedia" parent="GObject" type-name="GstRTSPMedia" get-type="gst_rtsp_media_get_type">
<method name="get_stream" symbol="gst_rtsp_media_get_stream">
@ -118,14 +160,104 @@
<parameter name="idx" type="guint"/>
</parameters>
</method>
<method name="is_prepared" symbol="gst_rtsp_media_is_prepared">
<return-type type="gboolean"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</method>
<method name="is_reusable" symbol="gst_rtsp_media_is_reusable">
<return-type type="gboolean"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</method>
<method name="is_shared" symbol="gst_rtsp_media_is_shared">
<return-type type="gboolean"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</method>
<method name="n_streams" symbol="gst_rtsp_media_n_streams">
<return-type type="guint"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</method>
<constructor name="new" symbol="gst_rtsp_media_new">
<return-type type="GstRTSPMedia*"/>
</constructor>
<method name="prepare" symbol="gst_rtsp_media_prepare">
<return-type type="gboolean"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</method>
<method name="seek" symbol="gst_rtsp_media_seek">
<return-type type="gboolean"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
<parameter name="range" type="GstRTSPTimeRange*"/>
</parameters>
</method>
<method name="set_reusable" symbol="gst_rtsp_media_set_reusable">
<return-type type="void"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
<parameter name="reusable" type="gboolean"/>
</parameters>
</method>
<method name="set_shared" symbol="gst_rtsp_media_set_shared">
<return-type type="void"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
<parameter name="shared" type="gboolean"/>
</parameters>
</method>
<method name="set_state" symbol="gst_rtsp_media_set_state">
<return-type type="gboolean"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
<parameter name="state" type="GstState"/>
<parameter name="trans" type="GArray*"/>
</parameters>
</method>
<method name="unprepare" symbol="gst_rtsp_media_unprepare">
<return-type type="gboolean"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</method>
<property name="reusable" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="shared" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
<signal name="unprepared" when="LAST">
<return-type type="void"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</signal>
<vfunc name="handle_message">
<return-type type="gboolean"/>
<parameters>
<parameter name="media" type="GstRTSPMedia*"/>
<parameter name="message" type="GstMessage*"/>
</parameters>
</vfunc>
<field name="shared" type="gboolean"/>
<field name="reusable" type="gboolean"/>
<field name="reused" type="gboolean"/>
<field name="element" type="GstElement*"/>
<field name="streams" type="GArray*"/>
<field name="prepared" type="gboolean"/>
<field name="active" type="gint"/>
<field name="pipeline" type="GstElement*"/>
<field name="source" type="GSource*"/>
<field name="id" type="guint"/>
<field name="is_live" type="gboolean"/>
<field name="buffering" type="gboolean"/>
<field name="target_state" type="GstState"/>
<field name="rtpbin" type="GstElement*"/>
<field name="range" type="GstRTSPTimeRange"/>
</object>
<object name="GstRTSPMediaFactory" parent="GObject" type-name="GstRTSPMediaFactory" get-type="gst_rtsp_media_factory_get_type">
<method name="construct" symbol="gst_rtsp_media_factory_construct">
@ -165,6 +297,14 @@
</parameters>
</method>
<property name="launch" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="shared" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
<vfunc name="configure">
<return-type type="void"/>
<parameters>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</vfunc>
<vfunc name="construct">
<return-type type="GstRTSPMedia*"/>
<parameters>
@ -172,6 +312,13 @@
<parameter name="url" type="GstRTSPUrl*"/>
</parameters>
</vfunc>
<vfunc name="gen_key">
<return-type type="gchar*"/>
<parameters>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
<parameter name="url" type="GstRTSPUrl*"/>
</parameters>
</vfunc>
<vfunc name="get_element">
<return-type type="GstElement*"/>
<parameters>
@ -179,7 +326,11 @@
<parameter name="url" type="GstRTSPUrl*"/>
</parameters>
</vfunc>
<field name="lock" type="GMutex*"/>
<field name="launch" type="gchar*"/>
<field name="shared" type="gboolean"/>
<field name="medias_lock" type="GMutex*"/>
<field name="medias" type="GHashTable*"/>
</object>
<object name="GstRTSPMediaMapping" parent="GObject" type-name="GstRTSPMediaMapping" get-type="gst_rtsp_media_mapping_get_type">
<method name="add_factory" symbol="gst_rtsp_media_mapping_add_factory">
@ -300,9 +451,9 @@
</parameters>
</method>
<property name="backlog" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="mapping" type="GstRTSPMediaMapping*" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="pool" type="GstRTSPSessionPool*" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="media-mapping" type="GstRTSPMediaMapping*" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="port" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="session-pool" type="GstRTSPSessionPool*" readable="1" writable="1" construct="0" construct-only="0"/>
<vfunc name="accept_client">
<return-type type="GstRTSPClient*"/>
<parameters>
@ -310,23 +461,49 @@
<parameter name="channel" type="GIOChannel*"/>
</parameters>
</vfunc>
<field name="server_port" type="gint"/>
<field name="port" type="gint"/>
<field name="backlog" type="gint"/>
<field name="host" type="gchar*"/>
<field name="server_sin" type="struct sockaddr_in"/>
<field name="server_sock" type="GstPollFD"/>
<field name="io_channel" type="GIOChannel*"/>
<field name="io_watch" type="GSource*"/>
<field name="pool" type="GstRTSPSessionPool*"/>
<field name="mapping" type="GstRTSPMediaMapping*"/>
<field name="session_pool" type="GstRTSPSessionPool*"/>
<field name="media_mapping" type="GstRTSPMediaMapping*"/>
</object>
<object name="GstRTSPSession" parent="GObject" type-name="GstRTSPSession" get-type="gst_rtsp_session_get_type">
<method name="get_media" symbol="gst_rtsp_session_get_media">
<return-type type="GstRTSPSessionMedia*"/>
<parameters>
<parameter name="sess" type="GstRTSPSession*"/>
<parameter name="url" type="GstRTSPUrl*"/>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
<parameter name="uri" type="GstRTSPUrl*"/>
</parameters>
</method>
<method name="get_sessionid" symbol="gst_rtsp_session_get_sessionid">
<return-type type="gchar*"/>
<parameters>
<parameter name="session" type="GstRTSPSession*"/>
</parameters>
</method>
<method name="get_timeout" symbol="gst_rtsp_session_get_timeout">
<return-type type="guint"/>
<parameters>
<parameter name="session" type="GstRTSPSession*"/>
</parameters>
</method>
<method name="is_expired" symbol="gst_rtsp_session_is_expired">
<return-type type="gboolean"/>
<parameters>
<parameter name="session" type="GstRTSPSession*"/>
<parameter name="now" type="GTimeVal*"/>
</parameters>
</method>
<method name="manage_media" symbol="gst_rtsp_session_manage_media">
<return-type type="GstRTSPSessionMedia*"/>
<parameters>
<parameter name="sess" type="GstRTSPSession*"/>
<parameter name="uri" type="GstRTSPUrl*"/>
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</method>
<constructor name="new" symbol="gst_rtsp_session_new">
@ -335,16 +512,60 @@
<parameter name="sessionid" type="gchar*"/>
</parameters>
</constructor>
<method name="next_timeout" symbol="gst_rtsp_session_next_timeout">
<return-type type="gint"/>
<parameters>
<parameter name="session" type="GstRTSPSession*"/>
<parameter name="now" type="GTimeVal*"/>
</parameters>
</method>
<method name="release_media" symbol="gst_rtsp_session_release_media">
<return-type type="gboolean"/>
<parameters>
<parameter name="sess" type="GstRTSPSession*"/>
<parameter name="media" type="GstRTSPSessionMedia*"/>
</parameters>
</method>
<method name="set_timeout" symbol="gst_rtsp_session_set_timeout">
<return-type type="void"/>
<parameters>
<parameter name="session" type="GstRTSPSession*"/>
<parameter name="timeout" type="guint"/>
</parameters>
</method>
<method name="touch" symbol="gst_rtsp_session_touch">
<return-type type="void"/>
<parameters>
<parameter name="session" type="GstRTSPSession*"/>
</parameters>
</method>
<property name="sessionid" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
<property name="timeout" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
<field name="sessionid" type="gchar*"/>
<field name="timeout" type="guint"/>
<field name="create_time" type="GTimeVal"/>
<field name="last_access" type="GTimeVal"/>
<field name="medias" type="GList*"/>
</object>
<object name="GstRTSPSessionPool" parent="GObject" type-name="GstRTSPSessionPool" get-type="gst_rtsp_session_pool_get_type">
<method name="cleanup" symbol="gst_rtsp_session_pool_cleanup">
<return-type type="guint"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
</parameters>
</method>
<method name="create" symbol="gst_rtsp_session_pool_create">
<return-type type="GstRTSPSession*"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
</parameters>
</method>
<method name="create_watch" symbol="gst_rtsp_session_pool_create_watch">
<return-type type="GSource*"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
</parameters>
</method>
<method name="find" symbol="gst_rtsp_session_pool_find">
<return-type type="GstRTSPSession*"/>
<parameters>
@ -352,22 +573,43 @@
<parameter name="sessionid" type="gchar*"/>
</parameters>
</method>
<method name="get_max_sessions" symbol="gst_rtsp_session_pool_get_max_sessions">
<return-type type="guint"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
</parameters>
</method>
<method name="get_n_sessions" symbol="gst_rtsp_session_pool_get_n_sessions">
<return-type type="guint"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
</parameters>
</method>
<constructor name="new" symbol="gst_rtsp_session_pool_new">
<return-type type="GstRTSPSessionPool*"/>
</constructor>
<method name="remove" symbol="gst_rtsp_session_pool_remove">
<return-type type="void"/>
<return-type type="gboolean"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
<parameter name="sess" type="GstRTSPSession*"/>
</parameters>
</method>
<method name="set_max_sessions" symbol="gst_rtsp_session_pool_set_max_sessions">
<return-type type="void"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
<parameter name="max" type="guint"/>
</parameters>
</method>
<property name="max-sessions" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
<vfunc name="create_session_id">
<return-type type="gchar*"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
</parameters>
</vfunc>
<field name="max_sessions" type="guint"/>
<field name="lock" type="GMutex*"/>
<field name="sessions" type="GHashTable*"/>
</object>

View file

@ -13,16 +13,20 @@ gst_rtsp_client_get_media_mapping transfer_ownership="1"
gst_rtsp_client_get_session_pool transfer_ownership="1"
gst_rtsp_media_factory_get_launch transfer_ownership="1"
gst_rtsp_media_factory_construct transfer_ownership="1" nullable="1"
gst_rtsp_media_factory_gen_key transfer_ownership="1"
gst_rtsp_media_factory_get_element transfer_ownership="1" nullable="1"
gst_rtsp_media_mapping_find_factory transfer_ownership="1" nullable="1"
gst_rtsp_media_mapping_find_media transfer_ownership="1" nullable="1"
gst_rtsp_sdp_from_media transfer_ownership="1"
gst_rtsp_server_accept_client transfer_ownership="1" nullable="1"
gst_rtsp_server_create_watch transfer_ownership="1" nullable="1"
gst_rtsp_server_get_io_channel transfer_ownership="1" nullable="1"
gst_rtsp_server_get_media_mapping transfer_ownership="1"
gst_rtsp_server_get_session_pool transfer_ownership="1"
gst_rtsp_server_attach.context nullable="1"
gst_rtsp_session_manage_media.media takes_ownership="1"
gst_rtsp_session_pool_create transfer_ownership="1"
gst_rtsp_session_pool_create_session_id transfer_ownership="1"
gst_rtsp_session_pool_create_watch transfer_ownership="1"
gst_rtsp_session_pool_find transfer_ownership="1" nullable="1"
gst_rtsp_session_stream_set_transport transfer_ownership="1"