1 /* gst-rtsp-server-0.10.vapi generated by vapigen, do not modify. */
3 [CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
5 [CCode (cheader_filename = "gst/rtsp-server/rtsp-client.h")]
6 public class RTSPClient : GLib.Object {
7 public weak Gst.RTSPConnection connection;
8 public weak Gst.RTSPMedia media;
9 public weak GLib.List sessions;
10 public weak GLib.List streams;
11 public weak Gst.RTSPUrl uri;
12 public weak Gst.RTSPWatch watch;
14 public bool accept (GLib.IOChannel channel);
15 public Gst.RTSPMediaMapping get_media_mapping ();
16 public Gst.RTSPSessionPool get_session_pool ();
17 [CCode (has_construct_function = false)]
19 public void set_media_mapping (Gst.RTSPMediaMapping mapping);
20 public void set_session_pool (Gst.RTSPSessionPool pool);
21 public Gst.RTSPMediaMapping media_mapping { get; set; }
22 public Gst.RTSPSessionPool session_pool { get; set; }
24 [CCode (cheader_filename = "gst/rtsp-server/rtsp-media.h")]
25 public class RTSPMedia : GLib.Object {
27 public bool buffering;
28 public weak GLib.List @dynamic;
29 public weak Gst.Element element;
30 public weak Gst.Element fakesink;
33 public Gst.Element pipeline;
35 public weak Gst.RTSPTimeRange range;
37 public weak Gst.Element rtpbin;
38 public weak GLib.TimeoutSource source;
39 public weak GLib.Array streams;
40 public Gst.State target_state;
41 public unowned Gst.RTSPMediaStream get_stream (uint idx);
43 public virtual bool handle_message (Gst.Message message);
44 public bool is_prepared ();
45 public bool is_reusable ();
46 public bool is_shared ();
47 public uint n_streams ();
48 [CCode (has_construct_function = false)]
50 public bool prepare ();
51 public void remove_elements ();
52 public bool seek (Gst.RTSPTimeRange range);
53 public void set_reusable (bool reusable);
54 public void set_shared (bool shared);
55 public bool set_state (Gst.State state, GLib.Array trans);
56 public virtual bool unprepare ();
58 public bool reusable { get; set; }
60 public bool shared { get; set; }
61 public virtual signal void unprepared ();
63 [CCode (cheader_filename = "gst/rtsp-server/rtsp-media-factory.h")]
64 public class RTSPMediaFactory : GLib.Object {
65 public weak GLib.Mutex @lock;
66 public weak GLib.HashTable medias;
67 public weak GLib.Mutex medias_lock;
68 public void collect_streams (Gst.RTSPUrl url, Gst.RTSPMedia media);
70 public virtual void configure (Gst.RTSPMedia media);
71 public virtual Gst.RTSPMedia? @construct (Gst.RTSPUrl url);
73 public virtual Gst.Element create_pipeline (Gst.RTSPMedia media);
75 public virtual string gen_key (Gst.RTSPUrl url);
77 public virtual Gst.Element? get_element (Gst.RTSPUrl url);
78 public string get_launch ();
79 public bool is_shared ();
80 [CCode (has_construct_function = false)]
81 public RTSPMediaFactory ();
82 public void set_launch (string launch);
83 public void set_shared (bool shared);
84 public string launch { get; set; }
86 public bool shared { get; set; }
88 [CCode (cheader_filename = "gst/rtsp-server/rtsp-media-mapping.h")]
89 public class RTSPMediaMapping : GLib.Object {
90 public weak GLib.HashTable mappings;
91 public void add_factory (string path, Gst.RTSPMediaFactory factory);
92 public Gst.RTSPMediaFactory? find_factory (Gst.RTSPUrl url);
94 public virtual Gst.RTSPMediaFactory? find_media (Gst.RTSPUrl url);
95 [CCode (has_construct_function = false)]
96 public RTSPMediaMapping ();
97 public void remove_factory (string path);
100 [CCode (cheader_filename = "gst/rtsp-server/rtsp-media.h")]
101 public class RTSPMediaStream {
102 [CCode (array_length = false)]
103 public weak Gst.Element[] appsink;
104 [CCode (array_length = false)]
105 public weak Gst.Element[] appsrc;
106 public weak Gst.Caps caps;
107 public ulong caps_sig;
108 public weak Gst.Element payloader;
109 public bool prepared;
110 public weak Gst.Pad recv_rtcp_sink;
111 public weak Gst.Pad recv_rtp_sink;
112 [CCode (array_length = false)]
113 public weak Gst.Element[] selector;
114 public weak Gst.Pad send_rtcp_src;
115 public weak Gst.Pad send_rtp_sink;
116 public weak Gst.Pad send_rtp_src;
117 public weak Gst.RTSPRange server_port;
118 public weak GLib.Object session;
119 public weak Gst.Pad srcpad;
120 [CCode (array_length = false)]
121 public weak Gst.Element[] tee;
122 public weak GLib.List transports;
123 [CCode (array_length = false)]
124 public weak Gst.Element[] udpsink;
125 [CCode (array_length = false)]
126 public weak Gst.Element[] udpsrc;
127 public Gst.FlowReturn rtcp (Gst.Buffer buffer);
128 public Gst.FlowReturn rtp (Gst.Buffer buffer);
131 [CCode (cheader_filename = "gst/rtsp-server/rtsp-media.h")]
132 public class RTSPMediaTrans {
135 public weak GLib.DestroyNotify ka_notify;
136 public void* ka_user_data;
137 public weak Gst.RTSPKeepAliveFunc keep_alive;
138 public weak GLib.DestroyNotify notify;
139 public weak GLib.Object rtpsource;
140 public weak Gst.RTSPSendFunc send_rtcp;
141 public weak Gst.RTSPSendFunc send_rtp;
143 public weak Gst.RTSPTransport transport;
144 public void* user_data;
146 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h")]
147 public class RTSPServer : GLib.Object {
148 public weak string host;
149 public weak GLib.IOChannel io_channel;
150 public weak GLib.TimeoutSource io_watch;
151 public void* server_sin;
152 public weak Gst.PollFD server_sock;
154 public virtual Gst.RTSPClient? accept_client (GLib.IOChannel channel);
155 public uint attach (GLib.MainContext? context);
156 public GLib.TimeoutSource? create_watch ();
157 public int get_backlog ();
158 public GLib.IOChannel? get_io_channel ();
159 public Gst.RTSPMediaMapping get_media_mapping ();
160 public int get_port ();
161 public Gst.RTSPSessionPool get_session_pool ();
162 public static bool io_func (GLib.IOChannel channel, GLib.IOCondition condition, Gst.RTSPServer server);
163 [CCode (has_construct_function = false)]
164 public RTSPServer ();
165 public void set_backlog (int backlog);
166 public void set_media_mapping (Gst.RTSPMediaMapping mapping);
167 public void set_port (int port);
168 public void set_session_pool (Gst.RTSPSessionPool pool);
169 public int backlog { get; set; }
170 public Gst.RTSPMediaMapping media_mapping { get; set; }
171 public int port { get; set; }
172 public Gst.RTSPSessionPool session_pool { get; set; }
174 [CCode (cheader_filename = "gst/rtsp-server/rtsp-session.h")]
175 public class RTSPSession : GLib.Object {
176 public GLib.TimeVal create_time;
177 public GLib.TimeVal last_access;
178 public weak GLib.List medias;
179 public unowned Gst.RTSPSessionMedia get_media (Gst.RTSPUrl uri);
180 public unowned string get_sessionid ();
181 public uint get_timeout ();
182 public bool is_expired (GLib.TimeVal now);
183 public unowned Gst.RTSPSessionMedia manage_media (Gst.RTSPUrl uri, owned Gst.RTSPMedia media);
184 [CCode (has_construct_function = false)]
185 public RTSPSession (string sessionid);
186 public int next_timeout (GLib.TimeVal now);
187 public bool release_media (Gst.RTSPSessionMedia media);
188 public void set_timeout (uint timeout);
189 public void touch ();
190 public string sessionid { get; construct; }
191 public uint timeout { get; set; }
194 [CCode (cheader_filename = "gst/rtsp-server/rtsp-session.h")]
195 public class RTSPSessionMedia {
196 public weak Gst.RTSPMedia media;
197 public Gst.RTSPState state;
198 public weak GLib.Array streams;
199 public weak Gst.RTSPUrl url;
200 public unowned Gst.RTSPSessionStream get_stream (uint idx);
201 public bool set_state (Gst.State state);
203 [CCode (cheader_filename = "gst/rtsp-server/rtsp-session-pool.h")]
204 public class RTSPSessionPool : GLib.Object {
205 public weak GLib.Mutex @lock;
206 public weak GLib.HashTable sessions;
207 public uint cleanup ();
208 public Gst.RTSPSession create ();
210 public virtual string create_session_id ();
211 public GLib.TimeoutSource create_watch ();
212 public Gst.RTSPSession? find (string sessionid);
213 public uint get_max_sessions ();
214 public uint get_n_sessions ();
215 [CCode (has_construct_function = false)]
216 public RTSPSessionPool ();
217 public bool remove (Gst.RTSPSession sess);
218 public void set_max_sessions (uint max);
219 public uint max_sessions { get; set; }
222 [CCode (cheader_filename = "gst/rtsp-server/rtsp-session.h")]
223 public class RTSPSessionStream {
224 public weak Gst.RTSPMediaStream media_stream;
225 public weak Gst.RTSPMediaTrans trans;
226 public void set_callbacks (Gst.RTSPSendFunc send_rtp, Gst.RTSPSendFunc send_rtcp, GLib.DestroyNotify notify);
227 public void set_keepalive (Gst.RTSPKeepAliveFunc keep_alive, GLib.DestroyNotify notify);
228 public Gst.RTSPTransport set_transport (Gst.RTSPTransport ct);
230 [CCode (cheader_filename = "gst/rtsp-server/rtsp-media.h")]
231 public delegate void RTSPKeepAliveFunc ();
232 [CCode (cheader_filename = "gst/rtsp-server/rtsp-media.h")]
233 public delegate bool RTSPSendFunc (Gst.Buffer buffer, uchar channel);
234 [CCode (cheader_filename = "gst/rtsp-server/rtsp-session-pool.h")]
235 public delegate bool RTSPSessionPoolFunc (Gst.RTSPSessionPool pool);
236 [CCode (cheader_filename = "gst/gst.h")]
237 public static Gst.RTSPResult rtsp_params_get (Gst.RTSPClient client, Gst.RTSPUrl uri, Gst.RTSPSession session, Gst.RTSPMessage request, Gst.RTSPMessage response);
238 [CCode (cheader_filename = "gst/gst.h")]
239 public static Gst.RTSPResult rtsp_params_set (Gst.RTSPClient client, Gst.RTSPUrl uri, Gst.RTSPSession session, Gst.RTSPMessage request, Gst.RTSPMessage response);
240 [CCode (cheader_filename = "gst/rtsp-server/rtsp-sdp.h")]
241 public static unowned Gst.SDPMessage rtsp_sdp_from_media (Gst.RTSPMedia media);