Commit graph

117 commits

Author SHA1 Message Date
Wim Taymans c431592976 client: rename method
gst_rtsp_client_create_from_socket -> gst_rtsp_client_use_socket: we
don't really create the client from the socket, we use the socket for the
client.
2012-11-12 15:01:13 +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
Wim Taymans 5b4340067a session: move session header code in session object 2012-11-12 12:40:34 +01:00
Tim-Philipp Müller 4dba434f16 Fix FSF address 2012-11-04 00:14:25 +00:00
Wim Taymans 543aa383e7 rtsp: only create transport when needed
Only create the StreamTransport when configured.
2012-10-28 00:23:57 +02:00
Wim Taymans 66a29c7ed9 client: small cleanup 2012-10-27 23:53:35 +02:00
Wim Taymans fb117a4f75 rtsp: refactor configuration of transport
Move the configuration of the transport to a place where it makes
more sense.
2012-10-27 23:49:24 +02:00
Wim Taymans 8c30d050fa client: refactor transport parsing 2012-10-27 21:26:55 +02:00
Wim Taymans fee8216513 client: refuse to change the MTU on shared media
If we change the MTU of chared media, it changes for all clients.
We don't want to set the MTU to something large for clients that
stream over UDP.
2012-10-27 21:05:03 +02:00
Wim Taymans 6b7ff45ca6 rtsp: fix MTU setting
Fix setting of the MTU. There is no need for a vmethod.
2012-10-26 12:35:20 +02:00
Wim Taymans de7c72dec2 rtsp: massive refactoring
Make GObjects from the remaining simple structures.
Remove GstRTSPSessionStream, it's not needed.
Rename GstRTSPMediaStream -> GstRTSPStream: It is shorter
Rename GstRTSPMediaTrans -> GstRTSPStreamTransport: It describes how
  a GstRTSPStream should be transported to a client.
Rename GstRTSPMediaFactory::get_element -> create_element because that
  more accurately describes what it does.
Make nice methods instead of poking in the structures.
Move some methods inside the relevant object source code.
Use GPtrArray to store objects instead of plain arrays, it is more
  natural and allows us to more easily clean up.
Move the allocation of udp ports to the Stream object. The Stream object
  contains the elements needed to stream the media to a client.
Improve the prepare and unprepare methods. Unprepare should now undo
  everything prepare did. Improve also async unprepare when doing EOS on
  shutdown. Make sure we always unprepare correctly.
2012-10-25 21:29:58 +02:00
Sebastian Rasmussen 0de6262dc4 rtsp-client: Unref server address clients connected to
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686725
2012-10-23 23:05:45 +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
Ognyan Tonchev d581b7bd4e client: Use client transport settings for multicast if allowed.
This patch makes it possible for the client to send transport settings for
multicast (destination && ttl). Client settings must be explicitly allowed or
the server will use its own settings.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685561
2012-10-10 11:07:59 +02:00
Patricia Muscalu 870b8db279 rtsp-client: do not destroy the rtsp watch
Don't destroy the client watch while dispatching.  The rtsp watch is
automatically destroyed after the rtsp watch function closed() has
been called.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685220
2012-10-05 11:44:32 +02:00
Wim Taymans 3e55e0e467 client: use more GIO
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681593
2012-09-07 17:14:30 +02:00
Aleix Conchillo Flaque bef57648b8 rtsp-client: add signals for rtsp requests (fixes #683287) 2012-09-07 16:41:29 +02:00
Aleix Conchillo Flaque ebc4ce4de1 add new-session signal to rtsp-client (fixes #683058) 2012-08-30 22:00:30 +02:00
Patricia Muscalu 228e2ccc2d rtsp-client: make create_sdp virtual method
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680173
2012-07-24 12:52:53 +02:00
Wim Taymans f305020636 client: fix docs 2012-07-10 11:39:58 +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
Ognyan Tonchev 86e53af34a rtsp: Handle the blocksize parameter
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679325
2012-07-10 11:26:01 +02:00
Wim Taymans 853128e1c7 client: don't leak transports 2012-06-14 10:14:06 +02:00
David Svensson Fors 3f49c2d8f4 rtsp-client: free transport on no_stream in SETUP handler 2012-06-14 10:14:06 +02:00
David Svensson Fors 8f5d82be6d rtsp-client: changed session media iteration
In client_unlink_session: now don't iterate in session->medias
list where items are removed by gst_rtsp_session_release_media.
Instead, repeatedly remove the first item.
2012-06-14 10:14:06 +02:00
David Svensson Fors dc796bf075 rtsp-client: don't use g_object_unref on GstRTSPSessionMedia
GstRTSPSessionMedia is not a GObject type. When the
GstRTSPSession is freed, it will free the media.
2012-06-14 10:14:06 +02:00
David Svensson Fors 7b145aeeab client: fix GSocketAddress leak in gst_rtsp_client_accept
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677463
2012-06-06 14:49:40 +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
Sebastian Dröge e2f10f5ba5 rtsp-server: Fix compilation and compiler warnings 2012-04-13 15:27:22 +02:00
Wim Taymans 4c59e211e2 rtsp-server: port to GIO
Port to GIO
2012-03-07 15:04:29 +01:00
Tim-Philipp Müller e67a1c664c rtsp-client: update for new map API 2012-02-13 11:06:33 +00:00
Wim Taymans fde25cd9c3 rtsp-server: port some more to 0.11
Fix caps.
Remove bufferlist stuff
Update for new API.
Add queue before appsink now that preroll-queue-len is gone.
Update for request pad changes.
2011-12-09 10:53:30 +01:00
Wim Taymans 6fa73b2552 client: use method to access property 2011-08-16 16:07:04 +02:00
Wim Taymans 9573058f54 client: use media multicast group 2011-08-16 13:43:44 +02:00
Robert Krakora ae67971cde sdp: copy and free the server ip address
Copy and free the server ip address to make memory management easier later.
2011-08-16 13:31:52 +02:00
Wim Taymans b0e22d6861 client: do configuration of transport in one place
Move the configuration of the transport destination address to where we also
configure the other bits.
2011-08-16 12:51:44 +02:00
Wim Taymans 8749b1e08f Merge branch 'master' into 0.11 2011-08-16 12:11:59 +02:00
Robert Krakora f7223cfdab client: destroy pipeline on client disconnect with no prior TEARDOWN.
The problem occurs when the client abruptly closes the connection without
issuing a TEARDOWN.  The TEARDOWN handler in the rtsp-client.c file of the RTSP
server is where the pipeline gets torn down.  Since this handler is not called,
the pipeline remains and is up and running.  Subsequent clients get their own
pipelines and if the do not issue TEARDOWNs then those pipelines will also
remain up and running.  This is a resource leak.
2011-08-16 12:09:48 +02:00
Wim Taymans b5aa7628bf Merge branch 'master' into 0.11 2011-08-16 11:12:33 +02:00
David Schleef aa128813fe client: fix reference counting 2011-07-27 15:02:08 -07:00
Thijs Vermeir 93fb73b46f fix compiler warnings about unused variables 2011-07-20 17:16:42 +02:00
Wim Taymans bd8eb8f3d9 client: update for buffer API change 2011-06-13 19:05:57 +02:00
Wim Taymans 914b481e42 rtsp-server: port to 0.11 2011-04-26 19:22:50 +02:00
Wim Taymans df0e2c2859 client: use the response from the clientstate
Create the response object only once and store in the client state.
Make all methods use the state response,
2011-01-12 15:37:39 +01:00
Wim Taymans 4a4a15077b client: emit signal when closing 2011-01-12 15:35:51 +01:00
Wim Taymans 7797023fda media: enable per factory authorisations
Allow for adding a GstRTSPAuth on the factory and media level and check
permissions when accessing the factory.
Add hints to the auth methods for future more fine grained authorisation.
Add example application for per factory authentication.
2011-01-12 13:57:09 +01:00
Wim Taymans 5773df1d52 rtsp-server: Pass ClientState structure arround
Pass the collected information for the ongoing request in a GstRTSPClientState
structure that we can then pass around to simplify the method arguments. This
will also be handy when we implement logging functionality.
2011-01-12 13:16:08 +01:00
Wim Taymans 748d044b62 client: unref auth in finalize 2011-01-12 12:07:20 +01:00
Wim Taymans 8ccebd90b4 client: add support for setting the server.
Add support for keeping a ref to the server that started this client
connection.
2011-01-12 10:42:52 +01:00