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
Wim Taymans
0c1df5e023
media: add signal to notify of unprepare
2009-04-03 22:45:57 +02:00
Wim Taymans
5dab222089
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.
2009-04-03 22:22:30 +02:00
Wim Taymans
c6e1aef881
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.
2009-04-03 19:44:37 +02:00
Wim Taymans
8f91451555
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.
2009-03-13 15:57:42 +01:00
Wim Taymans
525d639cde
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.
2009-03-12 20:32:14 +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
de1ebbc21b
Add support for live streams
...
Add support for live streams and ranges
Start on handling TCP data transfer.
2009-03-06 19:34:14 +01:00
Wim Taymans
cd3ed91553
Free the pipeline before other things
...
---
2009-03-04 16:33:59 +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