Wim Taymans
d89790d545
Merge branch 'master' into 0.11
...
Conflicts:
gst/avi/gstavidemux.c
gst/rtp/gstrtpac3depay.c
gst/rtp/gstrtpg726depay.c
gst/rtp/gstrtpmpvdepay.c
gst/videofilter/gstgamma.c
2011-05-24 17:34:19 +02:00
Stefan Kost
be413185d0
rtspsrc: use EINVAL for missing url parameter
...
Fixes gcc warning about using uninitialized variable 'res'.
2011-05-18 10:22:27 +03:00
Wim Taymans
e15651816e
Merge branch 'master' into 0.11
2011-05-17 16:13:59 +02:00
Mark Nauwelaerts
dc2ddea91b
rtspsrc: also allow PAUSE to be interrupted
...
... as it is on the way out to NULL.
See #632504 .
2011-05-17 11:56:47 +02:00
Mark Nauwelaerts
283e4e4afd
rtspsrc: ensure proper closing and cleanup
...
... since the TEARDOWN sequence might not have had a chance to even start,
but at least connections should be closed (synchronously) and state cleaned up.
See #632504 .
2011-05-17 11:56:38 +02:00
Mark Nauwelaerts
f7ddf811d7
rtspsrc: fix and improve async handling
...
Simplify the command handling; passing a command to thread means we really
want it to get the message, which means to always flush provided the command
can handle being interrupted. Command thread indicates whether command
allows interruption and ensure non-flushing connection as it subsequently
needs it.
In particular, this also makes the TEARDOWN sequence interruptable
and also prevents races where _loop_ could miss a command and would
continue receiving (or at least trying to).
See #632504 .
2011-05-17 11:56:22 +02:00
Mark Nauwelaerts
e6798ad54c
rtspsrc: tweak post-seek loop handling
2011-05-17 11:55:40 +02:00
Wim Taymans
ddfcd8bbfd
rtspsrc: open on play and pause when not done yet
...
With the async state changes, it is possible that we need to open the stream
before play and pause.
Also make sure we remember a previous open failure so that we don't keep trying
again.
2011-05-17 11:55:34 +02:00
Wim Taymans
6fe680934a
rtspsrc: improve async handling
...
Simplify the command handling, only continue looping when we have not received
another command or when the previous loop was successfull.
Avoid looping on a disconnected socket.
2011-05-17 11:55:32 +02:00
Wim Taymans
2513207433
rtspsrc: rework reconnect code
...
Use the same async code path to implement reconnects.
Make sure we only post progress messages when doing async things.
2011-05-17 11:55:29 +02:00
Wim Taymans
c27c10f8f4
rtspsrc: small cleanups
...
Make sure we cancel the previous task when queuing a new one.
Move the messages to a central place so we can more easily post them.
2011-05-17 11:55:27 +02:00
Wim Taymans
852c6e11cd
rtspsrc: don't post errors when interrupting
2011-05-17 11:55:24 +02:00
Wim Taymans
220e47adcf
rtspsrc: implement more async handling
...
Remove some old locks.
Make sure we never go into the loop function when flushing.
2011-05-17 11:55:20 +02:00
Wim Taymans
2873585238
rtspsrc: first attempt at async implementation
2011-05-17 11:55:18 +02:00
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