Updated Vala bindings

This commit is contained in:
Sebastian Pölsterl 2009-01-23 20:31:11 +01:00 committed by Wim Taymans
parent b0fcbfd290
commit ef9c3dc921
4 changed files with 293 additions and 72 deletions

View file

@ -6,29 +6,48 @@ namespace Gst {
public class RTSPClient : GLib.Object {
public void* address;
public weak Gst.RTSPConnection connection;
public weak Gst.RTSPMedia media;
public weak Gst.RTSPMediaFactory factory;
public weak Gst.RTSPMediaMapping mapping;
public weak Gst.RTSPSessionPool pool;
public weak GLib.Thread thread;
public bool accept (GLib.IOChannel source);
public weak Gst.RTSPSessionPool get_session_pool ();
public bool accept (GLib.IOChannel channel);
public Gst.RTSPMediaMapping get_media_mapping ();
public Gst.RTSPSessionPool get_session_pool ();
[CCode (has_construct_function = false)]
public RTSPClient (Gst.RTSPServer server);
public RTSPClient ();
public void set_media_mapping (Gst.RTSPMediaMapping mapping);
public void set_session_pool (Gst.RTSPSessionPool pool);
[NoAccessorMethod]
public Gst.RTSPServer server { get; construct; }
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-media.h")]
public class RTSPMedia : GLib.Object {
public bool prepared;
public weak Gst.Element element;
public weak GLib.Array streams;
public weak Gst.RTSPMediaStream get_stream (uint idx);
public unowned Gst.RTSPMediaStream get_stream (uint idx);
public uint n_streams ();
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-media-factory.h")]
public class RTSPMediaFactory : GLib.Object {
public virtual Gst.RTSPMedia @construct (Gst.RTSPUrl url);
[NoWrapper]
public virtual Gst.Element get_element (Gst.RTSPUrl url);
public string get_launch ();
public bool is_shared ();
[CCode (has_construct_function = false)]
public RTSPMedia (string name);
[NoAccessorMethod]
public string location { get; construct; }
[NoAccessorMethod]
public Gst.RTSPUrl url { get; construct; }
public RTSPMediaFactory ();
public void set_launch (string launch);
public void set_shared (bool shared);
public string launch { get; set; }
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-media-mapping.h")]
public class RTSPMediaMapping : GLib.Object {
public weak GLib.HashTable mappings;
public void add_factory (string path, Gst.RTSPMediaFactory factory);
public Gst.RTSPMediaFactory find_factory (Gst.RTSPUrl url);
[NoWrapper]
public virtual Gst.RTSPMediaFactory find_media (Gst.RTSPUrl url);
[CCode (has_construct_function = false)]
public RTSPMediaMapping ();
public void remove_factory (string path);
}
[Compact]
[CCode (cheader_filename = "gst/rtsp-server/rstp-media.h")]
@ -38,58 +57,77 @@ namespace Gst {
public weak Gst.Element element;
public uint idx;
public weak Gst.RTSPMedia media;
public weak string name;
public weak Gst.Element payloader;
public weak Gst.Pad srcpad;
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h")]
public class RTSPServer : Gst.Object {
public class RTSPServer : GLib.Object {
public weak string host;
public weak GLib.IOChannel io_channel;
public weak GLib.TimeoutSource io_watch;
public weak Gst.RTSPSessionPool pool;
public int server_port;
public void* server_sin;
public weak Gst.PollFD server_sock;
[NoWrapper]
public virtual Gst.RTSPClient accept_client (GLib.IOChannel channel);
public uint attach (GLib.MainContext context);
public virtual weak Gst.Element prepare_media (Gst.RTSPMedia media, Gst.Bin bin);
public GLib.TimeoutSource create_watch ();
public int get_backlog ();
public GLib.IOChannel get_io_channel ();
public Gst.RTSPMediaMapping get_media_mapping ();
public int get_port ();
public Gst.RTSPSessionPool get_session_pool ();
public static bool io_func (GLib.IOChannel channel, GLib.IOCondition condition, Gst.RTSPServer server);
[CCode (has_construct_function = false)]
public RTSPServer ();
public void set_backlog (int backlog);
public void set_media_mapping (Gst.RTSPMediaMapping mapping);
public void set_port (int port);
public void set_session_pool (Gst.RTSPSessionPool pool);
public int backlog { get; set; }
[NoAccessorMethod]
public int port { get; construct; }
public Gst.RTSPMediaMapping mapping { owned get; set; }
[NoAccessorMethod]
public Gst.RTSPSessionPool pool { owned get; set; }
public int port { get; set; }
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-session.h")]
public class RTSPSession : GLib.Object {
public weak GLib.List medias;
public weak string sessionid;
public weak Gst.RTSPSessionMedia get_media (Gst.RTSPMedia media);
public static weak Gst.RTSPSessionStream get_stream (Gst.RTSPSessionMedia media, uint idx);
public unowned Gst.RTSPSessionMedia get_media (Gst.RTSPUrl url, Gst.RTSPMediaFactory factory);
[CCode (has_construct_function = false)]
public RTSPSession (string sessionid);
}
[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 unowned Gst.RTSPSessionStream get_stream (uint idx);
public Gst.StateChangeReturn pause ();
public Gst.StateChangeReturn play ();
public Gst.StateChangeReturn stop ();
}
[CCode (cheader_filename = "gst/rtsp-server/rtsp-session.h")]
[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 weak Gst.RTSPSession create ();
public weak Gst.RTSPSession find (string sessionid);
public Gst.RTSPSession create ();
[NoWrapper]
public virtual string create_session_id ();
public Gst.RTSPSession find (string sessionid);
[CCode (has_construct_function = false)]
public RTSPSessionPool ();
public void remove (Gst.RTSPSession sess);
}
[Compact]
[CCode (cheader_filename = "gst/rtsp-server/rtsp-session-pool.h")]
[CCode (cheader_filename = "gst/rtsp-server/rtsp-session.h")]
public class RTSPSessionStream {
public weak Gst.RTSPTransport client_trans;
public weak string destination;
@ -101,10 +139,10 @@ namespace Gst {
public weak Gst.Pad send_rtp_sink;
public weak Gst.Pad send_rtp_src;
public weak Gst.RTSPTransport server_trans;
[NoArrayLength]
[CCode (array_length = false)]
public weak Gst.Element[] udpsink;
[NoArrayLength]
[CCode (array_length = false)]
public weak Gst.Element[] udpsrc;
public weak Gst.RTSPTransport set_transport (string destination, Gst.RTSPTransport ct);
public Gst.RTSPTransport set_transport (string destination, Gst.RTSPTransport ct);
}
}

View file

@ -1 +0,0 @@
rtsp-url-compat.h

View file

@ -4,7 +4,6 @@
<struct name="GstRTSPMediaStream">
<field name="media" type="GstRTSPMedia*"/>
<field name="idx" type="guint"/>
<field name="name" type="gchar*"/>
<field name="element" type="GstElement*"/>
<field name="srcpad" type="GstPad*"/>
<field name="payloader" type="GstElement*"/>
@ -12,6 +11,13 @@
<field name="caps" type="GstCaps*"/>
</struct>
<struct name="GstRTSPSessionMedia">
<method name="get_stream" symbol="gst_rtsp_session_media_get_stream">
<return-type type="GstRTSPSessionStream*"/>
<parameters>
<parameter name="media" type="GstRTSPSessionMedia*"/>
<parameter name="idx" type="guint"/>
</parameters>
</method>
<method name="pause" symbol="gst_rtsp_session_media_pause">
<return-type type="GstStateChangeReturn"/>
<parameters>
@ -31,8 +37,9 @@
</parameters>
</method>
<field name="session" type="GstRTSPSession*"/>
<field name="media" type="GstRTSPMedia*"/>
<field name="factory" type="GstRTSPMediaFactory*"/>
<field name="pipeline" type="GstElement*"/>
<field name="media" type="GstRTSPMedia*"/>
<field name="rtpbin" type="GstElement*"/>
<field name="fdsink" type="GstElement*"/>
<field name="streams" type="GList*"/>
@ -64,7 +71,13 @@
<return-type type="gboolean"/>
<parameters>
<parameter name="client" type="GstRTSPClient*"/>
<parameter name="source" type="GIOChannel*"/>
<parameter name="channel" type="GIOChannel*"/>
</parameters>
</method>
<method name="get_media_mapping" symbol="gst_rtsp_client_get_media_mapping">
<return-type type="GstRTSPMediaMapping*"/>
<parameters>
<parameter name="client" type="GstRTSPClient*"/>
</parameters>
</method>
<method name="get_session_pool" symbol="gst_rtsp_client_get_session_pool">
@ -75,10 +88,14 @@
</method>
<constructor name="new" symbol="gst_rtsp_client_new">
<return-type type="GstRTSPClient*"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
</parameters>
</constructor>
<method name="set_media_mapping" symbol="gst_rtsp_client_set_media_mapping">
<return-type type="void"/>
<parameters>
<parameter name="client" type="GstRTSPClient*"/>
<parameter name="mapping" type="GstRTSPMediaMapping*"/>
</parameters>
</method>
<method name="set_session_pool" symbol="gst_rtsp_client_set_session_pool">
<return-type type="void"/>
<parameters>
@ -86,13 +103,12 @@
<parameter name="pool" type="GstRTSPSessionPool*"/>
</parameters>
</method>
<property name="server" type="GstRTSPServer*" readable="1" writable="1" construct="0" construct-only="1"/>
<field name="server" type="GstRTSPServer*"/>
<field name="connection" type="GstRTSPConnection*"/>
<field name="address" type="struct sockaddr_in"/>
<field name="media" type="GstRTSPMedia*"/>
<field name="pool" type="GstRTSPSessionPool*"/>
<field name="thread" type="GThread*"/>
<field name="pool" type="GstRTSPSessionPool*"/>
<field name="factory" type="GstRTSPMediaFactory*"/>
<field name="mapping" type="GstRTSPMediaMapping*"/>
</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">
@ -108,20 +124,99 @@
<parameter name="media" type="GstRTSPMedia*"/>
</parameters>
</method>
<constructor name="new" symbol="gst_rtsp_media_new">
<return-type type="GstRTSPMedia*"/>
<parameters>
<parameter name="name" type="gchar*"/>
</parameters>
</constructor>
<property name="location" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
<property name="url" type="GstRTSPUrl*" readable="1" writable="1" construct="0" construct-only="1"/>
<field name="location" type="gchar*"/>
<field name="url" type="GstRTSPUrl*"/>
<field name="prepared" type="gboolean"/>
<field name="element" type="GstElement*"/>
<field name="streams" type="GArray*"/>
</object>
<object name="GstRTSPServer" parent="GstObject" type-name="GstRTSPServer" get-type="gst_rtsp_server_get_type">
<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">
<return-type type="GstRTSPMedia*"/>
<parameters>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
<parameter name="url" type="GstRTSPUrl*"/>
</parameters>
</method>
<method name="get_launch" symbol="gst_rtsp_media_factory_get_launch">
<return-type type="gchar*"/>
<parameters>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
</parameters>
</method>
<method name="is_shared" symbol="gst_rtsp_media_factory_is_shared">
<return-type type="gboolean"/>
<parameters>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
</parameters>
</method>
<constructor name="new" symbol="gst_rtsp_media_factory_new">
<return-type type="GstRTSPMediaFactory*"/>
</constructor>
<method name="set_launch" symbol="gst_rtsp_media_factory_set_launch">
<return-type type="void"/>
<parameters>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
<parameter name="launch" type="gchar*"/>
</parameters>
</method>
<method name="set_shared" symbol="gst_rtsp_media_factory_set_shared">
<return-type type="void"/>
<parameters>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
<parameter name="shared" type="gboolean"/>
</parameters>
</method>
<property name="launch" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
<vfunc name="construct">
<return-type type="GstRTSPMedia*"/>
<parameters>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
<parameter name="url" type="GstRTSPUrl*"/>
</parameters>
</vfunc>
<vfunc name="get_element">
<return-type type="GstElement*"/>
<parameters>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
<parameter name="url" type="GstRTSPUrl*"/>
</parameters>
</vfunc>
<field name="launch" type="gchar*"/>
</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">
<return-type type="void"/>
<parameters>
<parameter name="mapping" type="GstRTSPMediaMapping*"/>
<parameter name="path" type="gchar*"/>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
</parameters>
</method>
<method name="find_factory" symbol="gst_rtsp_media_mapping_find_factory">
<return-type type="GstRTSPMediaFactory*"/>
<parameters>
<parameter name="mapping" type="GstRTSPMediaMapping*"/>
<parameter name="url" type="GstRTSPUrl*"/>
</parameters>
</method>
<constructor name="new" symbol="gst_rtsp_media_mapping_new">
<return-type type="GstRTSPMediaMapping*"/>
</constructor>
<method name="remove_factory" symbol="gst_rtsp_media_mapping_remove_factory">
<return-type type="void"/>
<parameters>
<parameter name="mapping" type="GstRTSPMediaMapping*"/>
<parameter name="path" type="gchar*"/>
</parameters>
</method>
<vfunc name="find_media">
<return-type type="GstRTSPMediaFactory*"/>
<parameters>
<parameter name="mapping" type="GstRTSPMediaMapping*"/>
<parameter name="url" type="GstRTSPUrl*"/>
</parameters>
</vfunc>
<field name="mappings" type="GHashTable*"/>
</object>
<object name="GstRTSPServer" parent="GObject" type-name="GstRTSPServer" get-type="gst_rtsp_server_get_type">
<method name="attach" symbol="gst_rtsp_server_attach">
<return-type type="guint"/>
<parameters>
@ -129,44 +224,109 @@
<parameter name="context" type="GMainContext*"/>
</parameters>
</method>
<method name="prepare_media" symbol="gst_rtsp_server_prepare_media">
<return-type type="gboolean"/>
<method name="create_watch" symbol="gst_rtsp_server_create_watch">
<return-type type="GSource*"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
<parameter name="media" type="GstRTSPMedia*"/>
<parameter name="bin" type="GstBin*"/>
</parameters>
</method>
<property name="port" type="gint" readable="1" writable="1" construct="0" construct-only="1"/>
<vfunc name="prepare_media">
<return-type type="GstElement*"/>
<method name="get_backlog" symbol="gst_rtsp_server_get_backlog">
<return-type type="gint"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
<parameter name="media" type="GstRTSPMedia*"/>
<parameter name="bin" type="GstBin*"/>
</parameters>
</method>
<method name="get_io_channel" symbol="gst_rtsp_server_get_io_channel">
<return-type type="GIOChannel*"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
</parameters>
</method>
<method name="get_media_mapping" symbol="gst_rtsp_server_get_media_mapping">
<return-type type="GstRTSPMediaMapping*"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
</parameters>
</method>
<method name="get_port" symbol="gst_rtsp_server_get_port">
<return-type type="gint"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
</parameters>
</method>
<method name="get_session_pool" symbol="gst_rtsp_server_get_session_pool">
<return-type type="GstRTSPSessionPool*"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
</parameters>
</method>
<method name="io_func" symbol="gst_rtsp_server_io_func">
<return-type type="gboolean"/>
<parameters>
<parameter name="channel" type="GIOChannel*"/>
<parameter name="condition" type="GIOCondition"/>
<parameter name="server" type="GstRTSPServer*"/>
</parameters>
</method>
<constructor name="new" symbol="gst_rtsp_server_new">
<return-type type="GstRTSPServer*"/>
</constructor>
<method name="set_backlog" symbol="gst_rtsp_server_set_backlog">
<return-type type="void"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
<parameter name="backlog" type="gint"/>
</parameters>
</method>
<method name="set_media_mapping" symbol="gst_rtsp_server_set_media_mapping">
<return-type type="void"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
<parameter name="mapping" type="GstRTSPMediaMapping*"/>
</parameters>
</method>
<method name="set_port" symbol="gst_rtsp_server_set_port">
<return-type type="void"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
<parameter name="port" type="gint"/>
</parameters>
</method>
<method name="set_session_pool" symbol="gst_rtsp_server_set_session_pool">
<return-type type="void"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
<parameter name="pool" type="GstRTSPSessionPool*"/>
</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="port" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
<vfunc name="accept_client">
<return-type type="GstRTSPClient*"/>
<parameters>
<parameter name="server" type="GstRTSPServer*"/>
<parameter name="channel" type="GIOChannel*"/>
</parameters>
</vfunc>
<field name="server_port" type="int"/>
<field name="server_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*"/>
</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="media" type="GstRTSPMedia*"/>
</parameters>
</method>
<method name="get_stream" symbol="gst_rtsp_session_get_stream">
<return-type type="GstRTSPSessionStream*"/>
<parameters>
<parameter name="media" type="GstRTSPSessionMedia*"/>
<parameter name="idx" type="guint"/>
<parameter name="url" type="GstRTSPUrl*"/>
<parameter name="factory" type="GstRTSPMediaFactory*"/>
</parameters>
</method>
<constructor name="new" symbol="gst_rtsp_session_new">
@ -202,6 +362,12 @@
<parameter name="sess" type="GstRTSPSession*"/>
</parameters>
</method>
<vfunc name="create_session_id">
<return-type type="gchar*"/>
<parameters>
<parameter name="pool" type="GstRTSPSessionPool*"/>
</parameters>
</vfunc>
<field name="lock" type="GMutex*"/>
<field name="sessions" type="GHashTable*"/>
</object>

View file

@ -1,9 +1,27 @@
Gst cprefix="Gst" lower_case_cprefix="gst_" cheader_filename="gst/gst.h"
GstRTSPMediaStream cheader_filename="gst/rtsp-server/rstp-media.h"
GstRTSPMedia cheader_filename="gst/rtsp-server/rtsp-media.h"
GstRTSPClient cheader_filename="gst/rtsp-server/rtsp-client.h"
GstRTSPMedia cheader_filename="gst/rtsp-server/rtsp-media.h"
GstRTSPMediaFactory cheader_filename="gst/rtsp-server/rtsp-media-factory.h"
GstRTSPMediaMapping cheader_filename="gst/rtsp-server/rtsp-media-mapping.h"
GstRTSPMediaStream cheader_filename="gst/rtsp-server/rstp-media.h"
GstRTSPServer cheader_filename="gst/rtsp-server/rtsp-server.h"
GstRTSPSession cheader_filename="gst/rtsp-server/rtsp-session.h"
GstRTSPSessionMedia cheader_filename="gst/rtsp-server/rtsp-session.h"
GstRTSPSessionPool cheader_filename="gst/rtsp-server/rtsp-session.h"
GstRTSPSessionStream cheader_filename="gst/rtsp-server/rtsp-session-pool.h"
GstRTSPSessionPool cheader_filename="gst/rtsp-server/rtsp-session-pool.h"
GstRTSPSessionStream cheader_filename="gst/rtsp-server/rtsp-session.h"
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"
gst_rtsp_media_factory_get_element transfer_ownership="1"
gst_rtsp_media_mapping_find_factory transfer_ownership="1"
gst_rtsp_media_mapping_find_media transfer_ownership="1"
gst_rtsp_server_accept_client transfer_ownership="1"
gst_rtsp_server_create_watch transfer_ownership="1"
gst_rtsp_server_get_io_channel transfer_ownership="1"
gst_rtsp_server_get_media_mapping transfer_ownership="1"
gst_rtsp_server_get_session_pool transfer_ownership="1"
gst_rtsp_session_pool_create transfer_ownership="1"
gst_rtsp_session_pool_create_session_id transfer_ownership="1"
gst_rtsp_session_pool_find transfer_ownership="1"
gst_rtsp_session_stream_set_transport transfer_ownership="1"