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
Wim Taymans
439e2f1cfd
rtp: fix marshallers
...
Remove custom marshallers for minobject.
Init RTCP buffer correctly.
Handle results from setcaps
Remove asserts.
2011-12-09 10:51:14 +01:00
Edward Hervey
86a57e3546
rtpmanager: Initialize GstRTPBuffer before usage
2011-12-05 18:40:12 +01:00
Wim Taymans
83ccefb24e
update for netbuffer api change
2011-11-02 09:06:38 +01:00
Wim Taymans
9a8a8e72c8
structure: fix for api update
2011-11-02 09:06:37 +01:00
Wim Taymans
161310fa23
bufferlist: update for new API
2011-11-02 09:06:37 +01:00
Wim Taymans
fc4684f4c6
fix compilation
2011-10-27 16:03:17 +02: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
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
ef02634dc6
rtpmanager: port to 0.11
...
* use G_DEFINE_TYPE
* adjust to new GstBuffer and corresponding rtp and rtcp buffer interfaces
* misc caps and segment handling changes
FIXME: also relies on being able to pass caps along with a buffer,
which has no evident equivalent yet, so that either needs one,
or still needs quite some code path modification to drag along caps.
2011-07-06 10:16:12 +02:00
Wim Taymans
61382aad28
source: fix type of ntpnstime
2011-02-02 18:30:47 +01:00
Wim Taymans
8598aaf81b
rtpbin: Get and use the NTP time when receiving RTCP
...
When we receive an RTCP packet, get the current NTP time in nanseconds so that
we can correctly calculate the round-trip time.
2011-02-02 18:30:46 +01:00
Olivier Crête
db5150a23a
rtpsource: Retain RTCP Feedback packets for a specified amount of time
2011-02-01 18:28:51 +01:00