platform/upstream/gstreamer.git
14 years agoserver: disable use of SO_LINGER
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.

14 years agoserver: use 5 second linger period in SO_LINGER
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

14 years agoserver: use SO_LINGER
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

14 years agoREADME: add blurb about shared media factories
Wim Taymans [Mon, 16 Aug 2010 10:24:50 +0000 (12:24 +0200)]
README: add blurb about shared media factories

14 years agoAdd stdlib.h for atoi()
David Schleef [Mon, 9 Aug 2010 19:56:23 +0000 (12:56 -0700)]
Add stdlib.h for atoi()

14 years agobuild: distcheck fixes
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).

14 years agoconfigure: bump core/base requirements to released version
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.

14 years agoconfigure: fail if GStreamer core/base requirements are not met
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

14 years agoclient: improve client cleanups
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

14 years agosession: add support for prevent session timeouts
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.

14 years agoclient: fix unlink on session timeouts
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.

14 years agosession: small cleanups
Wim Taymans [Tue, 6 Apr 2010 13:44:45 +0000 (15:44 +0200)]
session: small cleanups

14 years agoclient: handle lost_tunnel callbacks
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

14 years agortsp-server: add more support for multicast
Wim Taymans [Fri, 19 Mar 2010 17:03:40 +0000 (18:03 +0100)]
rtsp-server: add more support for multicast

14 years agomedia: allow configuration of allowed lower transport
Wim Taymans [Fri, 19 Mar 2010 14:15:29 +0000 (15:15 +0100)]
media: allow configuration of allowed lower transport

14 years agortsp: keep track of server ip and ipv6
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.

14 years agosession: indent
Wim Taymans [Tue, 16 Mar 2010 17:34:43 +0000 (18:34 +0100)]
session: indent

14 years agoclient: use right size for malloc
Wim Taymans [Tue, 16 Mar 2010 17:33:23 +0000 (18:33 +0100)]
client: use right size for malloc

14 years agoserver: comment ipv6 server listening address
Wim Taymans [Wed, 10 Mar 2010 10:45:30 +0000 (11:45 +0100)]
server: comment ipv6 server listening address

14 years agomedia: allow for ipv6 sockets
Wim Taymans [Wed, 10 Mar 2010 10:45:06 +0000 (11:45 +0100)]
media: allow for ipv6 sockets

14 years agoserver: rework server part
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.

14 years agomedia: update comments a little
Wim Taymans [Tue, 9 Mar 2010 12:44:20 +0000 (13:44 +0100)]
media: update comments a little

14 years agoclient: make content-base better
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.

14 years agoclient: guard against invalid paths
Wim Taymans [Tue, 9 Mar 2010 12:42:50 +0000 (13:42 +0100)]
client: guard against invalid paths

14 years agotest: catch server bind errors
Wim Taymans [Tue, 9 Mar 2010 12:41:33 +0000 (13:41 +0100)]
test: catch server bind errors

14 years agortspmedia: emit "unprepared" if _prepare fails.
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.

14 years agomedia: collect media position when seek completes
Wim Taymans [Fri, 5 Mar 2010 18:08:08 +0000 (19:08 +0100)]
media: collect media position when seek completes

14 years agoclient: call unlink_streams in client finalize
Luca Ognibene [Fri, 5 Mar 2010 17:37:17 +0000 (18:37 +0100)]
client: call unlink_streams in client finalize

Fixes #599027

14 years agomedia: limit the time to wait to something huge
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.

14 years agosdp: reindent and check for prepared status
Wim Taymans [Fri, 5 Mar 2010 16:57:08 +0000 (17:57 +0100)]
sdp: reindent and check for prepared status

14 years agomedia: avoid doing _get_state() for state changes
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

14 years agomedia: reindent
Wim Taymans [Fri, 5 Mar 2010 15:20:08 +0000 (16:20 +0100)]
media: reindent

14 years agomedia-factory: better error handling
Wim Taymans [Fri, 5 Mar 2010 12:34:15 +0000 (13:34 +0100)]
media-factory: better error handling

Improve the error handling a bit.

14 years agoclient: rework transport parsing
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.

14 years agomedia: set multicast sink parameters
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.

14 years agosession: handle transport setup correctly
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.

14 years agortsp-client: implement error_full
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

14 years agodocs: update docs and comments
Wim Taymans [Fri, 25 Dec 2009 17:24:10 +0000 (18:24 +0100)]
docs: update docs and comments

14 years agosdp: make server work better when behind a proxy
Nikolay Ivanov [Fri, 25 Dec 2009 14:22:23 +0000 (15:22 +0100)]
sdp: make server work better when behind a proxy

14 years agoclient: dump rtsp message only if debug threshold is higher than GST_LEVEL_LOG
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

14 years agoUse GStreamer's debugging subsystem
Sebastian Pölsterl [Sat, 21 Nov 2009 18:20:23 +0000 (19:20 +0100)]
Use GStreamer's debugging subsystem

14 years agoserver: Set ghost pad active in gst_rtsp_media_factory_collect_streams
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

15 years agoback to development
Wim Taymans [Thu, 5 Nov 2009 10:22:44 +0000 (11:22 +0100)]
back to development

15 years agorelease 0.10.5
Wim Taymans [Thu, 5 Nov 2009 10:20:45 +0000 (11:20 +0100)]
release 0.10.5

15 years agoconfigure: bump required versions
Wim Taymans [Wed, 14 Oct 2009 10:11:31 +0000 (12:11 +0200)]
configure: bump required versions

15 years agoclient: call weak-unref on client->sessions from finalize
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

15 years agomedia: Fixed crasher where caps got unref'ed too often
Sebastian Pölsterl [Fri, 9 Oct 2009 21:08:18 +0000 (23:08 +0200)]
media: Fixed crasher where caps got unref'ed too often

15 years agoAdded pkg-config file to use gst-rtsp-server uninstalled
Sebastian Pölsterl [Fri, 9 Oct 2009 14:26:30 +0000 (16:26 +0200)]
Added pkg-config file to use gst-rtsp-server uninstalled

15 years agomedia: add some docs
Wim Taymans [Fri, 11 Sep 2009 11:52:27 +0000 (13:52 +0200)]
media: add some docs

15 years agortsp: Use gst_rtsp_watch_send_message().
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.

15 years agoback to development
Wim Taymans [Wed, 5 Aug 2009 09:53:56 +0000 (11:53 +0200)]
back to development

15 years agoRelease 0.10.4
Wim Taymans [Wed, 5 Aug 2009 09:44:49 +0000 (11:44 +0200)]
Release 0.10.4

15 years agortsp: allocate channels in TCP mode
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.

15 years agoclient: don't crash when tunnelid is missing
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

15 years agobindings: update vala bindings with new method
Sebastian Pölsterl [Mon, 13 Jul 2009 09:31:23 +0000 (11:31 +0200)]
bindings: update vala bindings with new method

15 years agosessionpool: add function to filter sessions
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.

15 years agoconfigure: bump core/base requirements to release
Tim-Philipp Müller [Mon, 22 Jun 2009 17:57:25 +0000 (18:57 +0100)]
configure: bump core/base requirements to release

15 years agomedia: fix indentation
Wim Taymans [Thu, 18 Jun 2009 14:05:18 +0000 (16:05 +0200)]
media: fix indentation

15 years agoUnref pipeline and set it to NULL. Set stream's caps to NULL, otherwise we unref...
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.

15 years agoset state and remove elements of media in for loop
Sebastian Pölsterl [Sat, 13 Jun 2009 14:05:02 +0000 (16:05 +0200)]
set state and remove elements of media in for loop

15 years agoAdded gst_rtsp_media_remove_elements function to Vala bindings
Sebastian [Sat, 13 Jun 2009 12:38:39 +0000 (14:38 +0200)]
Added gst_rtsp_media_remove_elements function to Vala bindings

15 years agoAdded gst_rtsp_media_remove_elements function
Sebastian [Sat, 13 Jun 2009 12:38:20 +0000 (14:38 +0200)]
Added gst_rtsp_media_remove_elements function

15 years agoDon't use name for gstrtpbin so we can add multiple instances to the pipeline
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

15 years agoUpdated Vala bindings
Sebastian Pölsterl [Fri, 12 Jun 2009 17:28:04 +0000 (19:28 +0200)]
Updated Vala bindings

15 years agoAdded vmethod unprepare to GstRTSPMedia
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

15 years agoMade collect_streams function public
Sebastian Pölsterl [Fri, 12 Jun 2009 15:51:44 +0000 (17:51 +0200)]
Made collect_streams function public

15 years agoAdded vmethod create_pipeline to GstRTSPMediaFactory
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

15 years agoclient: use g_source_destroy()
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.

15 years agortsp: prepare for handling GET/SET_PARAMETER
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.

15 years agomedia: don't leak session pads
Wim Taymans [Thu, 4 Jun 2009 17:20:26 +0000 (19:20 +0200)]
media: don't leak session pads

15 years agomedia: clean up the messages a bit
Wim Taymans [Thu, 4 Jun 2009 16:32:15 +0000 (18:32 +0200)]
media: clean up the messages a bit

15 years agosdp: warn and skip streams without media
Wim Taymans [Wed, 3 Jun 2009 10:13:21 +0000 (12:13 +0200)]
sdp: warn and skip streams without media

15 years agovala: Fixed typo in header file of RTSPMediaStream
Sebastian Pölsterl [Sat, 30 May 2009 12:38:34 +0000 (14:38 +0200)]
vala: Fixed typo in header file of RTSPMediaStream

15 years agomedia: fix message
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

15 years agomedia: be less verbose and leak less
Wim Taymans [Tue, 26 May 2009 17:20:07 +0000 (19:20 +0200)]
media: be less verbose and leak less

15 years agomedia: don't leak the destination address
Wim Taymans [Tue, 26 May 2009 17:05:07 +0000 (19:05 +0200)]
media: don't leak the destination address

15 years agortsp: use RTCP to keep the session alive
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.

15 years agosession: add 5sec to the real session timeout
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.

15 years agoclient: replay OK to GET/SET_PARAMETER
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.

15 years agomedia: keep track of active transports
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.

15 years agoexample: add SDP relay example
Wim Taymans [Sun, 24 May 2009 18:00:19 +0000 (20:00 +0200)]
example: add SDP relay example

15 years agomedia: also count active TCP connections
Wim Taymans [Sun, 24 May 2009 17:56:45 +0000 (19:56 +0200)]
media: also count active TCP connections

15 years agortsp: add support for dynamic elements
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.

15 years agosdp: don't add encoding name when absent in caps
Wim Taymans [Sun, 24 May 2009 17:33:22 +0000 (19:33 +0200)]
sdp: don't add encoding name when absent in caps

15 years agoclient: warn when we can't do RTP-Info
Wim Taymans [Sat, 23 May 2009 14:30:55 +0000 (16:30 +0200)]
client: warn when we can't do RTP-Info

15 years agofactory: factor out the stream construction
Wim Taymans [Sat, 23 May 2009 14:18:04 +0000 (16:18 +0200)]
factory: factor out the stream construction

15 years agoclient: only add RTP-Info when we have the info
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.

15 years agoback to development
Wim Taymans [Sun, 17 May 2009 12:04:31 +0000 (14:04 +0200)]
back to development

15 years agorelease: 0.10.3
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

15 years agomedia: link the RTP udpsrc to the session manager
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.

15 years agoDon't use hard-coded version number in pkg-config file
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

15 years agoback to development
Wim Taymans [Mon, 11 May 2009 08:51:47 +0000 (10:51 +0200)]
back to development

15 years agorelease 0.10.2
Wim Taymans [Mon, 11 May 2009 08:50:31 +0000 (10:50 +0200)]
release 0.10.2

15 years agoadd some .gitignore files
Wim Taymans [Mon, 11 May 2009 08:38:44 +0000 (10:38 +0200)]
add some .gitignore files

15 years agomedia: seek to key frames
Wim Taymans [Wed, 29 Apr 2009 15:24:46 +0000 (17:24 +0200)]
media: seek to key frames

15 years agomedia: emit the unprepared signal by id
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.

15 years agoSet pipeline's state to NULL no matter if the media is reusable and emit unprepared...
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

15 years agoAdded finalize function to GstRTPSPServer to unref session pool and media mapping
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

15 years agoUpdated vala bindings
Sebastian Pölsterl [Fri, 17 Apr 2009 19:13:07 +0000 (21:13 +0200)]
Updated vala bindings

15 years agoserver: use appsink and appsrc with the API
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.