1 /* gstreamer-rtsp-server-1.0.vapi generated by vapigen, do not modify. */
3 [CCode (cprefix = "Gst", gir_namespace = "GstRtspServer", gir_version = "1.0", lower_case_cprefix = "gst_")]
5 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_auth_get_type ()")]
6 public class RTSPAuth : GLib.Object {
7 [CCode (has_construct_function = false)]
9 public bool check (Gst.RTSPClient client, GLib.Quark hint, Gst.RTSPClientState state);
11 public virtual bool check_method (Gst.RTSPClient client, GLib.Quark hint, Gst.RTSPClientState state);
12 public static string make_basic (string user, string pass);
13 public void set_basic (string basic);
14 public virtual bool setup_auth (Gst.RTSPClient client, GLib.Quark hint, Gst.RTSPClientState state);
16 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_client_get_type ()")]
17 public class RTSPClient : GLib.Object {
18 public weak Gst.RTSPAuth auth;
19 public weak Gst.RTSP.Connection connection;
21 public weak Gst.RTSPMedia media;
22 public weak Gst.RTSPServer server;
23 public weak string server_ip;
24 public weak GLib.List<void*> sessions;
25 public weak GLib.List<void*> transports;
26 public weak Gst.RTSP.Url uri;
27 public weak Gst.RTSP.Watch watch;
29 [CCode (has_construct_function = false)]
31 public bool accept (GLib.Socket socket, GLib.Cancellable? cancellable = null) throws GLib.Error;
32 public bool create_from_socket (GLib.Socket socket, string ip, int port, string initial_buffer) throws GLib.Error;
33 public Gst.RTSPAuth get_auth ();
34 public Gst.RTSPMediaMapping get_media_mapping ();
35 public Gst.RTSPServer get_server ();
36 public Gst.RTSPSessionPool get_session_pool ();
37 public bool get_use_client_settings ();
38 public void set_auth (Gst.RTSPAuth auth);
39 public void set_media_mapping (Gst.RTSPMediaMapping mapping);
40 public void set_server (Gst.RTSPServer server);
41 public void set_session_pool (Gst.RTSPSessionPool pool);
42 public void set_use_client_settings (bool use_client_settings);
43 public Gst.RTSPMediaMapping media_mapping { owned get; set; }
44 public Gst.RTSPSessionPool session_pool { owned get; set; }
45 public bool use_client_settings { get; set; }
46 public virtual signal void closed ();
47 public virtual signal void describe_request (void* state);
48 public virtual signal void get_parameter_request (void* state);
49 public virtual signal void new_session (Gst.RTSPSession session);
50 public virtual signal void options_request (void* state);
51 public virtual signal void pause_request (void* state);
52 public virtual signal void play_request (void* state);
53 public virtual signal void set_parameter_request (void* state);
54 public virtual signal void setup_request (void* state);
55 public virtual signal void teardown_request (void* state);
57 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_media_get_type ()")]
58 public class RTSPMedia : GLib.Object {
60 public weak Gst.RTSPAuth auth;
61 public bool buffering;
62 public weak GLib.Cond cond;
63 public weak GLib.List<void*> @dynamic;
64 public weak Gst.Element element;
65 public weak Gst.Element fakesink;
69 public weak GLib.Mutex @lock;
71 public Gst.Element pipeline;
72 public Gst.RTSP.TimeRange range;
74 public weak Gst.Element rtpbin;
76 public weak GLib.Source source;
77 public Gst.RTSPMediaStatus status;
78 public weak GLib.GenericArray<void*> streams;
79 public Gst.State target_state;
80 [CCode (has_construct_function = false)]
82 public void collect_streams ();
83 public unowned Gst.RTSPStream create_stream (Gst.Element payloader, Gst.Pad srcpad);
84 [CCode (vfunc_name = "new_state")]
86 public virtual bool emit_new_state (Gst.State state);
87 public Gst.RTSPAuth get_auth ();
88 public uint get_buffer_size ();
89 public uint get_mtu ();
90 public string get_multicast_group ();
91 public Gst.RTSP.LowerTrans get_protocols ();
92 public string get_range_string (bool play);
93 public unowned Gst.RTSPStream get_stream (uint idx);
95 public virtual bool handle_message (Gst.Message message);
96 public bool is_eos_shutdown ();
97 public bool is_reusable ();
98 public bool is_shared ();
99 public uint n_streams ();
100 public bool prepare ();
101 public bool seek (Gst.RTSP.TimeRange range);
102 public void set_auth (Gst.RTSPAuth auth);
103 public void set_buffer_size (uint size);
104 public void set_eos_shutdown (bool eos_shutdown);
105 public void set_mtu (uint mtu);
106 public void set_multicast_group (string mc);
107 public void set_protocols (Gst.RTSP.LowerTrans protocols);
108 public void set_reusable (bool reusable);
109 public void set_shared (bool shared);
110 public bool set_state (Gst.State state, GLib.GenericArray<void*> transports);
111 public virtual bool unprepare ();
112 public uint buffer_size { get; set; }
114 public bool eos_shutdown { get; set; }
115 public uint mtu { get; set; }
116 public string multicast_group { owned get; set; }
117 public Gst.RTSP.LowerTrans protocols { get; set; }
119 public bool reusable { get; set; }
121 public bool shared { get; set; }
122 public virtual signal void new_state ();
123 public virtual signal void prepared ();
124 public virtual signal void unprepared ();
126 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_media_factory_get_type ()")]
127 public class RTSPMediaFactory : GLib.Object {
128 public weak Gst.RTSPAuth auth;
129 public weak GLib.Mutex @lock;
130 public weak GLib.HashTable<void*,void*> medias;
131 public weak GLib.Mutex medias_lock;
132 [CCode (has_construct_function = false)]
133 public RTSPMediaFactory ();
135 public virtual void configure (Gst.RTSPMedia media);
136 public virtual Gst.RTSPMedia? @construct (Gst.RTSP.Url url);
137 public virtual unowned Gst.Element create_element (Gst.RTSP.Url url);
139 public virtual string gen_key (Gst.RTSP.Url url);
140 public Gst.RTSPAuth get_auth ();
141 public uint get_buffer_size ();
142 public string get_launch ();
143 public string get_multicast_group ();
144 public Gst.RTSP.LowerTrans get_protocols ();
145 public bool is_eos_shutdown ();
146 public bool is_shared ();
147 public void set_auth (Gst.RTSPAuth auth);
148 public void set_buffer_size (uint size);
149 public void set_eos_shutdown (bool eos_shutdown);
150 public void set_launch (string launch);
151 public void set_multicast_group (string mc);
152 public void set_protocols (Gst.RTSP.LowerTrans protocols);
153 public void set_shared (bool shared);
154 public uint buffer_size { get; set; }
156 public bool eos_shutdown { get; set; }
157 public string launch { owned get; set; }
158 public string multicast_group { owned get; set; }
159 public Gst.RTSP.LowerTrans protocols { get; set; }
161 public bool shared { get; set; }
162 public virtual signal void media_configure (Gst.RTSPMedia media);
163 public virtual signal void media_constructed (Gst.RTSPMedia media);
165 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_media_factory_uri_get_type ()")]
166 public class RTSPMediaFactoryURI : Gst.RTSPMediaFactory {
167 public weak GLib.List<void*> decoders;
168 public weak GLib.List<void*> demuxers;
169 public weak GLib.List<void*> payloaders;
170 public weak Gst.Caps raw_acaps;
171 public weak Gst.Caps raw_vcaps;
172 [CCode (has_construct_function = false)]
173 public RTSPMediaFactoryURI ();
174 public string get_uri ();
175 public void set_uri (string uri);
176 public string uri { owned get; set; }
178 public bool use_gstpay { get; set; }
180 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_media_mapping_get_type ()")]
181 public class RTSPMediaMapping : GLib.Object {
182 public weak GLib.HashTable<void*,void*> mappings;
183 [CCode (has_construct_function = false)]
184 public RTSPMediaMapping ();
185 public void add_factory (string path, owned Gst.RTSPMediaFactory factory);
186 public virtual Gst.RTSPMediaFactory? find_factory (Gst.RTSP.Url url);
187 public void remove_factory (string path);
189 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_server_get_type ()")]
190 public class RTSPServer : GLib.Object {
191 public weak Gst.RTSPAuth auth;
192 public weak GLib.List<void*> clients;
193 public weak GLib.Mutex @lock;
194 public weak GLib.Socket socket;
195 [CCode (has_construct_function = false)]
196 public RTSPServer ();
198 public virtual bool accept_client (Gst.RTSPClient client, GLib.Socket socket) throws GLib.Error;
199 public uint attach (GLib.MainContext? context);
200 public GLib.Socket create_socket (GLib.Cancellable? cancellable = null) throws GLib.Error;
201 public GLib.Source create_source (GLib.Cancellable? cancellable = null) throws GLib.Error;
202 public string get_address ();
203 public Gst.RTSPAuth get_auth ();
204 public int get_backlog ();
205 public int get_bound_port ();
206 public Gst.RTSPMediaMapping get_media_mapping ();
207 public string get_service ();
208 public Gst.RTSPSessionPool get_session_pool ();
209 public static bool io_func (GLib.Socket socket, GLib.IOCondition condition, Gst.RTSPServer server);
210 public void set_address (string address);
211 public void set_auth (Gst.RTSPAuth auth);
212 public void set_backlog (int backlog);
213 public void set_media_mapping (Gst.RTSPMediaMapping mapping);
214 public void set_service (string service);
215 public void set_session_pool (Gst.RTSPSessionPool pool);
216 public bool transfer_connection (GLib.Socket socket, string ip, int port, string initial_buffer);
217 public string address { owned get; set; }
218 public int backlog { get; set; }
219 public int bound_port { get; }
220 public Gst.RTSPMediaMapping media_mapping { owned get; set; }
221 public string service { owned get; set; }
222 public Gst.RTSPSessionPool session_pool { owned get; set; }
223 public virtual signal void client_connected (Gst.RTSPClient client);
225 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_session_get_type ()")]
226 public class RTSPSession : GLib.Object {
227 public GLib.TimeVal create_time;
228 public int expire_count;
229 public GLib.TimeVal last_access;
230 public weak GLib.List<void*> medias;
231 [CCode (has_construct_function = false)]
232 public RTSPSession (string sessionid);
233 public void allow_expire ();
234 public unowned Gst.RTSPSessionMedia get_media (Gst.RTSP.Url url);
235 public unowned string get_sessionid ();
236 public uint get_timeout ();
237 public bool is_expired (GLib.TimeVal now);
238 public unowned Gst.RTSPSessionMedia manage_media (Gst.RTSP.Url uri, owned Gst.RTSPMedia media);
239 public int next_timeout (GLib.TimeVal now);
240 public void prevent_expire ();
241 public bool release_media (Gst.RTSPSessionMedia media);
242 public void set_timeout (uint timeout);
243 public void touch ();
244 public string sessionid { get; construct; }
245 public uint timeout { get; set; }
247 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_session_media_get_type ()")]
248 public class RTSPSessionMedia : GLib.Object {
250 public weak Gst.RTSPMedia media;
251 public Gst.RTSP.State state;
252 public weak GLib.GenericArray<void*> transports;
253 public weak Gst.RTSP.Url url;
254 [CCode (has_construct_function = false)]
255 public RTSPSessionMedia (Gst.RTSP.Url url, Gst.RTSPMedia media);
256 public bool alloc_channels (Gst.RTSP.Range range);
257 public unowned Gst.RTSPStreamTransport get_transport (uint idx);
258 public bool set_state (Gst.State state);
259 public unowned Gst.RTSPStreamTransport set_transport (Gst.RTSPStream stream, Gst.RTSP.Transport tr);
261 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_session_pool_get_type ()")]
262 public class RTSPSessionPool : GLib.Object {
263 public weak GLib.Mutex @lock;
264 public weak GLib.HashTable<void*,void*> sessions;
265 [CCode (has_construct_function = false)]
266 public RTSPSessionPool ();
267 public uint cleanup ();
268 public unowned Gst.RTSPSession create ();
270 public virtual string create_session_id ();
271 public GLib.Source create_watch ();
272 public GLib.List<Gst.RTSPSession> filter (Gst.RTSPSessionFilterFunc func);
273 public Gst.RTSPSession find (string sessionid);
274 public uint get_max_sessions ();
275 public uint get_n_sessions ();
276 public bool remove (Gst.RTSPSession sess);
277 public void set_max_sessions (uint max);
278 public uint max_sessions { get; set; }
280 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_stream_get_type ()")]
281 public class RTSPStream : GLib.Object {
282 [CCode (array_length = false, array_null_terminated = true)]
283 public weak Gst.Element[] appqueue;
284 [CCode (array_length = false, array_null_terminated = true)]
285 public weak Gst.Element[] appsink;
286 [CCode (array_length = false, array_null_terminated = true)]
287 public weak Gst.Element[] appsrc;
288 public uint buffer_size;
289 public weak Gst.Caps caps;
290 public ulong caps_sig;
291 [CCode (array_length = false, array_null_terminated = true)]
292 public weak Gst.Element[] funnel;
295 public bool is_joined;
296 public uint n_active;
297 public weak Gst.Element payloader;
298 [CCode (array_length = false, array_null_terminated = true)]
299 public weak Gst.Pad[] recv_sink;
300 public weak Gst.Pad send_rtp_sink;
301 [CCode (array_length = false, array_null_terminated = true)]
302 public weak Gst.Pad[] send_src;
303 public Gst.RTSP.Range server_port;
304 public weak GLib.Object session;
305 public weak Gst.Pad srcpad;
306 [CCode (array_length = false, array_null_terminated = true)]
307 public weak Gst.Element[] tee;
308 public weak GLib.List<void*> transports;
309 [CCode (array_length = false, array_null_terminated = true)]
310 public weak Gst.Element[] udpsink;
311 [CCode (array_length = false, array_null_terminated = true)]
312 public weak Gst.Element[] udpsrc;
313 [CCode (has_construct_function = false)]
314 public RTSPStream (uint idx, Gst.Element payloader, Gst.Pad srcpad);
315 public bool add_transport (Gst.RTSPStreamTransport trans);
316 public uint get_mtu ();
317 public bool get_rtpinfo (uint rtptime, uint seq);
318 public bool join_bin (Gst.Bin bin, Gst.Element rtpbin, Gst.State state);
319 public bool leave_bin (Gst.Bin bin, Gst.Element rtpbin);
320 public Gst.FlowReturn recv_rtcp (owned Gst.Buffer buffer);
321 public Gst.FlowReturn recv_rtp (owned Gst.Buffer buffer);
322 public bool remove_transport (Gst.RTSPStreamTransport trans);
323 public void set_mtu (uint mtu);
325 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_stream_transport_get_type ()")]
326 public class RTSPStreamTransport : GLib.Object {
328 public weak GLib.DestroyNotify ka_notify;
329 public void* ka_user_data;
330 public weak Gst.RTSPKeepAliveFunc keep_alive;
331 public weak GLib.DestroyNotify notify;
332 public weak GLib.Object rtpsource;
333 public weak Gst.RTSPSendFunc send_rtcp;
334 public weak Gst.RTSPSendFunc send_rtp;
335 public weak Gst.RTSPStream stream;
337 public Gst.RTSP.Transport transport;
338 public void* user_data;
339 [CCode (has_construct_function = false)]
340 public RTSPStreamTransport (Gst.RTSPStream stream, owned Gst.RTSP.Transport tr);
341 public void set_callbacks (Gst.RTSPSendFunc send_rtp, owned Gst.RTSPSendFunc send_rtcp);
342 public void set_keepalive (owned Gst.RTSPKeepAliveFunc keep_alive);
343 public void set_transport (owned Gst.RTSP.Transport tr);
345 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", has_type_id = false)]
346 public struct RTSPClientState {
347 public Gst.RTSP.Message request;
348 public weak Gst.RTSP.Url uri;
349 public Gst.RTSP.Method method;
350 public weak Gst.RTSPSession session;
351 public weak Gst.RTSPSessionMedia sessmedia;
352 public weak Gst.RTSPMediaFactory factory;
353 public weak Gst.RTSPMedia media;
354 public weak Gst.RTSPStream stream;
355 public Gst.RTSP.Message response;
357 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", has_type_id = false)]
358 public struct SDPInfo {
359 public weak string server_proto;
360 public weak string server_ip;
362 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", cprefix = "GST_RTSP_FILTER_", has_type_id = false)]
363 public enum RTSPFilterResult {
368 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", cprefix = "GST_RTSP_MEDIA_STATUS_", has_type_id = false)]
369 public enum RTSPMediaStatus {
376 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", instance_pos = 0.9)]
377 public delegate void RTSPKeepAliveFunc ();
378 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", instance_pos = 2.9)]
379 public delegate bool RTSPSendFunc (Gst.Buffer buffer, uint8 channel);
380 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", instance_pos = 2.9)]
381 public delegate Gst.RTSPFilterResult RTSPSessionFilterFunc (Gst.RTSPSessionPool pool, Gst.RTSPSession session);
382 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", instance_pos = 1.9)]
383 public delegate bool RTSPSessionPoolFunc (Gst.RTSPSessionPool pool);
384 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h")]
385 public static Gst.RTSP.Result rtsp_params_get (Gst.RTSPClient client, Gst.RTSPClientState state);
386 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h")]
387 public static Gst.RTSP.Result rtsp_params_set (Gst.RTSPClient client, Gst.RTSPClientState state);
388 [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h")]
389 public static bool rtsp_sdp_from_media (Gst.SDP.Message sdp, Gst.SDPInfo info, Gst.RTSPMedia media);