64 Commits

Author SHA1 Message Date
stefan@webrtc.org
41689018a0 Add max delay to trace based filters and enhances drop tail queues with delay statistics.
R=solenberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5696 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 15:01:32 +00:00
stefan@webrtc.org
9b5f4d8a84 Fix build breakage introduce with r5665.
TBR=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5666 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 09:38:39 +00:00
stefan@webrtc.org
f9e7c9d865 Add option to bwe_rtp_to_text to output arrival times only in nanoseconds.
R=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5665 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 09:11:21 +00:00
pbos@webrtc.org
3ecc162d01 Remove std:: prefixes from C functions in webrtc/.
std::memcpy -> memcpy for instance. This change was motivated by a
compile report complaining that std::rand() was used instead of rand(),
probably with a stdlib.h include instead of cstdlib. Use of C functions
without the std:: prefix is a lot more common, so removing std:: to
address this.

BUG=
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5658 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 15:23:34 +00:00
stefan@webrtc.org
45846977f9 Fixes a bug in the simulation framework where the time offset is accumulating as the packet trace is repeated, causing increasingly large gaps with no packets being transmitted.
R=solenberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5650 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 15:46:46 +00:00
pbos@webrtc.org
0117d1c48c Fix compilation errors under clang 3.5.
Enables building tip-of-tree clang which introduces new warnings that
cause compilation errors in our code base (-Werror).

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5630 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-03 16:47:03 +00:00
jiayl@webrtc.org
de782180b0 Change the type of propagation delta from int64 to int.
The delta value never exceeds the range of int. Changing it to int will save memory and copying cost.

BUG=2910
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5537 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-12 19:19:23 +00:00
jiayl@webrtc.org
1f64f06784 Add stats of incoming frame delays for debugging bandwidth estimation.
BUG=crbug/338380
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5519 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-10 19:12:14 +00:00
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