Wim Taymans [Wed, 27 Jan 2010 17:38:27 +0000 (18:38 +0100)]
rtsp-client: implement error_full
Implement error_full to avoid some segfaults when the rtspconnection calls it.
See #608245
Wim Taymans [Fri, 25 Dec 2009 17:24:10 +0000 (18:24 +0100)]
docs: update docs and comments
Nikolay Ivanov [Fri, 25 Dec 2009 14:22:23 +0000 (15:22 +0100)]
sdp: make server work better when behind a proxy
Sebastian Pölsterl [Sat, 21 Nov 2009 00:17:25 +0000 (01:17 +0100)]
client: dump rtsp message only if debug threshold is higher than GST_LEVEL_LOG
Sebastian Pölsterl [Sat, 21 Nov 2009 18:20:23 +0000 (19:20 +0100)]
Use GStreamer's debugging subsystem
Sebastian Pölsterl [Sat, 21 Nov 2009 00:00:39 +0000 (01:00 +0100)]
server: Set ghost pad active in gst_rtsp_media_factory_collect_streams
Wim Taymans [Thu, 5 Nov 2009 10:22:44 +0000 (11:22 +0100)]
back to development
Wim Taymans [Thu, 5 Nov 2009 10:20:45 +0000 (11:20 +0100)]
release 0.10.5
Wim Taymans [Wed, 14 Oct 2009 10:11:31 +0000 (12:11 +0200)]
configure: bump required versions
Luca Ognibene [Sun, 11 Oct 2009 11:57:54 +0000 (13:57 +0200)]
client: call weak-unref on client->sessions from finalize
Fixes bug #596305
Sebastian Pölsterl [Fri, 9 Oct 2009 21:08:18 +0000 (23:08 +0200)]
media: Fixed crasher where caps got unref'ed too often
Sebastian Pölsterl [Fri, 9 Oct 2009 14:26:30 +0000 (16:26 +0200)]
Added pkg-config file to use gst-rtsp-server uninstalled
Wim Taymans [Fri, 11 Sep 2009 11:52:27 +0000 (13:52 +0200)]
media: add some docs
Peter Kjellerstedt [Mon, 24 Aug 2009 11:27:00 +0000 (13:27 +0200)]
rtsp: Use gst_rtsp_watch_send_message().
Use gst_rtsp_watch_send_message() since the old API which used
gst_rtsp_watch_queue_message() has been deprecated.
Wim Taymans [Wed, 5 Aug 2009 09:53:56 +0000 (11:53 +0200)]
back to development
Wim Taymans [Wed, 5 Aug 2009 09:44:49 +0000 (11:44 +0200)]
Release 0.10.4
Wim Taymans [Mon, 27 Jul 2009 17:42:44 +0000 (19:42 +0200)]
rtsp: allocate channels in TCP mode
When the client does not provide us with channels in TCP mode, allocate channels
ourselves.
Wim Taymans [Fri, 24 Jul 2009 10:49:41 +0000 (12:49 +0200)]
client: don't crash when tunnelid is missing
When a clients tries to open an HTTP tunnel but fails to provide a tunnelid,
don't crash but return an error response to the client.
Fixes #589489
Sebastian Pölsterl [Mon, 13 Jul 2009 09:31:23 +0000 (11:31 +0200)]
bindings: update vala bindings with new method
Wim Taymans [Tue, 30 Jun 2009 19:27:53 +0000 (21:27 +0200)]
sessionpool: add function to filter sessions
Add generic function to retrieve/remove sessions.
Tim-Philipp Müller [Mon, 22 Jun 2009 17:57:25 +0000 (18:57 +0100)]
configure: bump core/base requirements to release
Wim Taymans [Thu, 18 Jun 2009 14:05:18 +0000 (16:05 +0200)]
media: fix indentation
Sebastian Pölsterl [Sun, 14 Jun 2009 21:12:13 +0000 (23:12 +0200)]
Unref pipeline and set it to NULL. Set stream's caps to NULL, otherwise we unref it too often.
Sebastian Pölsterl [Sat, 13 Jun 2009 14:05:02 +0000 (16:05 +0200)]
set state and remove elements of media in for loop
Sebastian [Sat, 13 Jun 2009 12:38:39 +0000 (14:38 +0200)]
Added gst_rtsp_media_remove_elements function to Vala bindings
Sebastian [Sat, 13 Jun 2009 12:38:20 +0000 (14:38 +0200)]
Added gst_rtsp_media_remove_elements function
Sebastian [Fri, 12 Jun 2009 20:22:40 +0000 (22:22 +0200)]
Don't use name for gstrtpbin so we can add multiple instances to the pipeline
Sebastian Pölsterl [Fri, 12 Jun 2009 17:28:04 +0000 (19:28 +0200)]
Updated Vala bindings
Sebastian Pölsterl [Fri, 12 Jun 2009 16:05:30 +0000 (18:05 +0200)]
Added vmethod unprepare to GstRTSPMedia
The default implementation sets the state of the pipeline to GST_STATE_NULL
Sebastian Pölsterl [Fri, 12 Jun 2009 15:51:44 +0000 (17:51 +0200)]
Made collect_streams function public
Sebastian Pölsterl [Fri, 12 Jun 2009 15:45:29 +0000 (17:45 +0200)]
Added vmethod create_pipeline to GstRTSPMediaFactory
The pipeline is created in this method and the GstRTSPMedia's element is added to it
Wim Taymans [Thu, 11 Jun 2009 09:27:47 +0000 (11:27 +0200)]
client: use g_source_destroy()
We need to use g_source_destroy() because we might have added the source to a
different main context than the default one.
Wim Taymans [Tue, 9 Jun 2009 22:01:07 +0000 (00:01 +0200)]
rtsp: prepare for handling GET/SET_PARAMETER
Add helper functions to handle GET/SET_PARAMETER. Reply with an error when there
is a body now.
Fix return codes of handlers.
Wim Taymans [Thu, 4 Jun 2009 17:20:26 +0000 (19:20 +0200)]
media: don't leak session pads
Wim Taymans [Thu, 4 Jun 2009 16:32:15 +0000 (18:32 +0200)]
media: clean up the messages a bit
Wim Taymans [Wed, 3 Jun 2009 10:13:21 +0000 (12:13 +0200)]
sdp: warn and skip streams without media
Sebastian Pölsterl [Sat, 30 May 2009 12:38:34 +0000 (14:38 +0200)]
vala: Fixed typo in header file of RTSPMediaStream
Wim Taymans [Wed, 27 May 2009 09:15:22 +0000 (11:15 +0200)]
media: fix message
Fix a debug message
Make dumping RTCP stats configurable
Wim Taymans [Tue, 26 May 2009 17:20:07 +0000 (19:20 +0200)]
media: be less verbose and leak less
Wim Taymans [Tue, 26 May 2009 17:05:07 +0000 (19:05 +0200)]
media: don't leak the destination address
Wim Taymans [Tue, 26 May 2009 17:01:10 +0000 (19:01 +0200)]
rtsp: use RTCP to keep the session alive
Use the RTCP rtcp-from stats field to find the associated session and use this
to keep the session alive.
Wim Taymans [Tue, 26 May 2009 15:27:07 +0000 (17:27 +0200)]
session: add 5sec to the real session timeout
Allow the session to live 5sec longer before really timing out. This should give
clients some extra time to keep the session active.
Wim Taymans [Tue, 26 May 2009 15:25:59 +0000 (17:25 +0200)]
client: replay OK to GET/SET_PARAMETER
Some clients (vlc) use GET/SET_PARAMETER to keep the TCP session open. Make it
so that we return OK for those requests.
Wim Taymans [Tue, 26 May 2009 09:42:41 +0000 (11:42 +0200)]
media: keep track of active transports
Keep track of which transport is active to avoid closing the connection too
soon.
Remove the destination transport also when going to NULL.
Print some stats about the SDES and other RTCP messages we receive from the
clients.
Wim Taymans [Sun, 24 May 2009 18:00:19 +0000 (20:00 +0200)]
example: add SDP relay example
Wim Taymans [Sun, 24 May 2009 17:56:45 +0000 (19:56 +0200)]
media: also count active TCP connections
Wim Taymans [Sun, 24 May 2009 17:34:52 +0000 (19:34 +0200)]
rtsp: add support for dynamic elements
Add support for dynamic elements.
Don't set live pipelines back to paused.
Wim Taymans [Sun, 24 May 2009 17:33:22 +0000 (19:33 +0200)]
sdp: don't add encoding name when absent in caps
Wim Taymans [Sat, 23 May 2009 14:30:55 +0000 (16:30 +0200)]
client: warn when we can't do RTP-Info
Wim Taymans [Sat, 23 May 2009 14:18:04 +0000 (16:18 +0200)]
factory: factor out the stream construction
Wim Taymans [Sat, 23 May 2009 14:17:02 +0000 (16:17 +0200)]
client: only add RTP-Info when we have the info
Only add RTP-Info for a stream when we can get the seqnum and timestamp from the
depayloader.
Wim Taymans [Sun, 17 May 2009 12:04:31 +0000 (14:04 +0200)]
back to development
Wim Taymans [Sun, 17 May 2009 11:59:10 +0000 (13:59 +0200)]
release: 0.10.3
- Fixes a bug where it put the wrong verion in pkgconfig
- Link RTP and RTCP sources
Wim Taymans [Fri, 15 May 2009 15:58:44 +0000 (17:58 +0200)]
media: link the RTP udpsrc to the session manager
Link the RTP udpsrc and the appsrc to the session manager so that they don't
shut down when the client sends a packet to open firewalls.
Sebastian Pölsterl [Fri, 15 May 2009 15:10:44 +0000 (17:10 +0200)]
Don't use hard-coded version number in pkg-config file
Wim Taymans [Mon, 11 May 2009 08:51:47 +0000 (10:51 +0200)]
back to development
Wim Taymans [Mon, 11 May 2009 08:50:31 +0000 (10:50 +0200)]
release 0.10.2
Wim Taymans [Mon, 11 May 2009 08:38:44 +0000 (10:38 +0200)]
add some .gitignore files
Wim Taymans [Wed, 29 Apr 2009 15:24:46 +0000 (17:24 +0200)]
media: seek to key frames
Wim Taymans [Tue, 21 Apr 2009 20:44:05 +0000 (22:44 +0200)]
media: emit the unprepared signal by id
Emit the unprepared signal by id instead of name and set the media as
reused.
Sebastian Pölsterl [Tue, 21 Apr 2009 20:23:54 +0000 (22:23 +0200)]
Set pipeline's state to NULL no matter if the media is reusable and emit unprepared signal in gst_rtsp_media_unprepare
Sebastian Pölsterl [Sat, 18 Apr 2009 14:10:59 +0000 (16:10 +0200)]
Added finalize function to GstRTPSPServer to unref session pool and media mapping
Sebastian Pölsterl [Fri, 17 Apr 2009 19:13:07 +0000 (21:13 +0200)]
Updated vala bindings
Wim Taymans [Tue, 14 Apr 2009 21:38:58 +0000 (23:38 +0200)]
server: use appsink and appsrc with the API
Use the appsink/appsrc API instead of the signals for higher
performance.
Wim Taymans [Tue, 14 Apr 2009 21:38:15 +0000 (23:38 +0200)]
tests: set the payload type correctly
Wim Taymans [Fri, 3 Apr 2009 20:46:22 +0000 (22:46 +0200)]
factory: connect to the unprepare signal
Connect to the unprepare signal for non-reusable media so that we can remove
them from the cache.
Wim Taymans [Fri, 3 Apr 2009 20:45:57 +0000 (22:45 +0200)]
media: add signal to notify of unprepare
Wim Taymans [Fri, 3 Apr 2009 20:22:30 +0000 (22:22 +0200)]
media: more work on making the media shared
Add a reusable flag to medias, indicating that they can be reused after a state
change to NULL.
Small cleanups.
Wim Taymans [Fri, 3 Apr 2009 17:47:38 +0000 (19:47 +0200)]
examples: mark the example as shared for testing
Wim Taymans [Fri, 3 Apr 2009 17:44:37 +0000 (19:44 +0200)]
client: support shared media
Always perform the state actions even if the target state of the pipeline is
already correct, we still want to add/remove the transports when we are dealing
with shared media.
Keep a counter of the number of active transports for a media so that we can use
this to perform a state change when needed.
Perform a state change of the pipeline only when the first transport was added
or when there are no active transports.
Wim Taymans [Fri, 3 Apr 2009 07:03:59 +0000 (09:03 +0200)]
client: fix refcounting crasher
Don't need to remove the weak refs in the finalize methods, they are already
removed in the dispose.
Don't register the callback with a DestroyNofity.
Tim-Philipp Müller [Wed, 1 Apr 2009 00:01:46 +0000 (01:01 +0100)]
Fix rtsp client refcount management in TCP mode.
Don't unref a client ref we never had. Fixes an unref
of an already-free client object after a client
teardown request for me.
Tim-Philipp Müller [Tue, 31 Mar 2009 23:45:17 +0000 (00:45 +0100)]
docs: fix typo in API docs
Wim Taymans [Fri, 13 Mar 2009 14:57:42 +0000 (15:57 +0100)]
More seeking fixes.
Keep the udp sources in playing even if we go to paused. unlock the sources when
we shut down.
Add some more debug info.
Only seek when we need to.
Keep track of the position when we go to paused.
Wim Taymans [Thu, 12 Mar 2009 19:32:14 +0000 (20:32 +0100)]
Add beginnings of seeking.
Parse the Range header and perform a seek on the pipeline for the requested
position. It's disabled currently until I figure out what's going wrong.
Wim Taymans [Thu, 12 Mar 2009 19:31:22 +0000 (20:31 +0100)]
allow pause requests for now.
--
Wim Taymans [Wed, 11 Mar 2009 19:03:06 +0000 (20:03 +0100)]
Remove weak ref on the session in teardown
We need to remove our weakref from the session when we do a teardown because
else we close the TCP connection prematurely.
Wim Taymans [Wed, 11 Mar 2009 18:38:06 +0000 (19:38 +0100)]
Do some more session cleanup
Make session timeout kill the TCP connection that currently watches the
session.
Remove the client timeout property.
Wim Taymans [Wed, 11 Mar 2009 15:45:12 +0000 (16:45 +0100)]
Add TCP transports
Use appsrc and appsink to send and receive RTP/RTCP packets in the TCP
connection.
Wim Taymans [Wed, 11 Mar 2009 15:39:20 +0000 (16:39 +0100)]
Add example server that takes launch lines
Add an example server that streams any -launch line.
Wim Taymans [Fri, 6 Mar 2009 18:34:14 +0000 (19:34 +0100)]
Add support for live streams
Add support for live streams and ranges
Start on handling TCP data transfer.
Wim Taymans [Wed, 4 Mar 2009 15:33:59 +0000 (16:33 +0100)]
Free the pipeline before other things
---
Wim Taymans [Wed, 4 Mar 2009 15:33:21 +0000 (16:33 +0100)]
Only free the pending tunnel if there is one
--
Wim Taymans [Wed, 4 Mar 2009 11:44:01 +0000 (12:44 +0100)]
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.
Wim Taymans [Thu, 19 Feb 2009 14:53:50 +0000 (15:53 +0100)]
Fix for channel -> watch rename in gstreamer
Rename the RTSPChannel to RTSPWatch and remove an unused variable.
Wim Taymans [Wed, 18 Feb 2009 17:57:31 +0000 (18:57 +0100)]
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.
Wim Taymans [Wed, 18 Feb 2009 16:49:03 +0000 (17:49 +0100)]
Add better debug info
Add some better debug info.
Wim Taymans [Fri, 13 Feb 2009 19:00:34 +0000 (20:00 +0100)]
Time out sessions
Add support for session timeouts in the example.
Wim Taymans [Fri, 13 Feb 2009 18:58:17 +0000 (19:58 +0100)]
Pass GTimeVal around for performance reasons
Get the current time only once and pass it around so that sessions don't have to
get the current time anymore.
Add experimental support for a GSource that dispatches when the session needs to
be cleaned up.
Wim Taymans [Fri, 13 Feb 2009 18:56:01 +0000 (19:56 +0100)]
Add better support for session timeouts
Add a method to request the number of milliseconds when a session will timeout.
Wim Taymans [Fri, 13 Feb 2009 18:54:18 +0000 (19:54 +0100)]
Add suport for RTP manager monitoring
Add the first stage in monitoring the rtp manager.
Make sure we don't update the state to something we don't want.
Wim Taymans [Fri, 13 Feb 2009 18:52:05 +0000 (19:52 +0100)]
Add support for session keepalive
Get and update the session timeout for all requests. get the session as early as
possible.
Wim Taymans [Fri, 13 Feb 2009 15:39:36 +0000 (16:39 +0100)]
Handle media bus messages
Handle media bus messages in a custom mainloop and dispatch them to the
RTSPMedia objects. Let the default implementation handle some common messages.
Wim Taymans [Fri, 13 Feb 2009 11:57:45 +0000 (12:57 +0100)]
Some more session timeout handling
Move the session header setting code to a central place so that we always add
the timeout parameter too.
Handle timeouts by running the session cleanup code.
Stop media before cleaning up.
Wim Taymans [Tue, 10 Feb 2009 15:24:13 +0000 (16:24 +0100)]
Add timeout property
Add a timeout property ot the client and make the other properties into GObject
properties.
Wim Taymans [Tue, 10 Feb 2009 15:21:17 +0000 (16:21 +0100)]
Use getters and setters in property code
Use the getters and setters for the timeout property instead of locking
ourselves.
Wim Taymans [Wed, 4 Feb 2009 19:13:32 +0000 (20:13 +0100)]
Merge branch 'master' of git+ssh://git.collabora.co.uk/git/gst-rtsp-server
Wim Taymans [Wed, 4 Feb 2009 19:10:39 +0000 (20:10 +0100)]
Add more timeout stuff
Add method to check if a session is expired.
Add method to perform cleanup on a session pool.
Wim Taymans [Wed, 4 Feb 2009 18:52:50 +0000 (19:52 +0100)]
Add beginnings of session timeouts and limits
Add the timeout value to the Session header for unusual timeout values.
Allow us to configure a limit to the amount of active sessions in a pool. Set a
limit on the amount of retry we do after a sessionid collision.
Add properties to the sessionid and the timeout of a session. Keep track of
creation time and last access time for sessions.
Wim Taymans [Wed, 4 Feb 2009 16:00:42 +0000 (17:00 +0100)]
Cleanup of sessions and more
Fix the refcounting of media and sessions in the client. Properly clean up the
session data when the client performs a teardown.
Add Server header to responses.
Allow for multiple uri setups in one session.
Add Range header to the PLAY response and add the range attribute to the SDP
message.
Fix the session pool remove method, it used the wrong key in the hashtable. Also
give the ownership of the sessionid to the session object.