Commit graph

125 commits

Author SHA1 Message Date
Wim Taymans 171e89c63a client: guard against invalid paths 2010-03-09 13:42:50 +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
Luca Ognibene e19c382bbb client: call unlink_streams in client finalize
Fixes #599027
2010-03-05 18:37:17 +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 f90c422e62 sdp: reindent and check for prepared status 2010-03-05 17:57:08 +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 851e8aa744 media-factory: better error handling
Improve the error handling a bit.
2010-03-05 13:34:15 +01:00
Wim Taymans 73e8d6c69a 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.
2010-03-05 13:31:37 +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
Wim Taymans 63addbc278 session: handle transport setup correctly
Handle UDP, MCAST and TCP transport negotiation more correctly.
Store the server session SSRC in the transport.
2010-03-05 13:27:18 +01:00
Wim Taymans ce6724f788 rtsp-client: implement error_full
Implement error_full to avoid some segfaults when the rtspconnection calls it.

See #608245
2010-01-27 18:38:27 +01:00
Wim Taymans 996112db95 docs: update docs and comments 2009-12-25 18:24:10 +01:00
Nikolay Ivanov 92eb244215 sdp: make server work better when behind a proxy 2009-12-25 15:22:23 +01:00
Sebastian Pölsterl 3d7610b033 client: dump rtsp message only if debug threshold is higher than GST_LEVEL_LOG 2009-11-21 19:20:39 +01:00
Sebastian Pölsterl 6d227be7a9 Use GStreamer's debugging subsystem 2009-11-21 19:20:23 +01:00
Sebastian Pölsterl 87fbfa54a0 server: Set ghost pad active in gst_rtsp_media_factory_collect_streams 2009-11-21 19:20:23 +01:00
Luca Ognibene 745900dd48 client: call weak-unref on client->sessions from finalize
Fixes bug #596305
2009-10-13 10:57:35 +02: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
Peter Kjellerstedt 309f53a12b 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.
2009-08-24 13:27:00 +02:00
Wim Taymans 7338ab81e1 rtsp: allocate channels in TCP mode
When the client does not provide us with channels in TCP mode, allocate channels
ourselves.
2009-07-27 19:42:44 +02:00
Wim Taymans daccf6bc99 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
2009-07-24 12:49:41 +02:00
Wim Taymans a4c90c28c7 sessionpool: add function to filter sessions
Add generic function to retrieve/remove sessions.
2009-06-30 21:27:53 +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 045875ecbe Made collect_streams function public 2009-06-18 15:53:42 +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 a697d16c75 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.
2009-06-11 11:27:47 +02:00
Wim Taymans 5e4757eff6 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.
2009-06-10 00:01:07 +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 e1765dec13 sdp: warn and skip streams without media 2009-06-03 12:13:21 +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 7bbdf7bf97 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.
2009-05-26 17:27:07 +02:00
Wim Taymans 461169537b 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.
2009-05-26 17:25:59 +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 415e5e674b sdp: don't add encoding name when absent in caps 2009-05-24 19:33:22 +02:00
Wim Taymans 740d71bd50 client: warn when we can't do RTP-Info 2009-05-23 16:30:55 +02:00
Wim Taymans e5dc7c3719 factory: factor out the stream construction 2009-05-23 16:18:04 +02:00