Olivier Crête
1169bb05af
gstrtpsession: Add special mode to use FIR as repair as Google does
...
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
79a9564c68
rtpsession: Send FIR requests in response to key unit requests with all-headers=TRUE
...
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
12a6b9613b
rtpsession: Put the PLI requests in each RTPSource
...
Also refactor a bit and put all the keyframe request code in one
place inside rtpsession.c
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
59c028a4ce
rtpsession: Hack to FIR because Google doesn't set the sender ssrc correctly
...
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
0ad78db0a3
rtpsession: Process received Full Intra Requests
...
Process FIR requests according to RFC 5104
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Ha Nguyen
931020158e
rtpbin: Fix a leaked clock for each buffering message
...
Fixes bug #659237 .
2011-09-19 14:05:26 +02:00
Mark Nauwelaerts
e2179cbb74
rtpsession: avoid source premature timing out
...
Use slightly adjusted sender interval to determine sender timeout rather than
our own sender side interval (which may have been forced small).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
f65d4c8300
rtpsession: avoid timing out source too quickly
...
... following a PAUSE/PLAY cycle, particularly applicable when operating
with a short RTCP interval (possibly forced so server-side).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
77ebd33991
rtpjitterbuffer/rtpbin: relax dropping rtcp packets
...
... to at least having it trigger a/v synchronization, possibly without
using provided values which are still not considered sane
(as previously dropped).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
adfe7d0467
rtpjitterbuffer: some more reset when clearing pt map
...
... which in particular caters for some more reset following a possible
rtsp PLAY.
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
915db26029
rtpjitterbuffer: only reset skew on gap if input ts available
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
1e17e10f75
rtpjitterbuffer: check some more for possible rtp timestamp discontinuity
...
... when operating in non slave mode, and reset if detected.
This should avoid some (large) bogus outgoing timestamp due to jumps
in rtp time, as result of PAUSE/PLAY or seek or ...
2011-09-19 11:56:40 +02:00
Mark Nauwelaerts
9c95072048
rtpbin: alternative inter-stream syncing methods
...
... at least if not syncing to NPT time:
* either sync using RTCP SR data (as currently)
* only perform the above once using initial RTCP SR packets
* discard RTCP and sync by equating provided stream's clock-base rtptime,
as provided by jitterbuffer (typically obtained from RTP-Info in RTSP).
2011-09-19 11:52:03 +02:00
Mark Nauwelaerts
4b7301e4d1
rtpjitterbuffer: also provide clock-base to sync signal
2011-09-19 11:52:00 +02:00
Mark Nauwelaerts
f29c253934
rtpbin: allow configurable rtcp stream syncing interval
...
... rather than necessarily syncing at each RTCP SR.
2011-09-19 11:51:57 +02:00
Mark Nauwelaerts
afd26f0078
rtpsession: trigger reconsideration if rtcp interval set
2011-09-19 11:51:50 +02:00
Olivier Crête
b2e8362767
rtpsession: Initialise the last_keyframe_request variable
2011-09-02 19:24:46 -04:00
Mark Nauwelaerts
c03648c8bb
rtpsession: properly init rtcp_min_interval
2011-07-29 12:08:42 +02:00
Mark Nauwelaerts
3a98f6f0fd
rtpssrcdemux: keep a ref on the src pad while using it
...
Prevent a possible race if clear_ssrc() is called between getting the pad and
doing the push.
Based on patch by <olivier.crete@collabora.com>
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:51:01 +02:00
Olivier Crête
c7b9b98648
rtpssrcdemux: Make the pads lock recursive and hold it across the signal emit
...
We need to keep the lock held because we don't want a push before the "new-ssrc-pad"
handler has completed. But we may want to push an event from inside that handler, hence
the recursive mutex.
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:59 +02:00
Olivier Crête
e26b5391c2
rtpssrcdemux: Use PADs lock
...
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:57 +02:00
Olivier Crête
6095d2a3f0
rtpsession: Always send application requested feedback in immediate mode
...
Send as many application requested feedback messages in immediate mode, even if they
have already been sent.
https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 17:20:59 +02:00
Olivier Crête
354faabda0
rtpsession: Don't let the computed RTP bandwidth fall too low
...
If it falls too low, the computed RTCP bandwidth will be near zero and
the RTCP thread will be stopped.
https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 16:19:00 +02:00
Olivier Crête
4d48109f9d
rtpsession: Wait longer to timeout SSRC collision
...
Using the current RTCP interval to timeout SSRC collision can lead to
collisions being timed out immediately if a BYE packet is sent because
it is sent immediately, so the interval is 0. This is not what we
want. So just set a static 10 times the default RTCP interval, it
should be enough
https://bugzilla.gnome.org/show_bug.cgi?id=648642
2011-07-25 16:18:58 +02:00
Miguel Angel Cabrera Moya
977a5eee7a
rtpjitterbuffer: return correct type when assertion fails
2011-06-24 11:59:01 +02:00
Olivier Crête
581a30d892
rtpsession: The signal has 5 arguments, not 4
2011-06-20 16:47:36 -04:00
Sebastian Dröge
b694bfeca3
ssrcdemux: Fix uninitialized variable compiler warning for (pre-) releases too
2011-05-17 10:47:32 +02:00
Sebastian Dröge
0f05d3e5a5
rtpssrcdemux: Fix uninitialized variable compiler warning
2011-05-17 09:24:08 +02:00
Olivier Crête
b6bfc512e8
ssrcdemux: Implement iterate internal links for sink pads
...
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:29 +02:00
Olivier Crête
23b6c8febc
rtpssrcdemux: iterate pad function is only valid for src pads
...
The iterate function is only used for src pads, so mark it as such and remove
dead code.
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:25 +02:00
Olivier Crête
1bf94a92b0
rtpssrcdemux: Release lock before emitting signal
...
If the lock is not released before emitting a signal, it may cause a deadlock
if any other function in the element is called.
Also removed an unused timestamp parameter
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:20 +02:00
Olivier Crête
42531337f5
rtpsession: Remove incomplete support for RTCP FIR
...
Remove bits that were meant to suppport RTCP FIR
https://bugzilla.gnome.org/show_bug.cgi?id=648160
2011-04-20 07:50:43 +01:00
Robert Swain
5b18c652fb
rtp, rtpmanager: Address unused but set variables
...
GCC 4.6.x spits warnings about variables that are unused but set. Such
variables have been removed where trivial but with comments left behind
for informational purposes in some cases.
gst_rtp_session_chain_recv_rtcp () was changed in commit 490113d4
to always return GST_FLOW_OK instead of the return value of
rtp_session_process_rtcp (), so we'll keep it that way.
2011-04-16 12:49:16 +01:00
Olivier Crête
9d9257916b
rtpsession: Use existing functions to parse RTCP FB packets
...
Use existing functions to get the FCI from FB packets.
https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:48:04 +01:00
Olivier Crête
5ccd964d86
rtpsession: marshal GstBuffer as a MiniObject instead of a pointer
...
https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:47:40 +01:00
Pascal Buhler
0d2d52856f
rtpssrcdemux: Unknown SSRC is not fatal
...
https://bugzilla.gnome.org/show_bug.cgi?id=646966
2011-04-11 17:37:58 -04:00
Pascal Buhler
58ef84846e
rtpsession: Number of active sources should be updated whenever the status of the source changes to active
...
Forward-ported by Olivier Crête
https://bugzilla.gnome.org/show_bug.cgi?id=646965
2011-04-11 17:37:36 -04:00
Havard Graff
53c88ae33e
rtpmanager: ignore a BYE if it is sent with our internal SSRC
...
https://bugzilla.gnome.org/show_bug.cgi?id=646964
2011-04-11 17:34:12 -04: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
Havard Graff
93f022d6ab
rtpsession: fix wrongly applied patch
...
Obviously recv_rtp_sink does not have much to do with send_rtcp_src...
See commit 046ff170.
https://bugzilla.gnome.org/show_bug.cgi?id=647263
2011-04-09 12:32:37 +01:00
Havard Graff
e71a908d96
jitterbuffer: Make src_query MT-safe
...
It is possible that the element might be going down while the event arrives
2011-04-08 15:23:05 +02:00
Sebastian Dröge
4c36ca30b2
jitterbuffer: Unref event if the parent element disappeared
2011-04-08 15:22:19 +02:00
Havard Graff
342686bb02
jitterbuffer: Make upstream events MT-safe
2011-04-08 15:21:46 +02:00
Sebastian Dröge
31af4fe33e
rtp: Unref events if the parent element disappeared
2011-04-08 15:20:51 +02:00
Ole André Vadla Ravnås
046f170d6a
rtpmanager: fix pad callbacks so they handle when parent goes away
...
1) We need to lock and get a strong ref to the parent, if still there.
2) If it has gone away, we need to handle that gracefully.
This is necessary in order to safely modify a running pipeline. Has been
observed when a streaming thread is doing a buffer_alloc() while an
application thread sends an event on a pad further downstream, and from
within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing
while the streaming thread has its buffer_alloc() in progress.
2011-04-08 15:16:56 +02:00
Havard Graff
f8370bb2a8
rtpsession: make iterate_internal_links MT-safe
2011-04-08 14:41:34 +02:00
Mark Nauwelaerts
e5bcaa45e6
Revert "jitterbuffer: reset element base_time upon flush"
...
This reverts commit f84b8a69cb
.
Fixes bug #646397 .
2011-04-04 11:49:00 +02:00
Mark Nauwelaerts
6bc1aa0e59
jitterbuffer: handle position query
2011-03-09 17:18:08 +01:00
Mark Nauwelaerts
1f7f434df6
jitterbuffer: also estimate eos if very near eos
2011-03-07 16:56:43 +01:00
Mark Nauwelaerts
3c9a4239bf
jitterbuffer: avoid trying to buffer more than is available.
...
That is, in case of short (or near eos of) stream, deadlock (until timeout)
would occur trying to buffer more than is yet forthcoming.
2011-03-07 16:56:18 +01:00