Miguel Paris
458741e4b2
rtpsource: properly prune RTCP packets out of feedback_retention_window
...
Closes #522
2018-11-30 10:55:26 +00:00
Miguel Paris
53f03d4cc1
rtpsource: properly compare buffer PTSs
2018-11-30 10:55:26 +00:00
Miguel Paris
57829c3352
rtpsource: retain_rtcp_packet: warning if invalid running_time
2018-11-30 10:55:26 +00:00
Linus Svensson
8fc8b7ee33
rtpsession: Implement reset
...
Reset RTPSession when rtpsession changes state from PAUSED to READY.
Without this change, a stored last_rtptime in RTPSource could interfere
with RTP timestamp generation in RTCP Sender Report.
Fixes #510
2018-11-13 12:30:35 +00:00
Patrick Radizi
23f7739ba4
rtpbin: add option for increasing ts_offset gradually
...
Instant large changes to ts_offset may cause timestamps to move
backwards and also cause visible effects in media playback. The new
option max-ts-offset-adjustment lets the application control the rate to
apply changes to ts_offset.
https://bugzilla.gnome.org/show_bug.cgi?id=784002
2017-09-14 13:15:56 +03:00
Miguel París Díaz
9ffef7ecd5
rtpsource: fix warning message
...
https://bugzilla.gnome.org/show_bug.cgi?id=780105
2017-03-16 16:33:02 +02:00
Miguel París Díaz
54a2f33e47
rtpsource: get clock-rate from pt if needed to generate SR
...
https://bugzilla.gnome.org/show_bug.cgi?id=780105
2017-03-16 15:48:37 +02:00
Miguel París Díaz
3aa69ca0bb
rtpsession: relate received FIRs and PLIs to source
...
This is needed in order to:
- Avoid ignoring requests for different media sources.
- Add SSRC field in the GstForceKeyUnit event.
https://bugzilla.gnome.org/show_bug.cgi?id=778013
2017-02-02 12:13:59 -05:00
Santiago Carot-Nemesio
a1e4249131
rtpstats: Keep number of nacks sent/received per source
...
Currently, the nack packets sent or received are kept at session level,
which makes it impossible to distinguish how many of these packages were
sent/received per ssrc when several sources are in the same session. This
patch is aligned with the https://www.w3.org/TR/webrtc-stats/#dom-rtcrtpstreamstats
https://bugzilla.gnome.org/show_bug.cgi?id=776714
2017-01-24 12:38:50 +02:00
Havard Graff
b33470f80c
rtpsource: reordered packets are very normal, and should not be a warning
2016-08-26 11:53:22 -04:00
Miguel París Díaz
389e0abeb0
rtpsource: complete warn log with SSRC
...
https://bugzilla.gnome.org/show_bug.cgi?id=767195
2016-06-06 10:47:17 +03:00
Nirbheek Chauhan
78847d03cf
rtpmanager: Some comment and documentation clarifications/fixes
2016-03-15 09:32:47 +00:00
Luis de Bethencourt
d4f094f587
rtpmanager: use GST_STIME_ARGS for GstClockTimeDiff
...
No need to manually handle negative values of diff, GST_STIME_ARGS does
exactly this.
2015-11-03 14:26:32 +00:00
Miguel París Díaz
f321bfeaf4
rtpmanager: Take into account packet rate for max-dropout and max-misorder calculations
...
https://bugzilla.gnome.org/show_bug.cgi?id=751311
2015-10-07 12:07:18 +01:00
Miguel París Díaz
4c96094fbb
rtpmanager: add "max-dropout-time" and "max-misorder-time" props
...
https://bugzilla.gnome.org/show_bug.cgi?id=751311
2015-10-07 12:06:47 +01:00
Hyunjun Ko
b814d7ed25
rtpsource: doesn't handle probation and rtp gap in case of sender
...
https://bugzilla.gnome.org/show_bug.cgi?id=754548
2015-10-02 16:42:36 +03:00
Stefan Sauer
12930c2f8c
docs: fix "Symbol name not found at the start of the comment block"
...
Add symbols or change comment into a regular comment.
2015-07-07 17:12:02 +02:00
Jose Antonio Santos Cadenas
11f298a338
rtpsource: Do not try to push NULL buffers
...
If update_receiver_stats() fails, we can't really do anything with this buffer
anymore and have to drop it. This happens if there's a big seqnum
discontinuity for example.
https://bugzilla.gnome.org/show_bug.cgi?id=751311
2015-06-22 12:26:59 +02:00
Sebastian Dröge
dc059efa60
rtp: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()
...
The mix between all these in the RTP code is confusing, let's try to be
consistent.
2015-06-10 14:34:47 +02:00
Ilya Konstantinov
c7e168ec70
rtpmanager: clarify negative lost packets in stats
...
Also:
- Move notes on units before field documentation.
- Unify documentation style.
https://bugzilla.gnome.org/show_bug.cgi?id=750653
2015-06-10 14:10:52 +02:00
Ilya Konstantinov
0a578c235a
rtpmanager: document units of stats and arguments
...
Also, minor spelling and style corrections.
https://bugzilla.gnome.org/show_bug.cgi?id=750653
2015-06-09 18:21:59 +02:00
Sebastian Dröge
c60038f188
rtpsource: Queue bad packets instead of dropping them
...
So we can send them out once we found the next, consecutive sequence number in
case one is following.
2015-05-18 18:43:16 +03:00
Sebastian Dröge
9f18a271f3
rtpsource: Use g_queue_foreach() to unref all buffers in queues
2015-05-18 18:43:16 +03:00
Sebastian Dröge
54e924332e
rtpsource: Refactor seqnum comparison code a bit
2015-05-18 18:43:16 +03:00
Sebastian Dröge
1974b24ef4
rtpsource: Allow sequence number wraparound during probation
2015-05-18 18:43:16 +03:00
Sebastian Dröge
3386de7a8a
rtpsource: Make sequence number comparison code more readable
...
... by using gst_rtp_buffer_compare_seqnum() and signed integers
instead of implictly using effects of integer over/underflows.
2015-05-18 18:43:16 +03:00
Luis de Bethencourt
671b4d25cd
remove unused enum items PROP_LAST
...
This were probably added to the enums due to cargo cult programming and are
unused. Removing them.
2015-04-24 17:01:12 +01:00
Sebastian Dröge
80268e7d37
rtpsource/rtprtxsend: Also pass correct seqnum-offset and payload to the RTX rtpsource
...
https://bugzilla.gnome.org/show_bug.cgi?id=747394
2015-04-16 17:33:37 +02:00
Santiago Carot-Nemesio
e05378ec16
rtp: Add Full Intra Request (FIR) packets to statistics
...
https://bugzilla.gnome.org/show_bug.cgi?id=745587
2015-03-04 12:04:40 +01:00
Santiago Carot-Nemesio
22791413f9
rtp: Add Packet Loss Indication (PLI) to statistics
...
This is helpful to provide statistics in the format defined in
http://w3c.github.io/webrtc-stats/#dictionary-rtcrtpstreamstats-members .
https://bugzilla.gnome.org/show_bug.cgi?id=745587
2015-03-04 12:04:07 +01:00
Olivier Crête
51a8bedced
rtpsource: Rename seqnum-base to seqnum-offset in caps
...
This was modified back in 1.0 in GstRtpBasePayload
2014-10-10 18:33:34 -04:00
Olivier Crête
2e54d38dd0
rtpsession: Keep local conflicting addresses in the session
...
As we now replace the local RTPSource on a conflict, it's no longer possible
to keep local conflicts in the RTPSource, so they instead need to be kept
in the RTPSession.
Also fix the rtpcollision test to generate multiple collisions instead of
one by change the address, as otherwise we detected that it was a single one.
2014-05-03 18:30:20 -04:00
George Kiagiadakis
6a2de911fa
rtpsession: fix rb blocks disappearing after the first rtcp cycle with multiple senders
...
Previously, when the session had multiple internal sender SSRCs, it would
issue SR reports with RB blocks only on the first RTCP timeout and afterwards
SR reports would be sent empty. This was because the "generation" number
in RTPSource would increase more than once during the same cycle and afterwards
it would always be greater than the session's generation, which would cause
it to be skipped from being included in RBs.
This commit fixes this problem by:
1) Increasing the RTPSource generation only at the end of each cycle,
which essentially fixes the problem but only when the internal senders
are less than GST_RTCP_MAX_RB_COUNT.
2) Keeping for each RTPSource a set of SSRCs which stores which SSRC's
SR the given RTPSource has been reported in, which also fixes the problem
when the internal senders are more than GST_RTCP_MAX_RB_COUNT. This is
necessary because of the fact that any RTPSource is marked as reported
in itself's SR and makes it impossible to know if it has been reported
in other SRs too or not, and which.
2013-12-12 16:44:27 +01:00
Wim Taymans
c8db05d610
rtpsource: update receiver stats for sender
...
An internal sender in a session is also a receiver of its own packets so update
the receiver stats. Other senders in the session will use this info to generate
correct RB blocks in their SR reports.
2013-11-07 16:24:30 +01:00
Wim Taymans
268a75e705
rtpsource: refactor receiver stats update
2013-11-07 16:24:30 +01:00
Wim Taymans
28e5f90988
rtpbin: use PacketInfo for the sender
...
Avoid mapping the packet multiple times when sending RTP.
2013-09-13 14:34:28 +02:00
Wim Taymans
a02c9473d8
rtpbin: store more in the PacketInfo
...
Store all info in the PacketInfo so that we can avoid mapping the packet
multiple times.
2013-09-13 14:34:28 +02:00
Wim Taymans
47662f9ca4
rtpbin: RTPArrivalStats -> RTPPacketInfo
...
Rename a structure because we are also going to use this for the sender
bits.
2013-09-13 14:34:28 +02:00
Wim Taymans
c795b72988
source: small cleanups
2013-09-13 14:34:27 +02:00
Wim Taymans
4379ed1dee
source: add methods to register NACK
...
Add a method to register a missing packet for an ssrc along with
methods to get the missing packets and clear them.
2013-08-06 15:50:19 +02:00
Wim Taymans
bd0709c15c
session: remove old code to change SSRC
...
Remove code used to change the SSRC after a collision. We now send
a RECONFIGURE event upstream to make the upstream element change the SSRC.
2013-07-26 12:18:01 +02:00
Wim Taymans
88f5a5f355
source: don't update packet SSRC
...
Remove the code to update the SSRC in packets, it can never be called now that
we always use a source with matching packet SSRC.
2013-07-26 12:18:01 +02:00
Wim Taymans
93d07298ff
session: let source keep track if it sent BYE
2013-07-26 12:17:56 +02:00
Wim Taymans
0c9c1434a8
source: reset more
2013-07-26 12:17:56 +02:00
Wim Taymans
1d02496d15
source: also use the source for bye_reason
...
Store the BYE reason in our internal source object. Rename the methods on the
source object a little because now the BYE can be received in RTCP or
set when the session wants to send BYE.
2013-07-26 12:17:56 +02:00
Wim Taymans
ddd071e54c
session: configure sdes with structure only
...
Remove code to configure the SDES with methods and types, only
allow configuration with GstStructure
2013-07-26 12:17:55 +02: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
Aleix Conchillo Flaque
4a200b670f
rtp: make rtp packet probation configurable (bug #682512 )
2012-08-30 21:49:57 +02:00
Sebastian Dröge
cb789e32ad
rtpmanager: Port to GIO
2012-01-17 13:08:42 +01:00