Wim Taymans [Fri, 20 Aug 2010 08:18:34 +0000 (10:18 +0200)]
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.
Wim Taymans [Thu, 19 Aug 2010 16:52:47 +0000 (18:52 +0200)]
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
Robert Krakora [Mon, 16 Aug 2010 10:32:28 +0000 (12:32 +0200)]
server: use SO_LINGER
SO_LINGER on the socket will make sure that any pending data on the socket is
flushed ASAP and that the socket connection is reset. This makes sure that the
socket can be reused immediately.
Fixes 622757
Wim Taymans [Mon, 16 Aug 2010 10:24:50 +0000 (12:24 +0200)]
README: add blurb about shared media factories
David Schleef [Mon, 9 Aug 2010 19:56:23 +0000 (12:56 -0700)]
Add stdlib.h for atoi()
Tim-Philipp Müller [Thu, 20 May 2010 13:33:24 +0000 (14:33 +0100)]
build: distcheck fixes
Fix 'make distcheck', somewhat (it still fails because it tries to
install files into /usr/share/vala/vapi/ irrespective of the
configured prefix).
Tim-Philipp Müller [Thu, 20 May 2010 13:09:18 +0000 (14:09 +0100)]
configure: bump core/base requirements to released version
Makes things less confusing for people.
Tim-Philipp Müller [Sun, 25 Apr 2010 15:35:30 +0000 (16:35 +0100)]
configure: fail if GStreamer core/base requirements are not met
Wim Taymans [Tue, 6 Apr 2010 15:08:40 +0000 (17:08 +0200)]
client: improve client cleanups
Make sure the session does not timeout when using TCP. We need to do this
because quicktime player does not send RTCP for some reason in tunneled
mode.
Refactor some cleanup code.
Fixes #612915
Wim Taymans [Tue, 6 Apr 2010 15:07:27 +0000 (17:07 +0200)]
session: add support for prevent session timeouts
Add an atomix counter to prevent session timeouts when we are, for example,
streaming over TCP.
Wim Taymans [Tue, 6 Apr 2010 13:45:56 +0000 (15:45 +0200)]
client: fix unlink on session timeouts
When our session times out, make sure we unlink all streams in this
session.
Remove the tunnelid when closing the connection.
Wim Taymans [Tue, 6 Apr 2010 13:44:45 +0000 (15:44 +0200)]
session: small cleanups
Wim Taymans [Tue, 6 Apr 2010 09:13:51 +0000 (11:13 +0200)]
client: handle lost_tunnel callbacks
Handle lost_tunnel callbacks and use it to store the tunnelid back into the
hashtable so that we can reuse it for when the client reopens the POST
socket.
Close the connection after a TEARDOWN.
Make sure or watchid is cleared when the watch is removed.
Fixes #612915
Wim Taymans [Fri, 19 Mar 2010 17:03:40 +0000 (18:03 +0100)]
rtsp-server: add more support for multicast
Wim Taymans [Fri, 19 Mar 2010 14:15:29 +0000 (15:15 +0100)]
media: allow configuration of allowed lower transport
Wim Taymans [Tue, 16 Mar 2010 17:37:18 +0000 (18:37 +0100)]
rtsp: keep track of server ip and ipv6
Keep track of how the client connected to the server and setup the udp ports
with the same protocol.
Copy the server ip address in the SDP so that clients can send RTCP back to
us.
Wim Taymans [Tue, 16 Mar 2010 17:34:43 +0000 (18:34 +0100)]
session: indent
Wim Taymans [Tue, 16 Mar 2010 17:33:23 +0000 (18:33 +0100)]
client: use right size for malloc
Wim Taymans [Wed, 10 Mar 2010 10:45:30 +0000 (11:45 +0100)]
server: comment ipv6 server listening address
Wim Taymans [Wed, 10 Mar 2010 10:45:06 +0000 (11:45 +0100)]
media: allow for ipv6 sockets
Wim Taymans [Tue, 9 Mar 2010 12:49:00 +0000 (13:49 +0100)]
server: rework server part
Allow setting a bind address, make sure we can deal with ipv6.
Remove the port property and change with the service property.
Wim Taymans [Tue, 9 Mar 2010 12:44:20 +0000 (13:44 +0100)]
media: update comments a little
Wim Taymans [Tue, 9 Mar 2010 12:43:29 +0000 (13:43 +0100)]
client: make content-base better
Use the URI formatting functions to make a content-base. Also make sure that
there is a trailing / at the end.
Wim Taymans [Tue, 9 Mar 2010 12:42:50 +0000 (13:42 +0100)]
client: guard against invalid paths
Wim Taymans [Tue, 9 Mar 2010 12:41:33 +0000 (13:41 +0100)]
test: catch server bind errors
Alessandro Decina [Tue, 9 Mar 2010 09:27:38 +0000 (10:27 +0100)]
rtspmedia: emit "unprepared" if _prepare fails.
Emit the unprepared signal if gst_rtsp_media_prepare fails so that the
media object is removed from its factory's cache.
Wim Taymans [Fri, 5 Mar 2010 18:08:08 +0000 (19:08 +0100)]
media: collect media position when seek completes
Luca Ognibene [Fri, 5 Mar 2010 17:37:17 +0000 (18:37 +0100)]
client: call unlink_streams in client finalize
Fixes #599027
Wim Taymans [Fri, 5 Mar 2010 17:23:18 +0000 (18:23 +0100)]
media: limit the time to wait to something huge
Avoid waiting forever but limit the timeout to 20 seconds.
Wim Taymans [Fri, 5 Mar 2010 16:57:08 +0000 (17:57 +0100)]
sdp: reindent and check for prepared status
Wim Taymans [Fri, 5 Mar 2010 16:51:26 +0000 (17:51 +0100)]
media: avoid doing _get_state() for state changes
When preparing, use the ASYNC_DONE and ERROR messages in the bus handler to wait
until the media is prerolled or in error. This avoids doing a blocking call of
gst_element_get_state() that can cause lockups when there is an error.
Fixes #611899
Wim Taymans [Fri, 5 Mar 2010 15:20:08 +0000 (16:20 +0100)]
media: reindent
Wim Taymans [Fri, 5 Mar 2010 12:34:15 +0000 (13:34 +0100)]
media-factory: better error handling
Improve the error handling a bit.
Wim Taymans [Fri, 5 Mar 2010 12:31:37 +0000 (13:31 +0100)]
client: rework transport parsing
Rework the transport parsing code so that we can ignore transports we don't
support instead of just picking the first one we can parse.
Configure a (for now hardcoded) destination for multicast transports.
Wim Taymans [Fri, 5 Mar 2010 12:28:58 +0000 (13:28 +0100)]
media: set multicast sink parameters
Disable loop and automatic multicast join on the udpsink elements.
Add some more debug info.
Reset some state variables in the right place.
Use the right port numbers for multicast.
Wim Taymans [Fri, 5 Mar 2010 12:27:18 +0000 (13:27 +0100)]
session: handle transport setup correctly
Handle UDP, MCAST and TCP transport negotiation more correctly.
Store the server session SSRC in the transport.
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.