Commit graph

160 commits

Author SHA1 Message Date
Wim Taymans d99a448f79 factory-uri: add colorspace and fix pt
Rework the way we pass data to the autoplugger.
When we have raw caps, plug a converter element to make pluggin to raw
payloaders more successful.
Make sure all dynamically plugged payloaders have a unique payload types.
2010-12-12 04:06:41 +01:00
Wim Taymans 7ef0bf98da factory-uri: add a factory to stream any URI
Make a factory that uses uridecodebin to decode any uri and autoplug a payloader
when we have one.
2010-12-11 18:04:34 +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
Wim Taymans 75a7cda97d media-factory: make lock macro 2010-12-11 18:04:29 +01:00
Edward Hervey a6556551e3 rtsp-server: Remove unused variable and dead assignment 2010-12-11 10:53:28 +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
Edward Hervey bdd477f2bf Makefile.am: Use standard GIR make behaviour 2010-12-07 18:14:39 +01:00
Sebastian Pölsterl 347e10e1f9 Added initial gobject-introspection support 2010-09-23 13:39:42 +02:00
Wim Taymans c310f0032c media-factory: don't use host for shared hash key
When we generate the key to share made between connections, don't include the
host used to connect so that we can share media even if between clients that
connected with localhost and ones with the ip address.
2010-09-23 11:35:40 +02: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
Wim Taymans af732fa749 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.
2010-08-20 10:18:34 +02:00
Wim Taymans 2607ff079d 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
2010-08-19 18:52:47 +02:00
Robert Krakora 8f6fd32065 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
2010-08-16 12:45:24 +02:00
David Schleef 6a880e53df Add stdlib.h for atoi() 2010-08-09 12:56:23 -07:00
Wim Taymans 336ffc0941 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
2010-04-06 17:08:40 +02:00
Wim Taymans 4fdd2bf4d1 session: add support for prevent session timeouts
Add an atomix counter to prevent session timeouts when we are, for example,
streaming over TCP.
2010-04-06 17:07:27 +02:00
Wim Taymans 48a54054e7 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.
2010-04-06 15:45:56 +02:00
Wim Taymans 558c7fddd2 session: small cleanups 2010-04-06 15:44:45 +02:00
Wim Taymans 30c31a65eb 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
2010-04-06 11:13:51 +02: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 4eccdd9dd7 session: indent 2010-03-16 18:34:43 +01:00
Wim Taymans d749f1e7d5 client: use right size for malloc 2010-03-16 18:33:23 +01:00
Wim Taymans 0509aa1cbf server: comment ipv6 server listening address 2010-03-10 11:45:30 +01:00
Wim Taymans 6afa5be799 media: allow for ipv6 sockets 2010-03-10 11:45:06 +01:00
Wim Taymans 17bb89f1fc 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.
2010-03-09 13:49:00 +01:00
Wim Taymans 1b0dc41534 media: update comments a little 2010-03-09 13:44:20 +01:00
Wim Taymans b3814d4646 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.
2010-03-09 13:43:29 +01:00
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