Wim Taymans
77acc618e1
use G_DEFINE_TYPE some more
2011-04-19 17:35:47 +02:00
Wim Taymans
c124ba1489
Merge branch 'master' into 0.11
...
Conflicts:
gst/rtsp/gstrtspsrc.c
2011-04-05 17:20:08 +02:00
Wim Taymans
547c97f590
rtspsrc: handle * control correctly
...
Parse session control attributes when no media control attribute is
present. Threat * control attributes as an empty string, just like the
spec says.
Fixes #646800
2011-04-05 17:12:28 +02:00
Wim Taymans
f67c95d826
rtsp/udp: port to 0.11
2011-04-05 17:06:41 +02:00
Mark Nauwelaerts
234609844e
rtspsrc: perform post-flush state tricks downstream to upstream
...
... so downstream is set when upstream resumes data flow.
2011-04-04 11:49:00 +02:00
Mark Nauwelaerts
226a7cb32e
rtspsrc: distribute new base_time to manager children following flush seek
...
... by forcing a state changed to PLAYING, which should otherwise be a
no-op as elements should already be in that state.
In particular, jitterbuffer needs new base_time as soon as possible to perform
proper timing (e.g. eos timeout handling) and can't wait for the new base_time
that will be distributed when the whole pipeline returns to PLAYING.
See bug #646397 .
2011-04-04 11:49:00 +02:00
Wim Taymans
8f22a09dc4
Merge branch 'master' into 0.11-fdo
2011-03-28 20:50:59 +02:00
Mark Nauwelaerts
2738917852
rtspsrc: improve recovery from failed seek
...
In case server-side fails to perform seek, i.e. PLAY at non-zero requested
position, recovery so far would arrange for streaming to continue, albeit
having lost position tracking in the process. So, query position prior
to seek and use upon failed seek.
2011-03-09 17:18:09 +01:00
Wim Taymans
759a3507d7
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-02-28 11:58:05 +01:00
Miguel Angel Cabrera Moya
3cca27ced1
rtspsrc: fix minor leaks when handling server requests.
...
https://bugzilla.gnome.org/show_bug.cgi?id=640163
2011-02-14 11:33:18 +01:00
Stefan Kost
6f6b2a7efc
rtspsrc: strip trailing spaces
2011-02-07 17:08:47 +02:00
Stefan Kost
5e071d51f2
rtpsrc: set multiple properties in one go
...
There is no need for separate g_object_set() calls here.
2011-02-07 17:07:42 +02:00
Tim-Philipp Müller
08855b45b6
rtspsrc: don't leak url string
...
https://bugzilla.gnome.org/show_bug.cgi?id=640064
2011-01-20 13:46:44 +00:00
Wim Taymans
bc0824181b
rtspsrc: don't confuse return values
...
Return a return value of the right type.
2011-01-05 18:33:41 +01:00
Stefan Kost
c9e0db6469
rtspsrc: remove unused variables when debug-logging disabled
2011-01-03 20:17:47 +02:00
Wim Taymans
dc221c0219
rtspsrc: increase udp buffer size
...
Set a bigger UDP buffer size by default to reduce packet loss with
high bitrate streams.
2011-01-03 15:40:11 +01:00
Tim-Philipp Müller
96830324a5
rtspsrc: serialise/deserialise floats without changing locale
...
Use g_ascii_dtostr() and g_ascii_strtod() to serialise/deserialise
floating point numbers, instead of ugly hacks that switch locale
before and after calling libc functions (which is not a good idea
in a multi-threaded application).
2010-12-29 15:54:46 +00:00
Wim Taymans
2a49d34c3e
rtspsrc: on-npt-stop is a manager signal
2010-12-23 16:25:15 +01:00
Wim Taymans
12bc7258b9
rtspsrc: improve RTP session handling
...
Store the RTP session in the stream so that we can more efficiently
perform actions on the stream based on RTP signals.
2010-12-23 15:24:29 +01:00
Tim-Philipp Müller
7759ad0db2
docs: update rtspsrc docs, rtpbin is not in -bad any more
2010-12-22 13:04:42 +00:00
Mark Nauwelaerts
287894a89a
rtspsrc: mark DISCONT when resuming PLAY
...
In particular, when streaming interleaved, this arranges for setting a new
timestamp on outgoing buffer so downstream can appropriate reset
to a change in (rtp)time.
2010-12-10 12:11:15 +01:00
Mark Nauwelaerts
c25625c31c
rtspsrc: degrade gracefully upon failing seek and tweak QUERY_SEEKING response
2010-12-10 12:09:49 +01:00
Mark Nauwelaerts
52b5929a2b
rtspsrc: add and use auto buffering mode
...
... which selects BUFFER for a non-live stream, and otherwise SLAVE.
Fixes #633088 .
2010-12-10 12:09:32 +01:00
Wim Taymans
1d57ec6a6e
rtspsrc: use _object_ref_sink() when we can
2010-12-07 11:42:15 +01:00
Mark Nauwelaerts
0f2373cbd1
rtspsrc: reset session manager base time when flushing
...
... as rtpbin uses running time to handle rtpjitterbuffer's buffer mode pauses.
2010-12-03 15:50:17 +01:00
Mark Nauwelaerts
148af2235e
rtspsrc: include range request for all streams with non-aggregate control
2010-12-03 15:50:17 +01:00
Mark Nauwelaerts
dedf145316
rtspsrc: fix debug statement
2010-12-03 15:50:17 +01:00
Wim Taymans
7ed250c793
rtspsrc: select multicast transports in a smarter way
...
When we see a multicast address in the SDP connection, only try to negotiate a
multicast transport with the server.
Fixes #634093
2010-12-02 19:16:47 +01:00
Mark Nauwelaerts
b6b0de0c49
rtspsrc: handle stale digest authentication session data
...
In particular, handle Unauthorized server response when trying to convey
keep-alive.
Fixes #635532 .
2010-11-29 17:34:28 +00:00
Mark Nauwelaerts
ca7870de49
rtspsrc: fix duration reporting
...
Init segment prior to storing duration info in it.
Fixes #632548 .
2010-10-19 16:47:20 +02:00
Wim Taymans
ee7207aa3e
rtspsrc: mark as a source
...
Mark the rtspsrc element as a source.
Requires 0.10.31.1 now
2010-10-11 15:12:51 +02:00
René Stadler
0cfe24d132
rtspsrc: fix missing null-terminator in protocols array
...
Fixes random crash regression from commit ae84ae.
2010-09-28 16:21:48 +03:00
Wim Taymans
ef29a59903
rtspsrc: don't add /UDP in the transport, it's the default
...
don't add the default UDP lower-transport, some servers don't seem to like it.
Fixes #630500
2010-09-24 16:26:20 +02:00
Wim Taymans
8f2d254e24
rtspsrc: don't clear sdp when set as uri
...
when we set the SDP with an uri, don't clear it when we go to READY.
2010-09-10 18:06:48 +02:00
Wim Taymans
7698d8bc4a
rtspsrc: use sdp uri parse method
...
Use the sdp parse method that does proper uri escaping.
2010-09-10 18:02:04 +02:00
Wim Taymans
ae84ae1b36
rtspsrc: add rtsp-sdp protocol support
...
Allow setting an SDP with the rtsp-sdp:// url.
Based on patch from Marco Ballesio.
See #628214
2010-09-10 12:14:21 +02:00
American Dynamics
5999e8e716
rtspsrc: Add property to configure udpsrc buffer size
...
Add a new udp-buffer-size property to configure the buffer-size on the udpsrc
elements.
Fixes #628058
2010-09-06 12:22:11 +02:00
Wim Taymans
e4f8144bbf
rtspsrc: implement custom event handler
...
Extend the _push_event() function so that it can also send events to the udp
sources when asked.
Implement a custum send_event function that correctly dispatches the downstream
events in TCP mode. This fixes sending EOS to rtspsrc and have it push the EOS
downstream.
2010-09-06 10:45:23 +02:00
Sebastian Dröge
d224251df4
rtspsrc: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()
2010-09-04 14:52:10 +02:00
Wim Taymans
9dcfed0a5b
rtspsrc: don't reuse udp sockets
...
Don't reuse sockets but make the udpsrc element fail the state change when the
socket is already in use. If we don't prevent reuse, we might end up using the same
port for different streams in some cases.
Fixes #622017
2010-08-04 10:40:23 +02:00
Wim Taymans
e39d7f7359
rtspsrc: improve error and warning message
...
Improve error and warning message.
Fixes #622577
2010-08-04 10:39:44 +02:00
Arnaud Vrac
c6f47c34fb
rtspsrc: add port-range property to rtspsrc
...
To support setups with firewall/ipsec, it is useful for an rtsp client to be
able to set the range of ports that can be used for rtp/rtcp reception.
Allows this by adding a "port-range" property to the rtspsrc element.
Fixes #625153
2010-07-26 17:47:35 +02:00
Wim Taymans
8696d10a5b
rtspsrc: fix memory leak in server request reply
...
The RTSP server rtspsrc is communicating with, sends a GET_PARAMETER request
periodically as a ping. The code in gst_rtspsrc_handle_request forms an OK
response and sends, but doesn't call gst_rtsp_message_unset to free the memory
after sending the response. This results in a constant slow memory leak.
Fixes #624770
2010-07-26 15:33:44 +02:00
Wim Taymans
5534c7d91d
rtspsrc: fix locking after moving things around
2010-06-18 20:04:08 +02:00
Wim Taymans
651c82a01f
rtspsrc: make some errors as warnings
...
Avoid spamming the testsuite with these error debug lines.
2010-06-18 16:56:19 +02:00
Wim Taymans
966ced2208
rtspsrc: factor out the connections
...
Keep a global connection for aggregate control but also keep stream connections
for non-aggregate control.
Add some helper methods to connect/close/flush the connections.
2010-06-18 15:13:06 +02:00
Wim Taymans
ddc214d322
rtspsrc: add non-aggregate control
...
Add non-aggregate control.
Separate retrieving thr SDP from parsing and setting up the streaming from the
SDP.
2010-06-18 15:13:06 +02:00
Wim Taymans
e6ec5cce2e
rtspsrc: respect aggregate control attributes
...
when the SDP specifies an aggregate control url, use that for playback
control.
Fixes #619531
2010-06-14 19:24:14 +02:00
Wim Taymans
cb8252275d
rtsp: try all ranges from the sdp
...
Try all ranges in the SDP before giving up.
2010-06-04 13:58:38 +02:00
Wim Taymans
6fbca707bb
rtspsrc: make parse_range return result
...
Make the parse_range function return if the parsing succeeded or failed.
2010-06-04 13:58:38 +02:00
Wim Taymans
a50cd7c27d
rtspsrc: don't leak the session
2010-05-07 19:02:21 +02:00
Wim Taymans
bc72d8250c
rtsp: configure bandwidth properties in the session
2010-05-07 18:59:42 +02:00
Wim Taymans
db3c4e7f46
rtspsrc: fall back to SDP ports instead of server_port
...
In multicast, fall back to the ports in the SDP instead of the server_port
attribute as this is more in line with the RFC.
2010-05-07 12:51:05 +02:00
Wim Taymans
4e1ced0a77
rtspsrc: refactor collecting the transport info
...
Make a method to collect the ports and destination address.
2010-05-07 12:24:51 +02:00
Wim Taymans
05352d7ea8
rtspsrc: handle servers that send broken Transports
...
Handle servers that send their port pairs with the wrong name.
Fixes #617537
2010-05-07 11:28:36 +02:00
Wim Taymans
ef4d2901aa
rtspsrc: use the SDP connection info in multicast
...
Parse the connection info from the SDP.
When we need to configure the multicast destination, fall back to the SDP
connection info when the transport did not specify a destination and ttl.
Fixes #617537
2010-05-06 16:52:26 +02:00
Wim Taymans
d6579912cb
rtspsrc: make setup url in a smarter way
...
Make sure we always separate the base and control url parts with a / when
creating the setup url.
2010-05-04 16:36:15 +02:00
Alessandro Decina
c8a02a91a6
rtspsrc: handle SEEKING queries.
2010-05-04 16:05:13 +02:00
Wim Taymans
b84bf10455
rtspsrc: add property to control the buffering method
...
Add a property to control how the jitterbuffer performs timestamping and
buffering.
2010-04-05 15:26:03 +02:00
Benjamin Otte
3f511ec361
Add -Wwrite-strings to the configure flags
...
... and fix all warnings
2010-03-21 14:17:47 +01:00
Wim Taymans
ef804589ca
rtsp: use GType from -base and bump required version
...
Use the transport flags GType from -base and bump the required version of -base
because of this.
2010-03-19 15:03:43 +01:00
Benjamin Otte
cccfeaa59c
gst_element_class_set_details => gst_element_class_set_details_simple
2010-03-18 14:32:00 +01:00
Benjamin Otte
1055aaa9cb
Add -Wredundant-decls warning flag
...
Also fix compile issues
2010-03-17 19:35:10 +01:00
Benjamin Otte
3342b1679e
Add -Wmissing-declarations -Wmissing-prototypes warning flags
...
And fix all the warnings.
2010-03-17 18:23:28 +01:00
Wim Taymans
ba6dbaecfc
rtspsrc: don't forget to send keepalive messages
...
When we operate in TCP mode, still send keepalive messages when we
need to.
Fixes #612696
2010-03-15 11:38:23 +01:00
Wim Taymans
d29fa60f97
rtspsrc: check for NULL before doing strcmp
...
Check the connection and address type for NULL before doing strcmp and
crashing.
Fixes #612553
2010-03-11 12:56:11 +01:00
Wim Taymans
821096c4f1
rtspsrc: parse connection information
...
Parse the connection information from the SDP and use it to figure out if we are
dealing with ipv4 or ipv6 connections.
2010-03-10 11:28:22 +01:00
Wim Taymans
8eb5c2c794
rtspsrc: require a destination for multicast
...
When setting up the multicast sockets, we need a destination address to listen
on or else we error.
2010-03-10 11:21:20 +01:00
Wim Taymans
574447b092
rtspsrc: handle ipv6 listening ports when needed
...
Add some code to make udpsrc listen on an ipv6 address when needed. The
detection of IPV6 is not yet implemented.
2010-03-10 11:21:20 +01:00
Wim Taymans
38f2b4735d
rtspsrc: send keep alive when paused
...
When we are paused, send keep alive messages to the server so that our session
doesn't time out when we go back to playing later.
2010-03-10 11:21:18 +01:00
Wim Taymans
66709a7a68
rtspsrc: configure multicast correctly
...
Take the transport destination for multicast.
Disable loop and autojoin for multicast on the udpsinks.
2010-03-08 17:48:46 +01:00
Wim Taymans
a0b651bf5b
rtspsrc: avoid stopping NULL tasks
...
Check the task for NULL, it could be paused and set to NULL before.
2010-02-16 19:54:32 +01:00
Mark Nauwelaerts
87e80aab57
rtspsrc: fix typo in debug message
2010-02-16 16:07:21 +01:00
Wim Taymans
8d814f3782
rtpbin: pass running_time to jitterbuffer pause
...
Pass the current running time to the jitterbuffer when pausing or resuming so
that it calculate the right offsets.
Small cleanups and comments.
Set the default rtspsrc latency to 2 seconds.
2010-02-12 17:22:54 +01:00
Wim Taymans
c2dfc94b1d
rtspsrc: cleanup properties
...
Use more default constants.
Use static strings param flag.
Init properties explicitly instead of letting gobject do this.
2010-02-12 15:20:07 +01:00
Wim Taymans
c35a984801
rtspsrc: free transports on errors
...
See #608564
2010-02-01 19:32:11 +01:00
Wim Taymans
8c5a822250
rtspsrc: fix on-npt-stop signal warnings for RDT
...
The RDT manager does not implement this signal so we need to check for it before
trying to connect to it.
2010-01-05 12:23:16 +01:00
Wim Taymans
a65240d1c1
rtspsrc: fix some comments, remove property check
...
Fix some comments, clarify some FIXMEs
Remove the on-ntp-stop signal check now that the jitterbuffer is in
-good and we know that it supports this signal.
2009-12-24 22:23:01 +01:00
Thiago Santos
ac03ad782a
rtspsrc: Parse all rtpinfo entries
...
Do not forget to parse all rtp-info entries, instead of
parsing the first one only.
Fixes #605222
2009-12-24 17:08:22 -03:00
Wim Taymans
b8c2ccce4e
rtspsrc: handle NULL and empty transport strings
...
When an RTSP extension returns NULL or an empty transport string, just ignore it
and try to get the next possible transport. Fixes playback of RealMedia streams.
2009-12-10 18:45:55 +01:00
Wim Taymans
6a44d8e198
rtspsrc: install event function on internal RTCP pad
...
Install a custom event function on the internal RTCP pad so that we can reply
TRUE to a latency event.
2009-12-10 18:45:55 +01:00
Tim-Philipp Müller
24b93d82ec
rtspsrc: fix major memory leak when playing back rtsp video streams
...
Don't forget to unref QoS, navigation and latency events when
dropping them.
2009-12-04 11:14:03 +00:00
Bastien Nocera
efc611e420
Add user-id and user-pw properties
...
So that one doesn't need to modify the URL to have access
to authenticated RTSP streams.
fixes #601728
2009-11-18 17:27:19 +01:00
Wim Taymans
6725c91387
rtsp: handle events in TCP mode
...
We need to handle events in TCP mode so that we can reply to the LATENCY event
with TRUE.
2009-10-15 13:20:26 +02:00
Wim Taymans
88884cfddb
rtspsrc: forward events into the rtpbin
...
Only catch the SEEK event on the srcpad and let other events enter the rtpbin.
2009-10-14 17:01:51 +02:00
Mark Nauwelaerts
50d5c8dce5
rtspsrc: if transport protocol unsupported, try another one
...
Also change error message to more accurately reflect cases in which
it can occur.
2009-09-25 16:47:39 +02:00
Arnout Vandecappelle
19455200b1
rtspsrc: fix memory leak
...
In gst_rtspsrc_parse_digest_challenge(), rtspsrc does a g_strndup of the auth
header items and then passes them to gst_rtsp_connection_set_auth_param()
without freeing.
Fixes #594133
2009-09-08 13:30:29 +02:00
Wim Taymans
784b95ddbf
rtspsrc: don't add non-utf8 chars to structures
2009-08-03 18:13:46 +02:00
Luc Deschenaux
f96e900a64
rtspsrc: put all SDP attributes on caps
...
Put the SDP attributes on the caps too so that they can be used by
depayloaders.
See #564437
2009-08-03 17:21:44 +02:00
Mark Nauwelaerts
a905ef233e
rtspsrc: do not leak timeout message
2009-07-09 11:34:40 +02:00
Wim Taymans
81d7a297f7
rtspsrc: use same protocols after redirect
...
After a redirect we want to use the same protocols that we were using for the
current url.
2009-06-23 16:39:36 +02:00
Patrick Radizi
a95c049f76
rtspsrc: Add RTP blocksize functionality
...
Add property to make the client suggest a blocksize to the server.
Fixes #585549
2009-06-12 16:06:28 +02:00
Wim Taymans
b9ddf22340
rtspsrc: set the right state on rtpbin
...
We need to set the state of gstrtpbin to the same state as our source elements.
This fixes fallback to TCP again.
2009-06-04 15:19:05 +02:00
Patrick Radizi
301fc8a712
rtspsrc: fix memory leak of messages
...
Free messages correctly.
Fixes #577318
2009-05-25 10:57:59 +02:00
Wim Taymans
047618849a
rtspsrc: make fakesrc silent
...
Make the fakesrc that is responsible for sending dummy packets silent.
2009-05-24 19:32:17 +02:00
Wim Taymans
5d3168e558
rtspsrc: don't send teardown before setup
...
Don't send a TEARDOWN request when we did not manage to successfully setup a
stream.
2009-05-24 16:33:42 +02:00
Wim Taymans
732704c007
rtspsrc: Fix find_stream_by_* functions
...
Fix various version of find_stream_by_* by not trying to convert an int to a
pointer and vice versa, for portability reasons.
Fixes #581333
2009-05-04 18:55:12 +02:00
Chris Winter
752cfb16fe
rtspsrc: fix dummy nat packet logic
...
Fix a typo in the dummy NAT packet sending code.
Fixes #581329
2009-05-04 18:32:05 +02:00
Mark Nauwelaerts
959a9b494b
rtspsrc: avoid errors after server eof
...
Server eof (e.g. connection closed) is announced as connection closed,
so better record state and act accordingly to prevent (read/write)
errors during subsequent teardown/cleanup sequences. #Fixes 580851.(c).
2009-05-04 17:01:35 +02:00
Mark Nauwelaerts
734548a34f
rtspsrc: also set base_time on src after flush
...
timestamps following flush/seek should be consistent between
UDP and TCP interleaved case. Fixes #580851.(b).
2009-05-04 17:01:28 +02:00