Commit graph

68 commits

Author SHA1 Message Date
Ognyan Tonchev
c5b3066c33 rtsp-server: Expose the use_client_settings API
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=699935
2013-06-03 12:04:44 +02:00
Wim Taymans
0a285290cb server: add support for TLS
Add methods to set and get a TLS certificate.
Add vmethod to configure a new connection. By default, configure the TLS
certificate in a new connection if needed.
2013-05-31 11:42:36 +02:00
Wim Taymans
531ffca018 server: remove accept_client vmethod
This vmethod is not very useful so remove it.
2013-05-31 11:14:17 +02:00
Wim Taymans
0091339254 server: don't crash on NULL GError 2013-05-30 17:23:51 +02:00
Wim Taymans
d638b03ff9 server: refactor connection setup
Let the server accept the socket connection and construct a GstRTSPConnection
from it. Remove the code from the client and let the client only deal with
a fully configure GstRTSPConnection object.

We will need this later when the server will configure the connection for
TLS.
2013-05-30 07:18:22 +02:00
Alexander Schrab
c75e1c6b47 rtsp-server: Do not crash on nmapping of server
* generate error when gst_rtsp_connection_accept fails
* do not stop accepting incoming connections because
  accepting a client fails

https://bugzilla.gnome.org/show_bug.cgi?id=701072
2013-05-27 13:20:36 +02:00
Olivier Crête
4c61c6d308 rtsp-server: Limit the number of threads per server instance
If we exceed the maximum, just round robin the clients over the existing
threads.
2013-03-11 11:07:20 +01:00
Olivier Crête
4071e1b999 rtsp-server: No need to store the GMainContext in the client context 2013-03-11 11:07:20 +01:00
Olivier Crête
b9d111372e Document locking and its order 2013-03-11 11:07:19 +01:00
Wim Taymans
ad00c5e792 rtsp: make object details private
Make all object details private
Add methods to access private bits
2012-11-29 11:11:05 +01:00
Wim Taymans
8da4171055 client: remove reference to server
We don't need to keep a ref to the server
2012-11-26 16:39:26 +01:00
Wim Taymans
1d53c46d23 MediaMapping -> MountPoints
Describes better what the object manages.
2012-11-26 12:37:55 +01:00
David Svensson Fors
0eeb4a5c73 server: start and stop multiple times
Stop listening on the RTSP port when the GSource is removed, so clients
can't connect and the server can be started again.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688395
2012-11-20 11:30:37 +01:00
Wim Taymans
8a7197f078 server: fix small leak 2012-11-20 11:24:35 +01:00
Wim Taymans
7d6e4606fa server: set default max-threads property 2012-11-13 12:05:42 +01:00
Wim Taymans
65fa516677 server: free old socket 2012-11-12 16:30:16 +01:00
Wim Taymans
06cadebe71 server: add max-thread property 2012-11-12 15:53:28 +01:00
Wim Taymans
8523c9ca92 server: use a threadpool for the mainloops 2012-11-12 15:29:39 +01:00
Wim Taymans
a58d404e1f server: rework maincontext handling in clients
Make a separate method to attach a client to a MainContext.

Let the server decide in what GMainContext the client will operate and give this
context to the client in attach. Then the server can later decide to use a
separate thread for each client or just use the mainthread.
2012-11-12 15:01:09 +01:00
Tim-Philipp Müller
4dba434f16 Fix FSF address 2012-11-04 00:14:25 +00:00
Wim Taymans
348b7f9c21 docs: update docs 2012-10-26 12:35:20 +02:00
Ognyan Tonchev
78bde6fa3e rtsp-server: don't ref server socket if it is NULL
Fixes test_bind_already_in_use unit test again after commit 6a497440.

https://bugzilla.gnome.org/show_bug.cgi?id=686644
2012-10-22 18:11:28 +01:00
Sebastian Pölsterl
e11e855ac8 rtsp-server: fixed comments and GIR annotations
https://bugzilla.gnome.org/show_bug.cgi?id=680777
2012-10-18 19:17:01 +01:00
Alessandro Decina
1e954a1a5e rtsp-server: allow binding on port 0 (binds on a random port) 2012-10-15 10:50:27 +02:00
Alessandro Decina
6a49744088 rtsp-server: add bound-port property
bound-port can be used to retrieve the port number when the server is bound on
port 0, which binds on a random port.
2012-10-15 10:50:27 +02:00
Wim Taymans
87c73c06fb server: remove obsolete includes 2012-09-07 17:14:10 +02:00
Patricia Muscalu
50e4c7e8c4 rtsp-server: fixed segfault in gst_rtsp_server_create_socket
Do not assume that *error is set in g_socket_address_enumerator_next.
Added test_bind_already_in_use unit-test.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681914
2012-08-20 11:49:27 +02:00
Ognyan Tonchev
ed66f974dd rtsp-server: use an existing socket to establish HTTP tunnel
Make it possible to transfer a socket from an HTTP server to be used as
an RTSP over HTTP tunnel.
2012-07-10 11:38:05 +02:00
David Svensson Fors
ffa3166fbd rtsp: fix compiler warnings
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676500
2012-05-22 15:37:25 +02:00
Wim Taymans
6cc2fb9bfc rtsp-server: port to new thread API 2012-05-11 09:42:47 +02:00
Wim Taymans
4c59e211e2 rtsp-server: port to GIO
Port to GIO
2012-03-07 15:04:29 +01:00
mat
20b6be3852 #ifdef statements for windows socket creation were missing 2011-11-03 11:56:51 +01:00
David Schleef
041b62db8b rtsp-server: hold on to reference while using object 2011-08-11 18:07:08 -07:00
Fabian Deutsch
6ef7c966ae Add a signal for newly connected clients.
Signed-off-by: Fabian Deutsch <fabian.deutsch@gmx.de>
2011-05-17 09:44:14 +02:00
Wim Taymans
325b2cf8a2 rtsp-server: clarify docs a little 2011-01-19 15:29:55 +01:00
Wim Taymans
b076933f5e server: add locking 2011-01-12 18:57:41 +01:00
Wim Taymans
94c9999715 server: ensure the watch has a ref to the server 2011-01-12 18:26:57 +01:00
Wim Taymans
3315031bf6 server: simpify channel function 2011-01-12 18:24:44 +01:00
Wim Taymans
ba4d65a673 server: simplify management of channel and source
We don't need to keep around the channel and source objects. Let the mainloop
and the source manage the source and channel respectively.
2011-01-12 18:18:13 +01:00
Wim Taymans
0ef53a2d4f server: chain up to the parent finalize 2011-01-12 16:38:34 +01:00
Wim Taymans
318b3a1df4 server: use signal to keep track of clients
Keep track of all the clients that the server creates and remove them when they
fire the 'closed' signal.
2011-01-12 15:36:22 +01:00
Wim Taymans
6915572695 server: unref auth in finalize 2011-01-12 12:07:04 +01:00
Wim Taymans
6d6ba1ee61 server: separate create and accept
Create separate create and accept methods so that subclasses can create custom
client object.
Configure the server in the client object and prepare for keeping track of
connected clients.
2011-01-12 10:57:08 +01:00
Wim Taymans
5fb5f75020 auth: add authentication object
Add an object that can check the authorization of requests.
Implement basic authentication.
Add example authentication to test-video
2011-01-12 00:22:27 +01:00
Wim Taymans
61bee9985a server: move includes back
the includes are needed for sockaddr_in.
2011-01-12 00:20:36 +01:00
Wim Taymans
da35feb1aa rtsp: move network includes where they are needed 2011-01-11 22:42:25 +01:00
Wim Taymans
ad2e0edee5 server: set SO_REUSEADDR before bind
Set the SO_REUSEADDR _before_ bind() to make it actually work.
2010-12-18 11:24:48 +01:00
Edward Hervey
eb83fc6318 rtsp-server: Run gst-indent
Since it wasn't using the upstream common previously, there was no
indentation check before commiting.
2010-12-11 10:48:42 +01:00
Wim Taymans
af732fa749 server: disable use of SO_LINGER
SO_LINGER cause the client to fail to receive a TEARDOWN message because the
server close()s the connection.
2010-08-20 10:18:34 +02:00
Wim Taymans
2607ff079d server: use 5 second linger period in SO_LINGER
Wait 5 seconds before clearing the send buffers and reseting the connection with
the client when we do a close. This should be enough time to get the message to
the client.

See #622757
2010-08-19 18:52:47 +02:00