91941ae493
rtcp::VoipMetric block moved into own file and got Parse function
...
Review URL: https://codereview.webrtc.org/1452733002
Cr-Commit-Position: refs/heads/master@{#11030}
2015-12-15 15:06:44 +00:00
b8b6fbb7a5
lint build/include errors fixed in rtp_rtcp module
...
BUG=webrtc:5277
R=mflodman
Review URL: https://codereview.webrtc.org/1505993003
Cr-Commit-Position: refs/heads/master@{#10971}
2015-12-10 13:05:35 +00:00
fc47ed6c05
rtcp::Rrtr block moved into own file and got Parse function
...
BUG=webrtc:5260
R=asapersson@webrtc.org , åsapersson
Review URL: https://codereview.webrtc.org/1496883002 .
Cr-Commit-Position: refs/heads/master@{#10912}
2015-12-07 13:46:42 +00:00
97f7e13c23
rtcp::ReceiverReport moved into own file and got Parse function
...
BUG=webrtc:5260
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1453083002 .
Cr-Commit-Position: refs/heads/master@{#10897}
2015-12-04 15:13:40 +00:00
f8385aded0
rtcp::Pli moved into own file and got a Parse function
...
Created rtcp::Psfb abstract class between rtcp::Pli and rtcp::RtcpPacket to hold common data for Feedback Message.
BUG=webrtc:5260
Review URL: https://codereview.webrtc.org/1446513002
Cr-Commit-Position: refs/heads/master@{#10823}
2015-11-27 13:36:17 +00:00
64c0a0a111
Revert of Make overuse estimator one dimensional. (patchset #5 id:80001 of https://codereview.webrtc.org/1376423002/ )
...
Reason for revert:
Broke webrtc_perf_tests on bots.
Original issue's description:
> Make overuse estimator one dimensional.
>
> This drops the payload size difference dimension of the Kalman filter,
> which doesn't improve the quality of the estimation when pacing packets
> on the send-side.
>
> R=gaetano.carlucci@gmail.com , mflodman@webrtc.org , terelius@webrtc.org
>
> Committed: https://crrev.com/06e05a85b9e4def75ed5e6b582c4df842616f25f
> Cr-Commit-Position: refs/heads/master@{#10809}
TBR=terelius@webrtc.org ,mflodman@webrtc.org ,gaetano.carlucci@gmail.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1481003002
Cr-Commit-Position: refs/heads/master@{#10816}
2015-11-27 09:02:35 +00:00
06e05a85b9
Make overuse estimator one dimensional.
...
This drops the payload size difference dimension of the Kalman filter,
which doesn't improve the quality of the estimation when pacing packets
on the send-side.
R=gaetano.carlucci@gmail.com , mflodman@webrtc.org , terelius@webrtc.org
Review URL: https://codereview.webrtc.org/1376423002 .
Cr-Commit-Position: refs/heads/master@{#10809}
2015-11-26 14:35:10 +00:00
50c5136cb2
RTCP Bye packet moved to own file
...
Bye class got support for Parsing
Reason field implemented
Review URL: https://codereview.webrtc.org/1430013003
Cr-Commit-Position: refs/heads/master@{#10741}
2015-11-22 17:03:16 +00:00
0219c9b4bf
rtcp::App moved into own file and got Parse function
...
Review URL: https://codereview.webrtc.org/1437353003
Cr-Commit-Position: refs/heads/master@{#10688}
2015-11-18 13:56:57 +00:00
f8506cbdd8
rtcp::Ij renamed to rtcp::ExtendedJitterReport
...
to match name given in the RFC5450
private member renamed to inter_arrival_jitters_ for the same reason.
rtcp::ExtendedJitterReport moved into own file
accessors and Parse function added
to make class usable for parsing packet
Review URL: https://codereview.webrtc.org/1434213004
Cr-Commit-Position: refs/heads/master@{#10636}
2015-11-13 15:33:26 +00:00
1d8a506405
Add a PacketOptions struct to webrtc::Transport.
...
This allows us to pass packet meta data, such as transport sequence
number, to libjingle and further down to the socket implementation. A
similar struct already exist in libjingle, see rtc::PacketOptions in asyncpacketsocket.h.
BUG=4173
Review URL: https://codereview.webrtc.org/1376673004
Cr-Commit-Position: refs/heads/master@{#10144}
2015-10-02 10:39:40 +00:00
49f9cdba02
Fix bug where rtcp::TransportFeedback may generate incorrect messages.
...
In particular, if 14 short deltas were inserted (2 * capacity of status
vector chunk with 2bit items) followed by a large delta, that status
item would be dropped.
BUG=
Review URL: https://codereview.webrtc.org/1367193002
Cr-Commit-Position: refs/heads/master@{#10132}
2015-10-01 10:07:04 +00:00
2d566686a2
Unify Transport and newapi::Transport interfaces.
...
BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1369263002
Cr-Commit-Position: refs/heads/master@{#10096}
2015-09-28 16:59:36 +00:00
4fbd145dce
Fix suspend below min bitrate in new API by making it possible to set min bitrate at the receive-side.
...
In addition to this the ramp-up tests are refactored to use a receive call instead of only a remote bitrate estimator, and to make use of BaseTest.
BUG=webrtc:4836
Review URL: https://codereview.webrtc.org/1368943002
Cr-Commit-Position: refs/heads/master@{#10087}
2015-09-28 10:57:23 +00:00
6b8d355168
Reland "Wire up send-side bandwidth estimation."
...
Revert was patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/
The culprit was RTC_DCHECK(poller_thread_->Start()); in rampup_test.cc
BUG=webrtc:4173
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1362303002 .
Cr-Commit-Position: refs/heads/master@{#10052}
2015-09-24 13:07:17 +00:00
c9bbeb0354
Revert of Wire up send-side bandwidth estimation. (patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/ )
...
Reason for revert:
Breaking some Android bots.
https://chromegw.corp.google.com/i/client.webrtc/builders/Android32%20Tests%20%28L%20Nexus5%29
Original issue's description:
> Wire up send-side bandwidth estimation.
>
> BUG=webrtc:4173
>
> Committed: https://crrev.com/ef165eefc79cf28bb67779afe303cc2365885547
> Cr-Commit-Position: refs/heads/master@{#10012}
TBR=stefan@webrtc.org , kjellander@webrtc.org
NOPRESUBMIT=false
NOTREECHECKS=false
NOTRY=false
BUG=webrtc:4173
Review URL: https://codereview.webrtc.org/1362923002 .
Cr-Commit-Position: refs/heads/master@{#10029}
2015-09-23 11:52:01 +00:00
ef165eefc7
Wire up send-side bandwidth estimation.
...
BUG=webrtc:4173
Review URL: https://codereview.webrtc.org/1338203003
Cr-Commit-Position: refs/heads/master@{#10012}
2015-09-22 12:10:58 +00:00
ac547a6538
Remove channel ids from various interfaces.
...
Starts by removing channel/engine id from ViEChannel which propagates
down to the RTP/RTCP module as well as the transport class.
IncomingVideoStream::RenderFrame() is untouched for now but receives a
fake id instead of the previous channel id. Added a TODO to remove it
later but the RenderFrame call is implemented in a lot of
platform-dependent files and should probably remove the "manager" aspect
of renderers, so preferring to do it separately
BUG=webrtc:1695
R=henrika@webrtc.org , mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1335353005 .
Cr-Commit-Position: refs/heads/master@{#9978}
2015-09-17 21:06:02 +00:00
468e62a974
Remove MimdRateControl and factories for RemoteBitrateEstimor.
...
BUG=
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1208083002 .
Cr-Commit-Position: refs/heads/master@{#9541}
2015-07-06 08:51:01 +00:00
bdc0b0d869
Use RtcpPacket classes for SenderReport/ReceiveReport in RTCPSender
...
BUG=2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1170723002 .
Cr-Commit-Position: refs/heads/master@{#9483}
2015-06-22 13:21:40 +00:00
c1b9d4e686
Add support for fragmentation in RtcpPacket.
...
If the buffer becomes full an OnPacketReady callback will be used to
send the packets created so far. On success the buffer can be reused.
The same callback will be called when the last packet has beed created.
Also made some changes to RawPacket. Buffer will now be heap-allocated
rather than (potentially) stack-allocated, but on the plus side it can
now be allocted with variable size and also avoids one memcpy.
BUG=
patch from issue 56429004 at patchset 160001 (http://crrev.com/56429004#ps160001 )
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1165113002
Cr-Commit-Position: refs/heads/master@{#9390}
2015-06-08 07:54:24 +00:00
fe7a80c38c
Prevent sender RTCP signals for receive-only channels.
...
Since RTCP packets are delivered to both senders and receivers that
correspond the receivers currently log that NACKed packets are missing,
since they have no direct connection to the sending side or the RTP
packet history. Also preventing triggering on SR requests and PLI/FIR.
BUG=
R=asapersson@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45249004
Cr-Commit-Position: refs/heads/master@{#9071}
2015-04-23 15:52:58 +00:00
14665ff7d4
Roll chromium_revision e144d30..6fdb142 (318658:318841) + remove OVERRIDE macro
...
Clang version changed 223108:230914
Details: e144d30..6fdb142
/tools/clang/scripts/update.sh
Removes the OVERRIDE macro defined in:
* webrtc/base/common.h
* webrtc/typedefs.h
The majority of the source changes were done by running this in src/:
perl -0pi -e "s/virtual\s([^({;]*(\([^({;]*\)[^({;]*))(OVERRIDE|override)/\1override/sg" `find {talk,webrtc} -name "*.h" -o -name "*.cc*" -o -name "*.mm*"`
which converted all:
virtual Foo() OVERRIDE
functions to:
Foo() override
Then I manually edited:
* talk/media/webrtc/fakewebrtccommon.h
* webrtc/test/fake_common.h
Remaining uses of OVERRIDE was fixed by search+replace.
Manual edits were done to fix virtual destructors that were
overriding inherited ones.
Finally a build error related to the pure virtual definitions of
Read, Write and Rewind in common_types.h required a bit of
refactoring in:
* webrtc/common_types.cc
* webrtc/common_types.h
* webrtc/system_wrappers/interface/file_wrapper.h
* webrtc/system_wrappers/source/file_impl.cc
This roll should make it possible for us to finally re-enable deadlock
detection for TSan on the buildbots.
BUG=4106
R=pbos@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41069004
Cr-Commit-Position: refs/heads/master@{#8596}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8596 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 13:04:54 +00:00
00b8f6b364
Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
...
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36229004
Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
96abda0316
Removing FEC functionality from the default RTP module.
...
This CL removes the last default module methods used from ViEEncoder and
the default module itself will be removed in a separate CL.
BUG=769
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/35309004
Cr-Commit-Position: refs/heads/master@{#8505}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8505 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 13:50:51 +00:00
1d0fa5d352
Add RtcpPacketTypeCounter stats to new API.
...
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=1667,1788
Review URL: https://webrtc-codereview.appspot.com/37489004
Cr-Commit-Position: refs/heads/master@{#8429}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8429 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 12:47:45 +00:00
16825b1a82
Use int64_t more consistently for times, in particular for RTT values.
...
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t. Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.
BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org , holmer@google.com , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31349004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +00:00
cb79141eab
Store the received report blocks map (mapped per remote ssrc) in a map per source ssrc.
...
When using rtx, receiver reports with two report blocks are received. The report blocks have the same remote ssrc and therefore the first report block was overwritten by the second report block when stored in the ReportBlockInfoMap.
Removed unused function ResetRTT.
BUG=4114
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/33659005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7952 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 14:30:32 +00:00
ce4e9a3562
Refactor some receive-side stats.
...
Removes polling of CName as well as receive codec statistics in favor of
internal callbacks keeping a statistics struct up to date.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=1667
Review URL: https://webrtc-codereview.appspot.com/28259005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7950 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 13:50:16 +00:00
4591fbd09f
Use size_t more consistently for packet/payload lengths.
...
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.
This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.
BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom
Review URL: https://webrtc-codereview.appspot.com/23129004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
2dd3134e50
Add stats for duplicate sent and received NACK requests.
...
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27799004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7559 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 12:42:30 +00:00
3cefbc99f4
Mark all virtual overrides in the hierarchy of Transport as virtual + OVERRIDE.
...
This also marks all virtual overrides of other classes in the same files.
This will make a subsequent change I intend to do safer, where I'll change the
argument types of the base Transport functions, by breaking the compile if I
miss any overrides.
This also highlighted a number of unused functions. I've removed some of these.
TBR=mflodman@webrtc.org , pkasting@chromium.org
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/28709004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7421 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-10 09:42:53 +00:00
f8723d666a
Add unit tests to rtcp_receiver_test.
...
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21989004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6994 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-28 07:35:06 +00:00
e75d78d32d
Integrate rtcp packet class to rtcp receiver tests.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11539004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6795 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-29 08:21:50 +00:00
af839b28b0
Add AIMD option to BWE API.
...
TEST=trybots
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10319005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5755 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 09:42:08 +00:00
e9abd591d7
Making RemoteRateControl::min_configured_bit_rate_ configurable
...
The minimum bitrate can now be configured from WrappingBitrateEstimator.
BUG=2698
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5699004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5279 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 08:42:42 +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
38599510df
Parse next RTCP XR report block after an unsupported block type.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2649004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5114 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-12 08:08:26 +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
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
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
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
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
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
29b2219914
Adding a factory to remote bitrate estimator and allow it to be set via config.
...
Additionally:
- clean api to set remote bitrate estimator mode.
- clean api to set over use detector options.
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1448006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4027 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 12:10:58 +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
0cb48a0a18
Set SingleStream BWE in unittests.
...
TEST=trybots
Review URL: https://webrtc-codereview.appspot.com/1094004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3494 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-11 08:30:23 +00:00
becf9c897c
Fix mismatch between different NACK list lengths and packet buffers.
...
This is a second version of http://review.webrtc.org/1065006/ which passes the parameters via methods instead of via constructors.
BUG=1289
Review URL: https://webrtc-codereview.appspot.com/1065007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3456 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 15:09:57 +00:00
b586507986
Break out RemoteBitrateEstimator from RtpRtcp module and make RemoteBitrateEstimator::Process trigger new REMB messages.
...
Also make sure RTT is computed independently of whether it's time to send RTCP messages or not.
BUG=1298
Review URL: https://webrtc-codereview.appspot.com/1060005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3455 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 14:33:42 +00:00