Commit graph

321 commits

Author SHA1 Message Date
Tim-Philipp Müller a150d1e734 soup, pushfile, rtsp, udp, v4l2: update for GstURIHandler API changes 2011-11-13 18:50:51 +00:00
Wim Taymans c48df77320 update for probe api changes 2011-11-08 11:18:06 +01:00
Wim Taymans de020130e6 fix for probe updates 2011-11-07 17:14:17 +01:00
Wim Taymans 768e3826ab more template fixes 2011-11-04 17:39:15 +01:00
Wim Taymans a95acb7122 make %u in all request pad templates 2011-11-04 11:58:22 +01:00
Wim Taymans 0560ab53c0 update for new task api 2011-11-02 09:06:37 +01:00
Wim Taymans 9a8a8e72c8 structure: fix for api update 2011-11-02 09:06:37 +01:00
Tim-Philipp Müller 9f77b02b15 Update for pad API changes
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:52:28 +00:00
Wim Taymans 87fbd1e784 Merge branch 'master' into 0.11
Conflicts:
	common
	ext/pulse/pulsesink.c
	ext/soup/gstsouphttpclientsink.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtpmanager/gstrtpjitterbuffer.c
	gst/rtpmanager/rtpjitterbuffer.c
	gst/rtsp/gstrtspsrc.c
	sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Mark Nauwelaerts 81fc784163 rtspsrc: do not set elements to PLAYING when doing seek in PAUSED 2011-09-19 11:56:44 +02:00
Mark Nauwelaerts 8599801cae rtspsrc: switch to rtp time based syncing when guessed appropriate 2011-09-19 11:52:08 +02:00
Mark Nauwelaerts 3e33a7a09f rtspsrc: configure rtcp interval if provided
... in PLAY response.
2011-09-19 11:51:47 +02:00
Mark Nauwelaerts 95b5ece2c9 rtspsrc: ensure some initial state variable setup
... which might otherwise be skipped if the PLAY command is issued before
the OPEN command had a chance to actually be acted upon.

Fixes #657376.
2011-09-09 10:53:08 +02:00
Wim Taymans 33f18b8ea4 Merge branch 'master' into 0.11
Conflicts:
	gst/audioparsers/gstamrparse.c
	gst/isomp4/qtdemux.c
2011-09-06 16:06:25 +02:00
Mark Nauwelaerts 2603c2079d rtspsrc: add gtk-doc for new short-header property 2011-09-05 13:32:17 +02:00
Marc Leeman ce276d903c rtspsrc: allow sending short RTSP requests to a server
Some encoders (Arecont) do not like the long OPTIONS sent at startup as sent by
GStreamer, but do accept the short header as sent by Live555.

This patch makes the extending the request optional by adding a property
(short-header).

Fixes #655805.

API: GstRTSPSrc:short-header
2011-09-05 13:26:06 +02:00
Wim Taymans 4bb2b140e9 Merge branch 'master' into 0.11
Conflicts:
	sys/v4l2/v4l2src_calls.c
2011-08-16 18:35:53 +02:00
Edward Hervey d08e0ccc48 rtspsrc: Properly error out if SDP contains no streams
Also fixes unitialized variable error on macosx.
2011-08-09 11:28:17 +02:00
Wim Taymans 4121021bb2 Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulsesink.c
	ext/pulse/pulsesrc.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtp/gstrtph264pay.c
	gst/rtpmanager/gstrtpssrcdemux.c
2011-08-03 18:25:30 +02:00
Mark Nauwelaerts 9764b57b0a rtspsrc: set SOURCE flag at init time
Fixes #654816.
2011-07-25 12:44:38 +02:00
Wim Taymans 9c087d7d85 Merge branch 'master' into 0.11 2011-07-15 17:06:39 +02:00
Mark Nauwelaerts b98585df82 rtspsrc: fix seeking regression
... introduced when shuffling around code for the async implementation
by setting state of source (and udp sources) in _play before downstream
flushing is undone.
2011-07-12 15:13:25 +02:00
Wim Taymans f0749ed617 rtsp: fix for uri changes 2011-06-22 16:41:13 +02:00
Wim Taymans e221908169 rtsp: fix for flush_stop API change 2011-06-13 17:14:51 +02:00
Wim Taymans eed80e2dd3 -good: update for buffer API change 2011-06-13 16:33:57 +02:00
Wim Taymans c731cd3d95 rtsp: port to 0.11 2011-06-09 17:52:34 +02:00
Wim Taymans 710fa239d5 Merge branch 'master' into 0.11 2011-06-08 18:06:56 +02:00
Mark Nauwelaerts 785247cfb3 rtspsrc: reset state tracking variable when appropriate
... so we don't end up interrupting an operation that should not be interrupted
based on the indication of a previous interruptable operation.
2011-06-06 12:59:23 +02:00
Wim Taymans 0b1bdcf7cb Merge branch 'master' into 0.11
Conflicts:
	sys/ximage/ximageutil.c
2011-06-02 18:51:29 +02:00
Miguel Angel Cabrera Moya c39b7a5359 rtspsrc: uniform unknown message handling
Do the same processing in all the cases when an unknown message is received.
That is, give a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=651059
2011-05-25 20:06:16 +02:00
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