ef92755780
Have RTX be enabled by setting an RTX payload type instead of by setting an RTX SSRC.
...
This makes it easier to disable RTX by filtering out the RTX codec during call setup/signaling, and won't require that also the SSRCs are filtered out.
BUG=1811
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15629005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6335 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 08:25:29 +00:00
88abf11cad
Move the capture ntp computing code to ntp_calculator so that later it can be shared with voe.
...
BUG=3111
TEST=try bots
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13489004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6152 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 16:53:51 +00:00
dc80bae2a6
Convert logs in rtp rtcp module from WEBRTC_TRACE into LOG.
...
Clean some logs and add asserts in the way.
BUG=3153
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11129004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5861 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 11:06:12 +00:00
ebdb0e3ad0
Help to land 7969005 on behalf of solenberg. The review and try is done in 7969005.
...
- Add ability to VoE to send Absolute Sender Time header extension.
- Refactor handling of RTP header extensions in VoE to work the same as in ViE.
- Add API to enable receiving Absolute Sender Time in VoE.
This is part of the work to include audio packets in bandwidth estimation, for
better accuracy in estimates.
BUG=
TBR=solenberg@webrtc.org ,henrikg@webrtc.org ,stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9509004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5654 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 23:49:08 +00:00
8098e07478
Add RTCP packet type counter (for getting statistics such as sent/received NACK and FIR).
...
Add counter to RTCP sender and RTCP receiver.
Add video api GetRtcpPacketTypes().
BUG=2638
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8179004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5575 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 11:59:02 +00:00
346094cb01
Incorrect overhead calculation when using FEC + RTP extension headers.
...
When frames are fragmented inte multiple RTP packets in order to not
exceed a maximum packet size, the header overhead calculation must
take into account that FEC redundancy packets may use more than the
12 bytes of the basic RTP header. For example, a csrc list or extension
headers may be present.
BUG=2899
R=phoglund@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8769005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5562 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 08:40:33 +00:00
0e93257cee
Add callbacks for receive channel RTP statistics
...
This allows a listener to receive new statistics (byte/packet counts, etc) as it
is generated - avoiding the need to poll. This also makes handling stats from
multiple RTP streams more tractable. The change is primarily targeted at the new
video engine API.
TEST=Unit test in ReceiveStatisticsTest.
Integration tests to follow as call tests when fully wired up.
BUG=2235
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6259004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5416 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-23 10:00:39 +00:00
54ae4ffb9e
Add callbacks for receive channel RTCP statistics.
...
This allows a listener to receive new statistics as it is generated - avoiding the need to poll. This also makes handling stats from multiple RTP streams more tractable.
The change is primarily targeted at the new video engine API.
TEST=Unit test in ReceiveStatisticsTest. Integration tests to follow as call tests when fully wired up.
BUG=2235
R=henrika@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5089004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5323 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-19 13:26:02 +00:00
6811b6e308
Callback for send bitrate estimates - new roll
...
Issue https://webrtc-codereview.appspot.com/4459004/ was commited as
r5259, after which flakiness was detected and a rollback was performed
at r5261.
Patch Set 1 of this issue is the code submitted in r5259. Subsequent
patch sets fixes a race condition which caused the seen problems.
The root cause was a dead lock between a thread sending rtp packets and
and a timed module processing thread:
webrtc::RTPSender::BitrateUpdated() // Get RTPSender stats lock
webrtc::Bitrate::Process() // Get Bitrate lock
webrtc::RTPSender::ProcessBitrate()
webrtc::ModuleRtpRtcpImpl::Process()
...
webrtc::Bitrate::Update() // Get Bitrate lock
webrtc::RTPSender::UpdateRtpStats() // Get RTPSender stats lock
webrtc::RTPSender::SendToNetwork()
...
This is fixed in Bitrate::Process() by releasing the lock before
calling the callback.
BUG=2235
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5619004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5281 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 09:46:59 +00:00
096e8d9f94
Revert 5259 "Callback for send bitrate estimates"
...
CL is causing flakiness in RampUpTest.WithoutPacing.
> Callback for send bitrate estimates
>
> BUG=2235
> R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/4459004
R=mflodman@webrtc.org , pbos@webrtc.org
TBR=mflodman
Review URL: https://webrtc-codereview.appspot.com/5579005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5261 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 14:07:33 +00:00
2656cf9f4c
Callback for send bitrate estimates
...
BUG=2235
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4459004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5259 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 12:53:03 +00:00
ebad765ee0
Add callbacks for send channel rtp statistics
...
BUG=2235
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4449004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5227 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05 14:29:02 +00:00
0a3c1471b8
Add API to query video engine for the send-side delay.
...
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4559005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5225 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05 14:05:07 +00:00
a6ad6e5b58
Add callbacks for send channel rtcp statistics
...
BUG=2235
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4429004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5220 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05 09:48:44 +00:00
71f055fb41
Add send frame rate statistics callback
...
BUG=2235
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4479005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5213 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-04 15:09:27 +00:00
7e9315b42e
Adds support for sending redundant payloads over RTX.
...
TEST=trybots
BUG=1812
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4169004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5209 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-04 10:24:26 +00:00
8d02f5dc71
Added API for enabling/disabling RTCP Receiver Reference Time extension.
...
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3419005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5147 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 08:57:04 +00:00
1ae1d0c471
Add possibility to get the last processed RTT from the call stats class (to be used by RTP/RTCP module).
...
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2383004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5139 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 12:46:11 +00:00
9b82f5a6ed
Fix for RTX in combination with pacing.
...
Retransmissions didn't get sent over RTX when pacing was enabled since
the pacer didn't keep track of whether a packet was a retransmit or not.
BUG=1811
TEST=trybots
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3779004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5117 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-13 15:29:21 +00:00
48df38114d
Fix for making sure that the packet in order checks are done prior to updating the last received packet state.
...
Without this fix all packets are considered out-of-order by the rtp receiver, causing the last received state
in the rtp receiver to never get valid.
Also makes sure that only valid timestamps and receive times are used for audio/video sync.
BUG=2608
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3609004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5102 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-08 15:18:52 +00:00
766154aa1d
Removed unused code.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3219004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5073 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-04 08:35:50 +00:00
7d6bd22019
Propagate estimated RTT from receivers to rtt observer.
...
BUG=1613
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3119004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5063 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 12:14:34 +00:00
e5021fe590
Make RtpData and RtpFeedback destructors public.
...
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2399004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4965 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-15 10:38:40 +00:00
8469f7b328
Added support for sending and receiving RTCP XR packets:
...
- Receiver reference time report block
- DLRR report block (RFC3611).
BUG=1613
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2196010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4898 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02 13:15:34 +00:00
28a331eede
Add support for multiple report blocks.
...
Use a weighted average of fraction loss for bandwidth estimation.
TEST=trybots and vie_auto_test --automated
BUG=1811
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2198004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4762 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 07:49:56 +00:00
b2c8a952a7
Improving padding rules and breaking out bw allocation to ViEEncoder.
...
BUG=1837
TESTS=vie_auto_test --automated, trybots
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2170004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4693 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:58:01 +00:00
7bb8f02274
Adds support for combining RTX and FEC/RED.
...
This is accomplished by breaking out RTX and FEC/RED functionality from the RTP module and keeping track of the base payload type, that is the payload type received when not receiving RTX.
Enables retransmissions over RTX by default in the loopback test.
BUG=1811
TESTS=voe/vie_auto_test --automated and trybots.
R=mflodman@webrtc.org , pbos@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2154004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4692 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:40:11 +00:00
286fe0b04d
Revert 4585 "Revert "Revert 4582 "Reverts a second set of reverts caused by a bug in ..."""
...
...and fixes the RTCP bug.
BUG=2277
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2089004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4588 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 20:58:21 +00:00
a0218a84d1
Revert 4582 "Reverts a second set of reverts caused by a bug in ..."
...
> Reverts a second set of reverts caused by a bug in a dependency.
>
> Revert "Revert r4328"
>
> Revert "Revert r4322 "Support sending multiple report blocks and keeping track
> of statistics on"
>
> BUG=1811
> R=henrika@webrtc.org , pbos@webrtc.org , tina.legrand@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/2072004
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2087004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4585 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 19:44:13 +00:00
1a65d6c36b
Reverts a second set of reverts caused by a bug in a dependency.
...
Revert "Revert r4328"
Revert "Revert r4322 "Support sending multiple report blocks and keeping track
of statistics on"
BUG=1811
R=henrika@webrtc.org , pbos@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2072004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4582 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 16:22:21 +00:00
822fbd8b68
Update talk to 50918584.
...
Together with Stefan's http://review.webrtc.org/1960004/ .
R=mallinath@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2048004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4556 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 23:38:54 +00:00
f3e4ceee47
Fix some chromium-style warnings in webrtc/modules/rtp_rtcp/
...
BUG=163
R=pwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1904005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4444 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:17:19 +00:00
aa4d96a134
Revert r4301
...
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1809004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4357 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 19:25:04 +00:00
b7eda43810
Revert r4322 "Support sending multiple report blocks and keeping track of statistics on
...
several SSRCs"
R=pwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1774006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4344 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-15 21:08:27 +00:00
6f5707e184
Revert r4328
...
R=pwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1774005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4343 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-15 20:59:52 +00:00
e4736eee20
Fixes a crash when sending SR reports from a sender only module.
...
BUG=
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1790004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4328 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-11 08:28:35 +00:00
717d147ebb
Support sending multiple report blocks and keeping track of statistics on several SSRCs.
...
BUG=1811
TEST=vie_auto_test --automated, voe_auto_test --automated, trybots
R=andresp@webrtc.org , tommi@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1768004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4322 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 13:39:27 +00:00
66b2e5c05a
Breaking out receive-stats, rtp-payload-registry and rtp-receiver from the
...
rtp_rtcp implementation.
This refactoring significantly reduces the receive-side RTP parser and receiver
complexity, and makes it possible to implement RTX correctly by having two
instances of receive-statistics.
With this change the dead-or-alive and packet timeout APIs are removed.
TEST=trybots, vie_auto_test, voe_auto_test
BUG=1811
R=mflodman@webrtc.org , pbos@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1745004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4301 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-05 14:30:48 +00:00
d900e8bea8
Proper spacing for end-of-namespace comments.
...
BUG=
R=mflodman@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1760006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
91811e2b04
Remove unused multi stream bandwidth estimator.
...
BUG=
R=mflodman@webrtc.org , stefan@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1712004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4264 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-25 20:36:14 +00:00
2e402ce873
Enqueue packet in pacer if sending fails
...
If a packet cannot be sent while pacer is in use it should be
queued. This avoid packet loss due to congestion.
BUG=1930
R=pwestin@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1693004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4250 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-20 20:18:31 +00:00
508a84b255
Wire up pacer-based padding.
...
This connects the pacer-based padding with the RTP modules, which will
generate padding packets roughly according to what the pacer suggests.
It will only generate padding packets of maximum size to keep the number
off padding packets as small as possible. This also sets a limit of how much
padding + media bitrate which the pacer is allowed to "request" from the
RTP modules.
Padding will for now only be generated by the first sending RTP module.
BUG=1837
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1612005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4234 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-17 12:53:37 +00:00
a048d7cb0a
Include files from webrtc/.. paths in rtp_rtcp/
...
BUG=1662
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1557004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4135 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 14:27:38 +00:00
a5cb98cbbd
Breaking out RTP header parsing from the RTP module.
...
This is the first step in order to move bandwidth estimation closer to the network. The goal is to have RTP header parsing and bandwidth estimation before voice and video engine, and have a joint estimate for audio and video.
Moving bandwidth estimation before the RTP module is also required for RTX.
TEST=vie_auto_test, voe_auto_test, trybots.
BUG=1811
R=andresp@webrtc.org , henrika@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1545004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4129 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 12:12:51 +00:00
7ebbea14a9
Add handling of the absolute send time header extension to the rtp_rtcp module.
...
BUG=
R=asapersson@webrtc.org , stefan@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1480004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4041 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 11:10:31 +00:00
9f5ebb5251
Adding a payload type for RTX.
...
BUG=736
TEST=Modified RTP unittests.
Review URL: https://webrtc-codereview.appspot.com/1278004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3843 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-12 14:55:46 +00:00
7da3459b2a
Revert "With these changes we will assume that the capture time of a frame is based on NTP time. This makes the interface of video engine more well defined and makes it easier and cleaner to handle user provided capture timestamps."
...
This reverts commit 4954b3650192d78037714138a5c519ef08f2670e.
Reverts r3799
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1308004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3802 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 14:56:29 +00:00
afcc6101d0
With these changes we will assume that the capture time of a frame is based on NTP time. This makes the interface of video engine more well defined and makes it easier and cleaner to handle user provided capture timestamps.
...
We should consider making the same change to the render timestamps generated at the receiver.
BUG=1563
Review URL: https://webrtc-codereview.appspot.com/1283005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3799 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 13:37:40 +00:00
2f44673d66
WebRtc_Word32 => int32_t for rtp_rtcp/
...
BUG=314
Review URL: https://webrtc-codereview.appspot.com/1279007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3777 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-08 11:08:41 +00:00
bda7f305c5
Adding RTX on source
...
Review URL: https://webrtc-codereview.appspot.com/1190004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3674 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-15 23:21:52 +00:00