Commit graph

110 commits

Author SHA1 Message Date
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
Wim Taymans
c59d9e2970 client: delegate setup of auth to the manager
Delegate the configuration of the authentication tokens to the manager object
when configured.
2011-01-12 00:35:28 +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
da35feb1aa rtsp: move network includes where they are needed 2011-01-11 22:42:25 +01:00
Jonas Larsson
b5a1719e89 client: use the socket length from getsockname
Use the length returned by getsockname to perform the getnameinfo call because
the size can depend on the socket type and platform.

Fixes #638723
2011-01-05 11:26:30 +01:00
Wim Taymans
160fc25867 docs: improve docs 2010-12-30 12:41:31 +01:00
Wim Taymans
50b4c8de98 rtsp-server: add support for buffer lists
Add support for sending bufferlists received from appsink.

Fixes #635832
2010-12-29 16:26:41 +01:00
Wim Taymans
4234d96314 media: make method to retrieve the play range
Make a method to retrieve the playback range so that we can conditionally create
a different range for the SDP and the PLAY requests.
2010-12-28 18:35:01 +01:00