Commit graph

74 commits

Author SHA1 Message Date
Wim Taymans 790c067919 media: attempt to configure bigger UDP buffers
Attempt to configure bigger udp kernel send buffers to avoid overflowing the
send buffers with high bitrate streams.
2011-01-05 12:06:23 +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
Wim Taymans 915cd708ea media: add signal to notify of state changes 2010-12-28 18:34:10 +01:00
Wim Taymans 1ea450179e media: emit prepared signal when prepared
Make a 'prepared' signal and emit it when we successfully prepared the element.
This signal can be used to configure the media object after it has been prepared
for streaming.
2010-12-17 18:45:10 +01:00
Wim Taymans ca76a73ca0 media: update range when active clients changed
When we changed the number of active clients, update the current range
information because we want the second client connecting to a shared resource
continue from where the stream currently.
2010-12-12 15:48:47 +01:00
Wim Taymans 34f0973831 media: ignore spurious ASYNC_DONE messages
When we are dynamically adding pads, the addition of the udpsrc elements will
trigger an ASYNC_DONE. We have to ignore this because we only want to react to
the real ASYNC_DONE when everything is prerolled.
2010-12-11 18:04:34 +01:00
Edward Hervey eb83fc6318 rtsp-server: Run gst-indent
Since it wasn't using the upstream common previously, there was no
indentation check before commiting.
2010-12-11 10:48:42 +01:00
Edward Hervey b95165fcff rtsp-server: Some more doc fixups 2010-12-11 10:48:25 +01:00
Wim Taymans ed473f6f26 media: help the compiler a little 2010-09-22 16:15:56 +02:00
Wim Taymans 450b68252f media: cleanup media transport before freeing
Cleanup the media transport data before freeing. In particular, remove the qdata
from the rtpsource object.
2010-08-24 16:47:30 +02:00
Wim Taymans dc33070da3 media-factory: add eos-shutdown property
Add an eos-shutdown property that will send an EOS to the pipeline before
shutting it down. This allows for nice cleanup in case of a muxer.

Fixes #625597
2010-08-20 18:17:08 +02:00
Wim Taymans a900866570 media: use multiudpsink send-duplicates when we can
If we have a new enough multiudpsink with the send-duplicates property, use this
instead of doing our own filtering. Our custom filtering code should eventually
be removed when we can depend on a released -good.
2010-08-20 15:58:39 +02:00
Wim Taymans c89d17ca26 media: don't leak destinations
Refactor and cleanup the destinations array when the stream is destroyed.
2010-08-20 13:19:56 +02:00
Wim Taymans 7c0f8a77ec media: don't add udp addresses multiple times
Keep track of the udp addresses we added to udpsink and never add the same udp
destination twice. This avoids duplicate packets when using multicast.
2010-08-20 13:09:12 +02:00
David Schleef 6a880e53df Add stdlib.h for atoi() 2010-08-09 12:56:23 -07:00
Wim Taymans 09b97dd4ac rtsp-server: add more support for multicast 2010-03-19 18:03:40 +01:00
Wim Taymans ac8343ea62 media: allow configuration of allowed lower transport 2010-03-19 15:15:29 +01:00
Wim Taymans e866345f15 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.
2010-03-16 18:37:18 +01:00
Wim Taymans 6afa5be799 media: allow for ipv6 sockets 2010-03-10 11:45:06 +01:00
Alessandro Decina 5f535ecf87 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.
2010-03-09 10:27:38 +01:00
Wim Taymans 2997806d43 media: collect media position when seek completes 2010-03-05 19:08:08 +01:00
Wim Taymans 83ed258684 media: limit the time to wait to something huge
Avoid waiting forever but limit the timeout to 20 seconds.
2010-03-05 18:23:18 +01:00
Wim Taymans c7ca9b74eb 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
2010-03-05 17:54:09 +01:00
Wim Taymans d45eae2edd media: reindent 2010-03-05 16:20:08 +01:00
Wim Taymans 53f8350b36 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.
2010-03-05 13:28:58 +01:00
Sebastian Pölsterl 6d227be7a9 Use GStreamer's debugging subsystem 2009-11-21 19:20:23 +01:00
Sebastian Pölsterl f8630c6c81 media: Fixed crasher where caps got unref'ed too often 2009-10-13 10:57:31 +02:00
Wim Taymans 297b6a755a media: add some docs 2009-09-11 13:52:27 +02:00
Wim Taymans 5d4c0e20c0 media: fix indentation 2009-06-18 16:05:18 +02:00
Sebastian Pölsterl f384231ca3 Unref pipeline and set it to NULL. Set stream's caps to NULL, otherwise we unref it too often. 2009-06-18 15:54:15 +02:00
Sebastian Pölsterl 036550bf60 set state and remove elements of media in for loop 2009-06-18 15:54:11 +02:00
Sebastian 3bd2d36b1b Added gst_rtsp_media_remove_elements function 2009-06-18 15:54:04 +02:00
Sebastian 1a3e5b369c Don't use name for gstrtpbin so we can add multiple instances to the pipeline 2009-06-18 15:54:01 +02:00
Sebastian Pölsterl 749765b921 Added vmethod unprepare to GstRTSPMedia
The default implementation sets the state of the pipeline to GST_STATE_NULL
2009-06-18 15:53:49 +02:00
Sebastian Pölsterl e417d83dce Added vmethod create_pipeline to GstRTSPMediaFactory
The pipeline is created in this method and the GstRTSPMedia's element is added to it
2009-06-18 15:53:34 +02:00
Wim Taymans 94b6da045a media: don't leak session pads 2009-06-04 19:20:26 +02:00
Wim Taymans 9a38f95417 media: clean up the messages a bit 2009-06-04 18:32:15 +02:00
Wim Taymans 03ae66062b media: fix message
Fix a debug message
Make dumping RTCP stats configurable
2009-05-27 11:15:22 +02:00
Wim Taymans 3fc1439965 media: be less verbose and leak less 2009-05-26 19:20:07 +02:00
Wim Taymans 1340e21239 media: don't leak the destination address 2009-05-26 19:07:33 +02:00
Wim Taymans 9bed89c3b7 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.
2009-05-26 19:01:10 +02:00
Wim Taymans 5955fc7d12 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.
2009-05-26 11:42:41 +02:00
Wim Taymans 7a8b931a83 media: also count active TCP connections 2009-05-24 19:56:45 +02:00
Wim Taymans fab65082da rtsp: add support for dynamic elements
Add support for dynamic elements.
Don't set live pipelines back to paused.
2009-05-24 19:34:52 +02:00
Wim Taymans b83f54f159 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.
2009-05-15 17:58:44 +02:00
Wim Taymans 5f19d4b09e media: seek to key frames 2009-04-29 17:25:04 +02:00
Wim Taymans 6ffd7432a5 media: emit the unprepared signal by id
Emit the unprepared signal by id instead of name and set the media as
reused.
2009-04-21 22:44:05 +02:00
Sebastian Pölsterl 708c8daaec Set pipeline's state to NULL no matter if the media is reusable and emit unprepared signal in gst_rtsp_media_unprepare 2009-04-21 22:40:01 +02:00
Wim Taymans 3f1f38f479 server: use appsink and appsrc with the API
Use the appsink/appsrc API instead of the signals for higher
performance.
2009-04-14 23:38:58 +02:00