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