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
0e5a2b5de6
Handle the invalid case of setting multiple stream_bitrates if there is only a single send stream registered.
...
This can happen when switching between multiple streams and a single while getting feedback from the receiver.
BUG=2881
TEST=trybots
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7899004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5486 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-04 14:38:25 +00:00
e6b871bb29
Added method for getting default module state and protect agains a
...
read/write race for child_modules_.
BUG=2731
TEST=tsan
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5919005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5306 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-17 08:30:40 +00:00
e7b1e11283
Revert 5285 "Revert 5228 "Use the RTT from RtcpRttStats class if..."
...
> Revert 5228 "Use the RTT from RtcpRttStats class if provided whe..."
>
> > Use the RTT from RtcpRttStats class if provided when sending/receiving NACK.
> >
> > R=holmer@google.com
> >
> > Review URL: https://webrtc-codereview.appspot.com/5049004
>
> TBR=asapersson@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/5799004
TBR=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5989004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5299 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 14:40:36 +00:00
87ad57bc75
Incorrect iterator++ in ModuleRtpRtcpImpl::RegisterVideoBitrateObserver
...
The iterator is incremented both in loop header and loop body. Should
only be incremented in header.
BUG=2727
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5899004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5295 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 07:43:51 +00:00
86bb56a7f5
Revert 5228 "Use the RTT from RtcpRttStats class if provided whe..."
...
> Use the RTT from RtcpRttStats class if provided when sending/receiving NACK.
>
> R=holmer@google.com
>
> Review URL: https://webrtc-codereview.appspot.com/5049004
TBR=asapersson@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5799004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5285 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 16:16:45 +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
96a9b2dcdc
Use the RTT from RtcpRttStats class if provided when sending/receiving NACK.
...
R=holmer@google.com
Review URL: https://webrtc-codereview.appspot.com/5049004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5228 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05 15:06:56 +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
ffe1b17b57
Lock access to ModuleRtpRtcpImpl::simulcast_.
...
Fixes race between RegisterSendPayload and SendOutgoingData.
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4099006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5152 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 13:53:13 +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
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
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
3e7703640f
Remove unused constants, so chrome can enable a warning for that. Patch from thakis@
...
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2296006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4844 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 22:05:05 +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
59f20bb735
Break out RTCPSender dependency on ModuleRtpRtcpImpl.
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2191004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4706 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 16:02:19 +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
cac7325b84
Adding critsect for child_modules_ in ModuleRtpRtcpImpl::Process() to avoid race with ModuleRtpRtcp::RegisterChildModule.
...
Found with tsan.
TEST=try job and tsan
R=holmer@google.com
Review URL: https://webrtc-codereview.appspot.com/2156004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4661 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 12:11:12 +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
e270331481
Fix duplicate code
...
R=pwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1993004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4507 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 22:23:48 +00:00
12dc1a38ca
Switch C++-style C headers with their C equivalents.
...
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.
BUG=1833
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1917004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +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
aeba6e8740
ModuleRTPRTCP call rtcp_sender_.TMMBR() directly instead of calling its own API.
...
BUG=2051
TEST=autotest
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1790005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4327 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-11 08:06:37 +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
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
8ccb9f9716
Fixes some pacer/padding issues found while testing.
...
- A bug was introduced in r4234 causing no paced packets to be sent.
- Only update the sequence number counter if a padding packet is actually going to be sent, to avoid packet loss.
- Have all packets go through the pacer if pacing is enabled to avoid reordering.
- Fix race condition on reading capture_time_ms_/timestamp_ in rtp_sender.cc.
BUG=1837
TEST=trybots and vie_auto_test --automated
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1682004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4246 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-19 14:13:42 +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
8ca8a71de2
Revert "Add a default RTT to CallStats and use different values for buffered/real-time mode."
...
This reverts commit aae26db1da5803482b094357c546b8454ab1c26d.
BUG=1613
TBR=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1327008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3890 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-23 16:48:32 +00:00
ccd4b2aec8
Add a default RTT to CallStats and use different values for buffered/real-time mode.
...
BUG=1613
Review URL: https://webrtc-codereview.appspot.com/1326007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3888 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-23 15:58:23 +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