Commit graph

63 commits

Author SHA1 Message Date
Wim Taymans
1be35624da Do some more session cleanup
Make session timeout kill the TCP connection that currently watches the
session.
Remove the client timeout property.
2009-03-11 19:38:06 +01:00
Wim Taymans
ebc28a47da Add TCP transports
Use appsrc and appsink to send and receive RTP/RTCP packets in the TCP
connection.
2009-03-11 16:45:12 +01:00
Wim Taymans
2f8025dbdd rtsp-server: Add support for tunneling
Add support for tunneling over HTTP.
Use new connection methods to retrieve the url.
Dispatch messages based on the message type instead of blindly
assuming it's always a request.
Keep track of the watch id so that we can remove it later.
Set the media pipeline to NULL before unreffing the pipeline.
2009-03-04 12:53:07 +01:00
Wim Taymans
daf27d2704 Fix for channel -> watch rename in gstreamer
Rename the RTSPChannel to RTSPWatch and remove an unused variable.
2009-02-19 15:53:50 +01:00
Wim Taymans
39c2e31e65 Use ASYNC RTSP io
Use the async RTSP channels instead of spawning a new thread for each client.
If a sessionid is specified in a request, fail if we don't have the session.
2009-02-18 18:57:31 +01:00
Wim Taymans
34152ec840 Add timeout property
Add a timeout property ot the client and make the other properties into GObject
properties.
2009-02-10 16:24:13 +01:00
Wim Taymans
b19b1fbe6b Cleanups and reuse media from DESCRIBE
Handle thread create errors.
Rename some internal methods to better match what they actually do.
Handle misconfiguration of session_pool and media_mapping gracefully.
Cache the DESCRIBE media and uri in the client connection and reuse them when
we receive a SETUP request in the same connection for the same uri.
Cleanup the client connection object.
2009-01-30 12:17:51 +01:00
Wim Taymans
41dd6399a6 Reorganize things, prepare for media sharing
Added various other test server examples
Move the SDP message generation to a separate helper.
Refactor common code for finding the session.
Add content-base for realplayer compatibility
Clean up request uris before processing for better vlc compatibility.
Move prerolling and pipeline construction to the RTSPMedia object.
Use multiudpsink for future pipeline reuse.
2009-01-30 12:17:28 +01:00
Wim Taymans
4b1c190a5f Make the server handle arbitrary pipelines
Make GstMediaFactory an object that can instantiate GstMediaBin objects.
The GstMediaBin object has a handle to a bin with elements and to a list of
GstMediaStream objects that this bin produces.

Add GstMediaMapper that can map url mountpoints to GstMediaFactory objects along
with methods to register and remove those mappings.

Add methods and a property to GstRTSPServer to manage the GstMediaMapper object
used by the server instance.

Modify the example application so that it shows how to create custom pipelines
attached to a specific mount point.

Various misc cleanps.
2009-01-22 15:33:29 +01:00
Wim Taymans
94d60a8611 Allow setting a custom media factory for a client. 2009-01-20 19:46:21 +01:00
Wim Taymans
b312f98627 Move the connection code in one place
Add some comments
2009-01-20 13:57:47 +01:00
Wim Taymans
8d2ace0026 Name the parameters more appropriately. 2009-01-19 19:34:29 +01:00
Wim Taymans
7889395787 Split in library and example program 2009-01-08 13:18:55 +01:00
Renamed from src/rtsp-client.h (Browse further)