Wim Taymans
d9bc48edc9
rtspsrc: manage element state ourselves
...
Lock the state of the all our elements and manage their states
outselves. Because we are working async, we can't rely on the state
change function to set the state at the right time or to return the
right return value from the state change function.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702046
2013-06-16 05:40:13 +02:00
Wim Taymans
25082a50b9
rtspsrc: add extra TLS url protocols
...
We also support TLS protocols now.
2013-05-31 12:34:22 +02:00
Wim Taymans
80850df711
rtspsrc: create and push stream-start in TCP mode
2013-05-28 15:45:49 +02:00
Wim Taymans
4fc1f3088b
rtspsrc: remove some obsolete code
...
It is not needed to do a state change from the _play() function on
ourselves. The state change function already did that and we don't want to
interfere with that (or use hacks to avoid interference).
2013-05-28 15:10:07 +02:00
Wim Taymans
e6f850996b
rtspsrc: set RTCP caps on the RTCP pads
2013-05-28 12:26:25 +02:00
Wim Taymans
779bcc093c
rtspsrc: add signal to handle server requests
...
Add a signal to be notified of a server request. The signal handler can then
construct the response message for the server.
See https://bugzilla.gnome.org/show_bug.cgi?id=632207
2013-05-28 12:26:24 +02:00
Tim-Philipp Müller
643450c9b8
Revert "gstrtspsrc: set buffer-size for multicast buffers"
...
This reverts commit 2481e95d03
.
This is already done five lines above, it was added a year
ago in commit 561b131e
.
2013-05-09 09:09:59 +01:00
Aha Unsworth
2481e95d03
gstrtspsrc: set buffer-size for multicast buffers
...
For receiving video data via RTSP when the video is sent via
multicast there is no way to specify the udpsrc buffer-size.
On windows the native network buffer is not large and with video
i-frames being huge the buffer is to small and you get i-frame corruption,
it looks terrible, and there is no (easy) way to set the udpsrc buffer-size.
https://bugs.freedesktop.org/show_bug.cgi?id=52264
2013-05-08 16:57:53 -03:00
Sebastian Dröge
b0b0557c48
gst: Add better support for static plugins
2013-04-15 15:54:11 +02:00
Sebastian Dröge
b17750ed9e
rtspsrc: Proxy the ntp-sync property of rtpbin
2013-04-12 12:58:50 +02:00
Sebastian Dröge
53dae1585e
rtspsrc: Give the manager always the name "manager"
...
This allows to use the GstChildProxy interface to adjust
properties on it.
2013-04-12 12:51:05 +02:00
Wim Taymans
f8013487c9
rtspsrc: add support for NetClientClock
...
When the server suggests a GstNetTimeProvider in the SDP, set up a
GstNetClientClock that slaves to the remote clock and suggest this clock in
provide_clock.
2013-04-11 15:00:05 +01:00
Sebastian Dröge
d80ff8e7f3
rtspsrc: Proxy the multicast-iface property of udpsrc
2013-04-03 17:53:13 +02:00
Wim Taymans
640de61740
rtspsrc: only EOS when our source sends BYE
...
Only EOS when we receive a BYE event from the SSRC of our stream.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675453
2013-02-06 14:01:16 +01:00
Wim Taymans
0540492ab2
rtspsrc: save the stream SSRC
...
Conflicts:
gst/rtsp/gstrtspsrc.c
2013-02-06 14:00:56 +01:00
Wim Taymans
c8fb1c720c
rtspsrc: flush connection when stopping
...
When we stop, we can flush all pending commands so that we can stop and
join the task.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684924
2013-02-06 13:18:18 +01:00
Tim-Philipp Müller
95a37196b3
rtspsrc: add "proxy-id" and "proxy-pw" properties
...
to match souphttpsrc. user/password passed via the URI
will still take precedence though.
https://bugzilla.gnome.org/show_bug.cgi?id=395427
2012-12-31 00:22:27 +00:00
Wim Taymans
8cfec6a88d
rtspsrc: fix cmd comparison
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690476
2012-12-20 17:12:30 +01:00
Wim Taymans
75616fac9a
rtspsrc: add some more debug
2012-12-20 17:12:20 +01:00
Wim Taymans
a858bf46db
rtspsrc: fix TCP reconnect
...
Ignore other commands when reconnecting, otherwise the loop function would pause
and the reconnection would not happen. Continue looping after doing a reconnect
so that we have a chance to actually read the new data.
2012-12-13 09:30:59 +01:00
Wim Taymans
b1dc816772
rtspsrc: timeout on udpsrc is in nanoseconds
2012-12-12 11:09:42 +01:00
Aleix Conchillo Flaque
3503aef946
rtspsrc: do not change state to PLAYING if currently chaning state
...
* gst/rtsp/gstrtspsrc.c (gst_rtspsrc_play): state change might be
happening in the application thread, so we don't change the state to
PLAYING in the gstrtspsrc thread unless it is safe.
A specific case is when chaning the state to NULL from the application
thread. This will synchronously try to stop the task (with the element
state lock acquired), but we will try a gst_element_set_state from
gstrtspsrc thread which will block on the element state lock causing a
deadlock.
https://bugzilla.gnome.org/show_bug.cgi?id=684312
2012-12-10 15:13:22 +01:00
Wim Taymans
64cdbb77a9
rtspsrc: use new option parser function
2012-11-27 11:13:37 +01:00
Wim Taymans
5d0507c09e
rtspsrc: pause the task instead of spinning
...
Actually pause the loop task instead of spinning forever.
2012-11-22 11:34:31 +01:00
Wim Taymans
c28bfa8902
rtspsrc: handle segment event
...
Make a segment event when we send a new range header to a client (first PLAY
request or after a seek). Send the segment event in interleaved mode.
Clean the segment event on cleanup
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688382
2012-11-16 15:38:29 +01:00
Wim Taymans
bd91bd3193
rtspsrc: fix check for active streams
...
A stream can be active without a srcpad yet and we want to send
events on those streams as well.
2012-11-16 15:22:46 +01:00
Wim Taymans
11cf4d4fd3
rtspsrc: create and add pads outside of lock
...
Create and add the ghostpad for the new stream outside of the lock because it
is not needed and causes deadlocks.
2012-11-16 13:33:44 +01:00
Aleix Conchillo Flaque
6c855edf03
rtspsrc: allow client to disable reconnection
...
* gst/rtsp/gstrtspsrc.[ch]: added new "udp-reconnect" property. Before,
rtspsrc always tried to reconnect to the server when the RTSP
connection was closed by the server. This property lets the user
decide whether it wants rtspsrc to reconnect or not.
https://bugzilla.gnome.org/show_bug.cgi?id=683912
2012-11-16 12:55:10 +01:00
Wim Taymans
e2a4d28c1f
rtspsrc: clear variables before retrying
...
Else we might unref an old udpsrc twice in cleanup.
2012-11-16 12:17:37 +01:00
Wim Taymans
cc9cb26be1
rtspsrc: propose ports in multicast
...
When the user configured a port-range, propose ports from this range
as the multicast ports. The server is free to ignore this request but if it
honours it, increment our ports so that we suggest the next port pair for the
next stream.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=639420
2012-11-16 12:17:37 +01:00
Wim Taymans
5025b3f1b3
rtspsrc: add more debug
2012-11-16 12:17:37 +01:00
Marc Leeman
7cbca3dcd1
rtsp: the RTCP port number is inclusive
...
The configured port number pair has its upper bound set to the maximum
allowed RTCP port, inclusive.
See https://bugzilla.gnome.org/show_bug.cgi?id=639420
2012-11-06 13:22:58 +01:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Wim Taymans
adb70e89f9
rtspsrc: remove unused include
2012-10-10 12:05:34 +02:00
Tim-Philipp Müller
8b20603f8b
rtspsrc: answer URI query
...
Without this, something also answered the query
with TRUE but without setting a uri, not sure
what that was..
2012-09-21 23:33:47 +01:00
Daniela
03fbd7ec6e
rtspsrc: avoid leak
...
When setup fails, make sure to cleanup afterwards.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673509
2012-09-07 16:33:18 +02:00
Aleix Conchillo Flaque
4a200b670f
rtp: make rtp packet probation configurable (bug #682512 )
2012-08-30 21:49:57 +02:00
Tim-Philipp Müller
4bb52bbadf
docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert
2012-08-27 21:20:30 +01:00
Aleix Conchillo Flaque
8d864dbbfc
rtspsrc: make jitterbuffer drop-on-latency available ( fix #682055 )
...
Conflicts:
gst/rtsp/gstrtspsrc.h
2012-08-22 10:39:19 +02:00
Mark Nauwelaerts
a549b0bf2c
rtspsrc: manage race between connection closing and flushing
...
... where the former can happen in task thread and the latter in mainloop
upon downward state change.
2012-08-03 14:10:32 +02:00
Wim Taymans
ef38efc2d7
rtsp: go and stay in the loop function on PLAY
...
When we have a PLAY request, go into the LOOP function next. When we are
looping, keep on looping until we are told otherwise.
This fixed rtsp and TCP connections.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680551
2012-07-25 12:50:01 +02:00
Wim Taymans
943b56ff8e
rtsp: set caps after activating the pad
2012-07-25 12:49:35 +02:00
Maria Giovanna Chiossa
561b131e1a
rtspsrc: also set UDP buffer size in multicast
...
Also set the UDP buffer size in multicast mode.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675448
2012-07-19 15:26:36 +02:00
Wim Taymans
51371d26ee
update for RTP buffer api changes
2012-07-17 16:38:27 +02:00
Sebastian Dröge
aeafc3a093
gst: Implement segment-done event
2012-07-05 13:13:09 +02:00
Tim-Philipp Müller
456847c66b
rtspsrc: update for gst_element_make_from_uri() changes
2012-06-23 14:57:28 +01:00
Wim Taymans
30d3dfee36
update for task api change
2012-06-20 10:33:42 +02:00
Wim Taymans
694be55c05
rtspsrc: Don't reset time in flush-stop
...
Don't reset the time in flush-stop. Live sources can do this flush in the
playing state and so the pipeline will never have a chance to update the
base_time of the elements, which only happens when going from paused to
playing.
2012-06-14 08:58:58 +02:00
Wim Taymans
935472aba7
rtspsrc: Rework the async state handling
...
Always send the flushing events to the udp elements now that basesrc supports
this. This makes sure a segment event is sent correctly after a flush.
Keep track of the currently executing command and make it possible to specify
what command you want to cancel when starting a new async command.
See https://bugzilla.gnome.org/show_bug.cgi?id=677905
2012-06-12 16:05:40 +02:00
Sebastian Dröge
a1948e34d2
elements: Use gst_pad_set_caps() instead of manual event fiddling
2012-06-08 15:54:42 +02:00
Wim Taymans
eb982e4bbe
rtspsrc: only reset the manager object when we did a seek
...
Only reset the manager object when we used a Range header, ie. when we did a
seek. Otherwise we just paused and we can resume just fine.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677475
2012-06-07 12:11:14 +02:00
Maria Giovanna Chiossa
ff019d05f6
rtsp: add the Scale header when needed
...
Setting GST_SEEK_FLAG_SKIP when sending a seek event in rtspsrc should
set the "Scale" field in the rtsp PLAY header.
Because the boolean "src->skip" is set after the call, "Speed" instead
of "Scale" is always set. Move the assignment before issuing the _play
request.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676618
2012-05-24 09:57:31 +02:00
Sebastian Dröge
d99eb6d2cb
Update everything for the removal of the interface library and mixer/tuner interfaces
2012-04-13 13:15:11 +02:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25
gst: Update versioning
2012-04-04 14:37:47 +02:00
Wim Taymans
3d61d12e03
update for buffer api change
2012-03-30 18:15:34 +02:00
Wim Taymans
c44cd8f55b
Merge branch 'master' into 0.11
...
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850
Conflicts:
docs/plugins/Makefile.am
docs/plugins/gst-plugins-good-plugins-docs.sgml
docs/plugins/gst-plugins-good-plugins-sections.txt
docs/plugins/gst-plugins-good-plugins.hierarchy
docs/plugins/inspect/plugin-avi.xml
docs/plugins/inspect/plugin-png.xml
ext/flac/gstflacdec.c
ext/flac/gstflacdec.h
ext/libpng/gstpngdec.c
ext/libpng/gstpngenc.c
ext/speex/gstspeexdec.c
gst/audioparsers/gstflacparse.c
gst/flv/gstflvmux.c
gst/rtp/gstrtpdvdepay.c
gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Marc Leeman
b4756db358
gstrtspsrc: disable RTSP keep-alive on request
2012-03-12 15:14:21 +01:00
Sebastian Dröge
f2e569cde8
rtspsrc: Use correct enum for return values
2012-03-06 14:18:33 +01:00
Wim Taymans
ca9532ccc5
update for new memory api
2012-02-22 02:10:33 +01:00
Wim Taymans
9365f12d6e
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:43:30 +01:00
Sebastian Dröge
0b517ce9fb
Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-good into 0.11
2012-01-25 12:49:34 +01:00
Sebastian Dröge
10554b271f
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacdec.c
ext/jpeg/gstjpegenc.c
ext/pulse/pulsesink.c
sys/v4l2/gstv4l2src.c
2012-01-25 12:49:11 +01:00
Wim Taymans
b4630dd3e0
more memory API porting
2012-01-25 12:30:29 +01:00
Mark Nauwelaerts
a224ffb971
rtspsrc: simplify internal src event debug logging
...
... which avoids almost superfluous obtaining of rtsp element.
2012-01-20 17:10:57 +01:00
Mark Nauwelaerts
018852ddc2
rtspsrc: avoid NULL string comparison
2012-01-20 17:10:54 +01:00
Wim Taymans
1584806634
port to new gthread API
2012-01-19 11:33:53 +01:00
Sebastian Dröge
305901c7cc
rtspsrc: Update for the new GIO versions of the udp elements
2012-01-17 16:49:10 +01:00
Sebastian Dröge
93e3ed5a86
Merge branch 'master' into 0.11
...
Conflicts:
ext/cairo/gsttextoverlay.c
ext/pulse/pulseaudiosink.c
gst/audioparsers/gstaacparse.c
gst/avi/gstavimux.c
gst/flv/gstflvmux.c
gst/interleave/interleave.c
gst/isomp4/gstqtmux.c
gst/matroska/matroska-demux.c
gst/matroska/matroska-mux.c
gst/matroska/matroska-mux.h
gst/matroska/matroska-read-common.c
gst/multifile/gstmultifilesink.c
gst/multipart/multipartmux.c
gst/shapewipe/gstshapewipe.c
gst/smpte/gstsmpte.c
gst/udp/gstmultiudpsink.c
gst/videobox/gstvideobox.c
gst/videocrop/gstaspectratiocrop.c
gst/videomixer/videomixer.c
gst/videomixer/videomixer2.c
gst/wavparse/gstwavparse.c
po/ja.po
po/lv.po
po/sr.po
tests/check/Makefile.am
tests/check/elements/qtmux.c
tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Wim Taymans
5fd2b7abe3
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:26:21 +01:00
Tim-Philipp Müller
27ee8931dd
autodetect, rtsp: gst_registry_get_default() -> gst_registry_get()
2012-01-02 14:32:40 +00:00
Tim-Philipp Müller
b8b8454bcb
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Wim Taymans
d0b936acc7
rtspsrc: remove unused flush param
2011-12-06 13:59:52 +01:00
Wim Taymans
71b615515a
update for clock provider API change
2011-11-28 17:52:06 +01:00
Wim Taymans
ac849ec2b3
fix for element flag updates
2011-11-28 16:57:24 +01:00
Vincent Penquerc'h
c0e101e93f
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Tim-Philipp Müller
87aa29d2cf
rtspsrc: make connection-speed property a guint64
2011-11-24 01:19:32 +00:00
Wim Taymans
105650127e
add parent to pad functions
2011-11-17 15:02:55 +01:00
Wim Taymans
6190312214
add parent to query function
2011-11-16 17:27:13 +01:00
Tim-Philipp Müller
c27bbe4be2
Update for GstURIHandler get_protocols() changes
2011-11-13 23:44:44 +00:00
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
dae679e560
rtspsrc: small header cleanups
2011-05-17 11:55:15 +02:00
Wim Taymans
77acc618e1
use G_DEFINE_TYPE some more
2011-04-19 17:35:47 +02:00
Wim Taymans
7555d0949f
Merge branch 'master' into 0.11
...
Conflicts:
android/apetag.mk
android/avi.mk
android/flv.mk
android/icydemux.mk
android/id3demux.mk
android/qtdemux.mk
android/rtp.mk
android/rtpmanager.mk
android/rtsp.mk
android/soup.mk
android/udp.mk
android/wavenc.mk
android/wavparse.mk
configure.ac
2011-04-18 10:23:45 +02:00
Thibault Saunier
b541208b77
android: Make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
Wim Taymans
4e7f1633e4
rtpdec: reset structure before use
2011-04-05 17:26:44 +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