Commit Graph

106 Commits

Author SHA1 Message Date
stefan@webrtc.org
77c917a6ee Plot the capacity of a trace-based delivery filter.
Breaks out the instantaneous rate counters to its own class.

R=solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7999005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5494 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-06 16:34:47 +00:00
stefan@webrtc.org
c88d3368d5 Add delay and send/receive throughput plots to BWE simulation.
R=mflodman@webrtc.org, solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5491 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-05 15:57:14 +00:00
stefan@webrtc.org
422fdbf502 Wire up feedback to VideoSender.
BUG=
R=solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7859004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5474 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-03 16:33:50 +00:00
stefan@webrtc.org
1dd9b4d98e Add BWE tools for parsing RTP files.
bwe_rtp_play feeds packets from an RTP file into the BWE and prints the estimates.
bwe_rtp_to_text parses an RTP file and outputs the result to a text file.

R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7689006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5466 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-31 09:15:48 +00:00
stefan@webrtc.org
99a8c7e039 Add trace-based delivery filter to BWE test framework.
R=mflodman@webrtc.org, solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/5889005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5423 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-24 10:00:27 +00:00
pbos@webrtc.org
5ab756703e Revert r5294 to re-roll r5293.
To fix races in test each stream now owns its own encoder/decoder.

R=mflodman@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/5919004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5297 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 12:24:44 +00:00
turaj@webrtc.org
41e2615e02 Revert 5293 "Auto instantiate RBE depending on whether AST or TO..."
> Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
> 
> BUG=
> R=mflodman@webrtc.org, stefan@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/5409004

TBR=solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/5889004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5294 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-15 18:42:32 +00:00
solenberg@webrtc.org
341e91441a Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/5409004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 23:57:54 +00:00
henrik.lundin@webrtc.org
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
solenberg@webrtc.org
812dd11f8c Add baseline generation/verification to BWE test framework.
Updating resource file separately, once LGTM. Generates ~628k of files for current tests, highly compressable, once/if we need that.

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4639004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5204 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 15:11:14 +00:00
sprang@webrtc.org
37968a9be7 Change BitrateStats to more generalized RateStatistics
BUG=2656
R=holmer@google.com, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4559004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5202 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 10:31:59 +00:00
solenberg@webrtc.org
c8f76ddc19 Refactor Remote Estimators Test into a more reusable form.
BUG=
R=andresp@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4359004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5186 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 10:11:35 +00:00
mikhal@webrtc.org
d89b52af80 Faster implementation of BitRateStats.
Landing cl for hguihot.

At high bitrate, EraseOld() could account for a significant part of
the total CPU usage on certain platforms. The new implementation
eliminates per-packet memory allocations and records the number of
bytes in buckets (one bucket per millisecond in window).

R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5175 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-25 17:49:28 +00:00
solenberg@webrtc.org
dce70ccb0b Add delay limit to ChokeFilter.
BUG=
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3079005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5058 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-30 19:18:07 +00:00
solenberg@webrtc.org
d6e46638ec Logging for BWE test framework.
BUG=
R=stefan@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2749004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5055 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-30 16:06:26 +00:00
solenberg@webrtc.org
8215106371 Framework for testing bandwidth estimation.
BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2317004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5008 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-21 14:23:26 +00:00
stefan@webrtc.org
f5d7c5891c Revert r4934 "Add a tool for parsing an RTP file and outputting the BWE relevant fields."
Revert r4935 "Fix build error in r4934."

TBR=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2364004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4936 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-07 08:42:46 +00:00
stefan@webrtc.org
611e5141cb Fix build error in r4934.
TBR=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2363004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4935 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-07 08:35:36 +00:00
stefan@webrtc.org
bc99bcfa6f Add a tool for parsing an RTP file and outputting the BWE relevant fields.
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2237005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4934 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-07 08:21:24 +00:00
pbos@webrtc.org
97eefb77e0 Remove include_dirs from remote_bitrate_estimator.
BUG=1662
TEST=compile on trybots
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2300004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4855 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 09:22:54 +00:00
niklas.enbom@webrtc.org
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
solenberg@webrtc.org
86136a0e8f Re-enable tests for Remote Bitrate Estimator
BUG=
R=stefan@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2179004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4703 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 13:06:52 +00:00
pbos@webrtc.org
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
pbos@webrtc.org
8f23df51d4 Fix some chromium-style warnings in webrtc/modules/remote_bitrate_estimator/
BUG=163
R=pwestin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1905004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4443 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:16:52 +00:00
stefan@webrtc.org
cab716cc7d Fix a circular dependency by removing an unnecessary dependency, add a missing include_tests check and missing lib references for android.
TBR=henrikg@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1776005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4312 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-09 13:43:24 +00:00
stefan@webrtc.org
f56d612c70 Create gyp target for bwe components.
R=henrikg@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1775004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4311 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-09 12:32:35 +00:00
pbos@webrtc.org
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
solenberg@webrtc.org
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
kjellander@webrtc.org
6c35e0b0f7 Reorganize test targets in WebRTC
This CL will lower the number of test targets in WebRTC by:

Add common_audio_unittests and merge the following targets into it (copied from http://review.webrtc.org/1584006):
* resampler_unittests
* signal_processing_unittests
* vad_unittests

Merge into modules_unittests:
* bitrate_controller_unittests
* desktop_capture_unittests
* media_file_unittests
* remote_bitrate_estimator_unittests
* rtp_rtcp_unittests
* paced_sender_unittests

Merge into test_support_unittests:
* channel_transport_unittests

channel_transport.gyp was also removed in favor for test.gyp.

I had to remove a main method from rtcp_format_remb_unittest.cc
since it caused the fileutils.h code to not be able to find the
right project root path in ordrer to provide correct paths
to test files.

Buildbot configuration update will be synced with the commit of this CL.

TEST=trybots
BUG=1843
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1639004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4213 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-11 08:29:17 +00:00
stefan@webrtc.org
de98478965 Update the remote bitrate estimator before passing the packet to the RTP module.
This solves the problem of reconstructed packets biasing the bandwidth estimate.

TEST=vie_auto_test --automated, trybots
R=mflodman@webrtc.org, solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1594005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4171 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 12:15:40 +00:00
stefan@webrtc.org
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
solenberg@webrtc.org
a6db54d4c9 - Created RemoteBitrateEstimator wrapper for use internally in (ViE) ChannelGroup.
- Changed implementation of SetReceiveAbsoluteSendTimeStatus API so the RBE instance is changed when at least one channel in a group has the extension enabled.

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1553005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4113 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 16:02:56 +00:00
pbos@webrtc.org
47ce120efb Include files from webrtc/.. paths in remote_bitrate_estimator/
BUG=1662
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1552004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4108 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 12:41:33 +00:00
solenberg@webrtc.org
46db413e22 Fix failing tests on 32 bit Linux.
BUG=
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1534004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4088 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 20:53:42 +00:00
solenberg@webrtc.org
561990fd73 - Changed RemoteBitrateEstimator::IncomingPacket() to include a const WebRtcRTPHeader& and remove ssrc, rtp_timestamp.
- Changed RemoteBitrateObserver::OnReceivedBitrateChanged() to use a const & instead of non-const *, to avoid unnecessary copying.
- Refactored RemoteBitrateEstimatorTest so it can be instantiated for both single and multi stream BWE (first using a parameterized test, but then as a standard test fixture and a few helper functions).
- Refactored some tests in RemoteBitrateEstimatorTest into a common function CapacityDropTestHelper().

BUG=
R=andresp@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1521004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4086 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 19:04:19 +00:00
solenberg@webrtc.org
5add4ad09c RemoteBitrateEstimatorTest::TestRateIncreaseReordering sent in arrival timestamps in non monotonically increasing order. Fixed.
BUG=
R=holmer@google.com, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1481004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4034 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-15 13:49:57 +00:00
andresp@webrtc.org
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
pbos@webrtc.org
3004c79c6a Fix clang errors in non-GYP_DEFINES=clang=1 build
BUG=1623
R=stefan@webrtc.org, tina.legrand@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1368004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3968 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 12:36:21 +00:00
solenberg@webrtc.org
8efc623fc2 Apply Chromium C++ style to RemoteRateControl.
BUG=

Review URL: https://webrtc-codereview.appspot.com/1329004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3919 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-30 08:33:46 +00:00
mikhal@webrtc.org
a73d52ca52 revert r3871
TBR= solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1331004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3872 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-18 20:26:28 +00:00
solenberg@webrtc.org
9756017717 - Replace the BWE_MIN and BWE_MAX macros with std::min and std::max
- Add 'virtual' to a bunch of overridden methods of RemoteBitrateEstimatorMultiStream and RemoteBitrateEstimatorSingleStream.

BUG=

Review URL: https://webrtc-codereview.appspot.com/1324005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3871 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-18 19:12:42 +00:00
solenberg@webrtc.org
d26457fdeb Apply Chromium C++ style to BitRateStats.
BUG=

Review URL: https://webrtc-codereview.appspot.com/1325006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3870 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-18 12:25:32 +00:00
pbos@webrtc.org
6e788df19e Remove vim/emacs modelines from .gypi files
BUG=1655

Review URL: https://webrtc-codereview.appspot.com/1326005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3857 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-16 12:40:34 +00:00
stefan@webrtc.org
b8e7f4cc97 Change capture interface to use NTP capture time.
Move NTP functionality to Clock.

BUG=1563
TEST=trybots and vie_auto_test --automated

Review URL: https://webrtc-codereview.appspot.com/1313005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3842 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-12 11:56:23 +00:00
stefan@webrtc.org
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
stefan@webrtc.org
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
pbos@webrtc.org
ff7e1303e8 WebRtc_Word32 => int32_t remote_bitrate_estimator/
BUG=314

Review URL: https://webrtc-codereview.appspot.com/1275009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3775 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-08 10:04:37 +00:00
fischman@webrtc.org
aea96d36e3 Rename webrtc::StatsObserver to webrtc::CallStatsObserver
to avoid ODR violations with peerconnectioninterface.h in libjingle.

Conflict introduced in
https://webrtc-codereview.appspot.com/1060005/diff/14010/webrtc/modules/interface/module_common_types.h#newcode326

TEST=none
BUG=none

Review URL: https://webrtc-codereview.appspot.com/1105011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3540 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-19 22:09:36 +00:00
stefan@webrtc.org
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
wjia@webrtc.org
a3c82bf667 Remove '<(library)' in gyp files.
This will remove all usage of '<(library)' in all webrtc gyp files. 
Review URL: https://webrtc-codereview.appspot.com/1049005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3392 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-18 23:42:21 +00:00