Commit graph

531 commits

Author SHA1 Message Date
zeeshan.ali@nokia.com
795822ffa5 rtpmux: Implement stream locking, needed for DTMF
20070314171618-65035-e4d24b1606ce0a3e2e739f01833f61e4d7555eac.gz
2012-12-16 16:29:02 +00:00
zeeshan.ali@nokia.com
fd209faa56 rtpmux: use GST_*_OBJECT instead of g_*
20070314102058-65035-e2442888f2e3e5a3a7659ad7954a4fba34749ce2.gz
2012-12-16 16:28:58 +00:00
zeeshan.ali@nokia.com
b0208cb0a6 rtpmux: No need to manage pads, parent does that for us
20070314101854-65035-ef5f4abde227102a1128835ab325905eae4c3726.gz
2012-12-16 16:28:55 +00:00
zeenix@gmail.com
74e9071dad rtpmux: Fix copyright header
20070314090358-d014a-3a6d3eeeaaf5cb8ca3bca6a33e99a551f598bd48.gz
2012-12-16 16:28:51 +00:00
zeeshan.ali@nokia.com
3c4cdf1541 rtpmux: The first implementation of RTP muxer
20070307085307-65035-833402413f99cb3f8be4883e92bad4c8722510c9.gz
2012-12-16 16:28:41 +00:00
Havard Graff
9c94f1187c jitterbuffer: bundle together late lost-events
The scenario where you have a gap in a steady flow of packets of
say 10 seconds (500 packets of with duration of 20ms), the jitterbuffer
will idle up until it receives the first buffer after the gap, but will
then go on to produce 499 lost-events, to "cover up" the gap.

Now this is obviously wrong, since the last possible time for the earliest
lost-events to be played out has obviously expired, but the fact that
the jitterbuffer has a "length", represented with its own latency combined
with the total latency downstream, allows for covering up at least some
of this gap.

So in the case of the "length" being 200ms, while having received packet
500, the jitterbuffer should still create a timeout for packet 491, which
will have its time expire at 10,02 seconds, specially since it might
actually arrive in time! But obviously, waiting for packet 100, that had
its time expire at 2 seconds, (remembering that the current time is 10)
is useless...

The patch will create one "big" lost-event for the first 490 packets,
and then go on to create single ones if they can reach their
playout deadline.

See https://bugzilla.gnome.org/show_bug.cgi?id=667838
2012-12-13 12:00:43 +01:00
Wim Taymans
c755af0cb0 rtpsource: protect against invalid RTP packets 2012-11-12 11:18:30 +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
d5fd524a0c rtsession: fix compiler warning 2012-10-17 13:55:45 +02:00
Wim Taymans
26a21e85e2 rtpbin: clarify the ntp-sync option 2012-10-17 13:35:07 +02:00
Wim Taymans
f17db5c4ed rtpsession: update caps in the source
Inform the source when caps changed. This was removed in the port to 1.0
leaving the source unaware of the clock-rate and unable to interpollate
rtp timestamps for SR packets.
2012-10-17 13:22:40 +02:00
Wim Taymans
f4eef3f48d rtpbin: set PTS and DTS in jitterbufffer 2012-10-17 12:46:32 +02:00
Wim Taymans
796c1d8029 rtpbin: disable check for ntp-sync
Disable the check for the ntp-sync method. It is expected that
a rather larger offset needs to be applied with this method.
2012-10-17 12:27:03 +02:00
Wim Taymans
1cebcfa8c2 rtpbin: use running-time for NTP time
When use-pipeline-clock is set, use the running-time of the
pipeline to calculate the NTP timestamps. This method would previously
only work when the base-time is set to 0 but with this change it can
also work with different offsets and we can also implement pause/resume
of the sender and receiver now.
2012-10-17 12:26:05 +02:00
Wim Taymans
5b394385b9 session: also stop probatation on existing sources
Receiving an RTCP packet should also stop probation on sources we have seen
before.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683065
2012-08-30 22:07:24 +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
Tim-Philipp Müller
787c314ec3 Silence some 'variable may be used uninitialized' compiler warnings
When compiling with -DG_DISABLE_ASSERT
2012-08-08 11:31:59 +01:00
Olivier Crête
2e21ace12c rtpssrcdemux: Block pad while it is announced.
Block the RTP pad and associated RTCP pads while they are being
announced. This it to prevent a race where one is announced and
before the callback has connected it, the other one gets a buffer.

We can't use the "padlock" of ssrcdemux because it causes deadlocks.
2012-08-06 18:04:58 -07:00
Olivier Crête
2aa360c936 rtpssrcdemux: Release lock before signalling new pad
This prevents a deadlock where something would try to push an event
through the SSRC demux from the callback, causing the pads to be iterated
and the lock taken.
2012-08-04 18:14:28 -07:00
Wim Taymans
51371d26ee update for RTP buffer api changes 2012-07-17 16:38:27 +02:00
Tim-Philipp Müller
c22268b5d3 rtpsession: remove deprecated and unused "ntp-ns-base" property 2012-07-06 13:16:00 +01:00
Wim Taymans
30d3dfee36 update for task api change 2012-06-20 10:33:42 +02:00
Wim Taymans
dc04908412 update for clock api changes 2012-06-20 10:01:57 +02:00
Pascal Buhler
8161daef4a rtpsession: creation should be signaled before validation
https://bugzilla.gnome.org/show_bug.cgi?id=667850
2012-05-09 10:36:18 +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
Mark Nauwelaerts
a34cbc7637 rtpbin: fix some lock management
... to avoid trying to take a non-recursive lock twice.
2012-03-26 18:38:34 +02:00
Wim Taymans
7f3a00decd jitterbuffer: reply FALSe on serialized queries 2012-03-14 15:45:38 +01:00
Wim Taymans
af59f573b5 rtpsession: don't leak the address 2012-03-13 19:26:47 +01:00
Wim Taymans
b5f1969406 rtpbin: improve cleanup
Reuse cleanup methods to make sure we remove all pads correctly
2012-03-07 15:22:36 +01:00
Wim Taymans
9942d3566e rtpsession: set caps without the lock
Release the lock before setting the caps on the srcpad, which triggers an event,
which could eventually call back into us and cause a deadlock.
2012-03-07 15:02:44 +01:00
Wim Taymans
5cce960baa ptdemux: set caps after activating the pad
Set the caps after we activated the pad or else it will just fail.
2012-03-07 15:02:44 +01:00
Mark Nauwelaerts
f189f62b13 Merge branch 'master' into 0.11
Conflicts:
	ext/wavpack/gstwavpackenc.c
	tests/check/elements/audioiirfilter.c
	tests/examples/v4l2/probe.c
2012-03-01 11:29:50 +01:00
Edward Hervey
9beda57c3a Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:47:25 +01:00
Tim-Philipp Müller
979431c034 rtpjitterbuffer: declare variables at the beginning of the block
It's how we roll. Fixes 'ISO C90 forbids mixed declarations and code'
compiler warning.
2012-02-16 11:21:28 +00:00
Wim Taymans
225e98d623 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacenc.c
	ext/jack/gstjackaudioclient.c
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	ext/pulse/plugin.c
	ext/shout2/gstshout2.c
	gst/matroska/matroska-mux.c
	gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Wim Taymans
9365f12d6e GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:43:30 +01:00
Wim Taymans
ed8c0b7f63 jitterbuffer: fix caps after pt change 2012-02-06 09:23:07 +01:00
Wim Taymans
c94c06530e jitterbuffer: fix caps leak 2012-02-06 09:18:17 +01:00
Tim-Philipp Müller
0f3b7b010e build: ignore GValueArray deprecation warnings for the time being
until this gets sorted out with the GLib folks and we have a
viable alternative.

https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-02-01 16:40:51 +00:00
Olivier Crête
87f2088303 rtpjitterbuffer: Don't leak caps event when not pushing 2012-01-27 19:05:24 +01:00
Olivier Crête
33a6d1921f rtpptdemux: Forward sticky events 2012-01-27 19:05:24 +01:00
Olivier Crête
7b1f8cb8f0 rtpptdemux: Protect all uses pad list with OBJECT LOCK
Actually protect the entire pad list and use it in a thread safe
way.
2012-01-27 19:05:24 +01:00
Olivier Crête
b3f5cdd1f9 rtpssrcdemux: Forward sticky events to new pads 2012-01-27 19:05:24 +01:00
Olivier Crête
76c93af537 rtpssrcdemux: Add ssrc to forwarded CAPS events
Also iterate the list of GstRtpSsrcDemuxPad safely
2012-01-27 19:05:23 +01:00
Olivier Crête
3285c45dbc rtpssrccdemux: Factor out getting dpad by pad 2012-01-27 19:05:23 +01:00
Olivier Crête
b850741430 rtpsession: Keep the buffer mapped while it is being modified 2012-01-27 19:05:23 +01:00