Commit Graph

4992 Commits

Author SHA1 Message Date
a8eb756a34 Moved transport.h from webrtc/ to webrtc/api, created build target and updated WebRTC dependencies.
transport.h defines an interface for sending rtp and rtcp packets,
which is used by MediaChannel in webrtc/media/engine,
{Audio|Video}{Send|Receive}Stream and in a few other
places. It was part of the build target //webrtc:webrtc, which is a monolithic target with
all webrtc production code. This CL moves the header to its own target in webrtc/api
and deprecates the old location.

Targets in webrtc/api should in general only depend on other
targets in webrtc/api. The target webrtc/api:call_api depends on
transport.h. This change also makes webrtc/voice_engine pass GN's header
include checker and is needed in order for webrtc/api:call_api to pass
it.

transport.h will be completely removed in a follow-up CL in a few weeks
after clients have updated their includes.

NOTRY=True

BUG=webrtc:5589, webrtc:5878, webrtc:6785

Review-Url: https://codereview.webrtc.org/2426563003
Cr-Commit-Position: refs/heads/master@{#15267}
2016-11-28 15:02:19 +00:00
9abbf5ae4e Pass time constanct to bwe smoothing filter.
BUG=webrtc:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2518923003
Cr-Commit-Position: refs/heads/master@{#15266}
2016-11-28 15:00:24 +00:00
ec1a670167 Only create |remote_rate| when needed in RemoteBitrateEstimatorSingleStream.
R=stefan@webrtc.org
BUG=None

Review URL: https://codereview.webrtc.org/2532113002 .

Cr-Commit-Position: refs/heads/master@{#15264}
2016-11-28 13:48:33 +00:00
e441bdb744 Cleanup RtpSender hiding RtpHeaderExtensionLength function.
This function has no public use,
removed tests calling it: effect of registering extension is better
tested in AllocatePacket and SendPacket tests.

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2530363002
Cr-Commit-Position: refs/heads/master@{#15258}
2016-11-28 10:55:01 +00:00
847f6897f2 Roll chromium_revision 5e821a778b..5c22c2afac (432715:434448)
Manual changes needed to use our own test runner for Android tests.
VideoProcessorIntegrationTest.ProcessNoLossChangeFrameRateFrameDropVP9
is failing for TSan and UBSan configs, so disable the test for them here.

Change log: 5e821a778b..5c22c2afac
Full diff: 5e821a778b..5c22c2afac

Changed dependencies:
* src/buildtools: 1f985091a5..991f459071
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/c02a002b48..811a2c3f91
* src/third_party/catapult: 249cfbcd88..671a654736
* src/third_party/ffmpeg: 3c7a098821..d16162e3f4
* src/third_party/icu: 7ddf5e9ba1..dda089a98a
* src/third_party/libvpx/source/libvpx: 5c64c01c7c..d7f1d60c51
* src/third_party/openmax_dl: 57d33bee78..7acede9c03
DEPS diff: 5e821a778b..5c22c2afac/DEPS

Clang version changed 284979:287780
Details: 5e821a778b..5c22c2afac/tools/clang/scripts/update.py

TBR=marpan@webrtc.org, ehmaldonado@webrtc.org
BUG=webrtc:6775, webrtc:6739, webrtc:6781
NOTRY=True

Review-Url: https://codereview.webrtc.org/2533733002
Cr-Commit-Position: refs/heads/master@{#15256}
2016-11-28 10:04:45 +00:00
deb95f32f4 Change rtc::TimeNanos and rtc::TimeMicros return value from uint64_t to int64_t.
Also updated types close to call sites.

BUG=webrtc:6733

Review-Url: https://codereview.webrtc.org/2514553003
Cr-Commit-Position: refs/heads/master@{#15255}
2016-11-28 09:55:05 +00:00
71b9b58a3a Revert of Move ADM specific Android files into modules/audio_device/android/ (patchset #2 id:20001 of https://codereview.webrtc.org/2533573002/ )
Reason for revert:
Breaks downstream code

Original issue's description:
> Move ADM specific Android files into modules/audio_device/android/
>
> - Move helpers_android.* and jvm_android.* from modules/utility/.
>
> BUG=none
> TBR=perkj@webrtc.org
>
> Committed: https://crrev.com/e8d8a2bb9704beffed0780c7e0f3a9ef050ae97e
> Cr-Commit-Position: refs/heads/master@{#15253}

TBR=henrika@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none

Review-Url: https://codereview.webrtc.org/2531893002
Cr-Commit-Position: refs/heads/master@{#15254}
2016-11-25 19:45:12 +00:00
e8d8a2bb97 Move ADM specific Android files into modules/audio_device/android/
- Move helpers_android.* and jvm_android.* from modules/utility/.

BUG=none
TBR=perkj@webrtc.org

Review-Url: https://codereview.webrtc.org/2533573002
Cr-Commit-Position: refs/heads/master@{#15253}
2016-11-25 19:34:25 +00:00
e69a1a9342 Reland of Add H264 profile to webrtc::VideoCodecH264 and webrtc::VideoPayload (patchset #1 id:1 of https://codereview.webrtc.org/2529143002/ )
Reason for revert:
Include fix; set profile information in CreatePayloadType for video.

Original issue's description:
> Revert of Add H264 profile to webrtc::VideoCodecH264 and webrtc::VideoPayload (patchset #1 id:40001 of https://codereview.webrtc.org/2525693003/ )
>
> Reason for revert:
> The CL doesn't actually set profile information in VideoPayload.
>
> Original issue's description:
> > Add H264 profile to webrtc::VideoCodecH264 and webrtc::VideoPayload
> >
> > It's necessary to check H264 profile information as well as payload name
> > in PayloadIsCompatible in RTPPayloadRegistry.
> >
> > BUG=webrtc:6743
> >
> > Committed: https://crrev.com/bdbc4b7ef578ba1d61ceec351bc47c33da115329
> > Cr-Commit-Position: refs/heads/master@{#15248}
>
> TBR=mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6743
>
> Committed: https://crrev.com/d7e6ccbc53fc24acdcc7507a6f3a155626473d54
> Cr-Commit-Position: refs/heads/master@{#15251}

TBR=mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2529153002
Cr-Commit-Position: refs/heads/master@{#15252}
2016-11-25 18:06:35 +00:00
d7e6ccbc53 Revert of Add H264 profile to webrtc::VideoCodecH264 and webrtc::VideoPayload (patchset #1 id:40001 of https://codereview.webrtc.org/2525693003/ )
Reason for revert:
The CL doesn't actually set profile information in VideoPayload.

Original issue's description:
> Add H264 profile to webrtc::VideoCodecH264 and webrtc::VideoPayload
>
> It's necessary to check H264 profile information as well as payload name
> in PayloadIsCompatible in RTPPayloadRegistry.
>
> BUG=webrtc:6743
>
> Committed: https://crrev.com/bdbc4b7ef578ba1d61ceec351bc47c33da115329
> Cr-Commit-Position: refs/heads/master@{#15248}

TBR=mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2529143002
Cr-Commit-Position: refs/heads/master@{#15251}
2016-11-25 17:34:17 +00:00
c7805dbd0e Fix perf regression in screenshare temporal layer bitrate allocation
A recent cl (https://codereview.webrtc.org/2510583002) introduced an
issue where temporal layers may return incorrect bitrates, given that
they are stateful and that the GetPreferredBitrateBps is called.
The fix is to use a temporary simulcast rate allocator instance, without
temporal layers, and get the preferred bitrate from that.

Additionally, some regression in bitrate allocated stems from overly
often reconfiguring the encoder, which yields suboptimal rate control.
The fix here is to limit encoder updates to when values have actually
changed.

As a bonus, dchecks added by this cl found a bug in the (unused) RealtimeTemporalLayers implementation. Fixed that as well.

BUG=webrtc:6301, chromium:666654

Review-Url: https://codereview.webrtc.org/2529073003
Cr-Commit-Position: refs/heads/master@{#15250}
2016-11-25 16:09:51 +00:00
bdbc4b7ef5 Add H264 profile to webrtc::VideoCodecH264 and webrtc::VideoPayload
It's necessary to check H264 profile information as well as payload name
in PayloadIsCompatible in RTPPayloadRegistry.

BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2525693003
Cr-Commit-Position: refs/heads/master@{#15248}
2016-11-25 15:14:30 +00:00
f3feeffe03 Reland of move RTPPayloadStrategy and simplify RTPPayloadRegistry (patchset #1 id:1 of https://codereview.webrtc.org/2528993002/ )
Reason for revert:
Downstream code has been updated.

Original issue's description:
> Revert of Remove RTPPayloadStrategy and simplify RTPPayloadRegistry (patchset #7 id:240001 of https://codereview.webrtc.org/2524923002/ )
>
> Reason for revert:
> Breaks downstream projects.
>
> Original issue's description:
> > Remove RTPPayloadStrategy and simplify RTPPayloadRegistry
> >
> > This CL removes RTPPayloadStrategy that is currently used to handle
> > audio/video specific aspects of payload handling. Instead, the audio and
> > video specific aspects will now have different functions, with linear
> > code flow.
> >
> > This CL does not contain any functional changes, and is just a
> > preparation for future CL:s.
> >
> > The main purpose with this CL is to add this function:
> > bool PayloadIsCompatible(const RtpUtility::Payload& payload,
> >                          const webrtc::VideoCodec& video_codec);
> > that can easily be extended in a future CL to look at video codec
> > specific information.
> >
> > BUG=webrtc:6743
> >
> > Committed: https://crrev.com/b881254dc86d2cc80a52e08155433458be002166
> > Cr-Commit-Position: refs/heads/master@{#15232}
>
> TBR=danilchap@webrtc.org,solenberg@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6743
>
> Committed: https://crrev.com/33c81d05613f45f65ee17224ed381c6cdd1c6c6f
> Cr-Commit-Position: refs/heads/master@{#15234}

TBR=danilchap@webrtc.org,solenberg@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2531043002
Cr-Commit-Position: refs/heads/master@{#15245}
2016-11-25 14:40:30 +00:00
76622ce3c3 Adding a unit test for RMSLevel
BUG=webrtc:6622

Review-Url: https://codereview.webrtc.org/2524273003
Cr-Commit-Position: refs/heads/master@{#15242}
2016-11-25 13:30:57 +00:00
5f7226f8a3 Turn off error resilience for vp8 for no temporal layers if nack is enabled.
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2493893003
Cr-Commit-Position: refs/heads/master@{#15240}
2016-11-25 12:37:06 +00:00
6b272c5c37 RtpReceiver: Add RegisterReceivePayload function for VideoCodec
Turns out this function is needed by external code.

BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2532663002
Cr-Commit-Position: refs/heads/master@{#15237}
2016-11-25 10:29:44 +00:00
5de9b6a3ec Move helpers_ios.cc/.h
- Out from modules/utility/ and into modules/audio_device/ios/ - there they are used.

BUG=none

Review-Url: https://codereview.webrtc.org/2526273002
Cr-Commit-Position: refs/heads/master@{#15236}
2016-11-25 08:47:12 +00:00
33c81d0561 Revert of Remove RTPPayloadStrategy and simplify RTPPayloadRegistry (patchset #7 id:240001 of https://codereview.webrtc.org/2524923002/ )
Reason for revert:
Breaks downstream projects.

Original issue's description:
> Remove RTPPayloadStrategy and simplify RTPPayloadRegistry
>
> This CL removes RTPPayloadStrategy that is currently used to handle
> audio/video specific aspects of payload handling. Instead, the audio and
> video specific aspects will now have different functions, with linear
> code flow.
>
> This CL does not contain any functional changes, and is just a
> preparation for future CL:s.
>
> The main purpose with this CL is to add this function:
> bool PayloadIsCompatible(const RtpUtility::Payload& payload,
>                          const webrtc::VideoCodec& video_codec);
> that can easily be extended in a future CL to look at video codec
> specific information.
>
> BUG=webrtc:6743
>
> Committed: https://crrev.com/b881254dc86d2cc80a52e08155433458be002166
> Cr-Commit-Position: refs/heads/master@{#15232}

TBR=danilchap@webrtc.org,solenberg@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2528993002
Cr-Commit-Position: refs/heads/master@{#15234}
2016-11-24 19:08:45 +00:00
69b627d89d Move smoothing filter to common audio and exp_filter to base/analytics.
An earlier attempt of this work can be found here https://codereview.webrtc.org/2520003005/#ps100001, but was reverted.

PS4 in that CL was not valid since separation of BUILD.gn can cause internal bot to fail.

This is a new attempt, which is the same as https://codereview.webrtc.org/2520003005/#ps100001 but PS4 reverted.

BUG=webrtc:6443
TBR=tommi@webrtc.org, solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2532523002
Cr-Commit-Position: refs/heads/master@{#15233}
2016-11-24 19:01:14 +00:00
b881254dc8 Remove RTPPayloadStrategy and simplify RTPPayloadRegistry
This CL removes RTPPayloadStrategy that is currently used to handle
audio/video specific aspects of payload handling. Instead, the audio and
video specific aspects will now have different functions, with linear
code flow.

This CL does not contain any functional changes, and is just a
preparation for future CL:s.

The main purpose with this CL is to add this function:
bool PayloadIsCompatible(const RtpUtility::Payload& payload,
                         const webrtc::VideoCodec& video_codec);
that can easily be extended in a future CL to look at video codec
specific information.

BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2524923002
Cr-Commit-Position: refs/heads/master@{#15232}
2016-11-24 18:43:50 +00:00
56124bd158 Send audio and video codecs to RTPPayloadRegistry
The purpose with this CL is to be able to send video codec specific
information down to RTPPayloadRegistry. We already do this for audio
with explicit arguments for e.g. number of channels. Instead of
extracting the arguments from webrtc::CodecInst (audio) and
webrtc::VideoCodec, this CL sends the types unmodified all the way down
to RTPPayloadRegistry.

This CL does not contain any functional changes, and is just a
preparation for future CL:s.

In the dependent CL https://codereview.webrtc.org/2524923002/,
RTPPayloadStrategy is removed. RTPPayloadStrategy previously handled
audio/video specific aspects of payload handling. After this CL, we will
know if we get audio or video codecs without any dependency injection,
since we have different functions with different signatures for audio
vs video.

BUG=webrtc:6743
TBR=mflodman

Review-Url: https://codereview.webrtc.org/2523843002
Cr-Commit-Position: refs/heads/master@{#15231}
2016-11-24 17:34:53 +00:00
b7374dba6b Fix parsing padding byte in rtp header extension
BUG=chromium:664598

Review-Url: https://codereview.webrtc.org/2498903003
Cr-Commit-Position: refs/heads/master@{#15230}
2016-11-24 17:06:10 +00:00
3c3aef44de Revert of Reland "Move smoothing filter to common audio". (patchset #5 id:100001 of https://codereview.webrtc.org/2520003005/ )
Reason for revert:
Internal bots failed.

Original issue's description:
> Reland "Move smoothing filter to common audio".
>
> The original CL was this https://codereview.webrtc.org/2484153002/
>
> Due to failure with internal trial servers, it was reverted. This CL tries to reland it.
>
> BUG=webrtc:6443
>
> Committed: https://crrev.com/223641f1b903e41e77d88f03199b4cdb65255ec8
> Cr-Commit-Position: refs/heads/master@{#15227}

TBR=tommi@webrtc.org,solenberg@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2529943002
Cr-Commit-Position: refs/heads/master@{#15228}
2016-11-24 15:13:24 +00:00
223641f1b9 Reland "Move smoothing filter to common audio".
The original CL was this https://codereview.webrtc.org/2484153002/

Due to failure with internal trial servers, it was reverted. This CL tries to reland it.

BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2520003005
Cr-Commit-Position: refs/heads/master@{#15227}
2016-11-24 14:08:09 +00:00
3cfb3efd69 Added a perf test for the residual echo detector.
This perf tests the echo detector in 3 scenarios: standalone, as part of APM with only the echo detector enabled and as part of a normally configured APM.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2517523003
Cr-Commit-Position: refs/heads/master@{#15224}
2016-11-24 12:17:38 +00:00
37a2111d7c Increase the threshold for RunPlayoutAndRecordingInFullDuplex. Again.
RunPlayoutAndRecordingInFullDuplex fails sometimes on Android swarming
bots, presumably because the timing is hardware dependent.

This test ensures that audio starts pumping. The exact performance is
not that important.

R=kjellander@webrtc.org, henrika@webrtc.org
BUG=webrtc:6464
NOTRY=True

Review-Url: https://codereview.webrtc.org/2525943003
Cr-Commit-Position: refs/heads/master@{#15223}
2016-11-24 11:13:24 +00:00
3edc7f05f5 AGC: Add a histogram for new level
The histogram will log a new value every time the AGC changes level_.

BUG=webrtc:6622

Review-Url: https://codereview.webrtc.org/2525963002
Cr-Commit-Position: refs/heads/master@{#15222}
2016-11-24 09:42:52 +00:00
817208b50b Re-enables AudioDeviceTest.StartStopPlayout on Android
BUG=webrtc:5046

Review-Url: https://codereview.webrtc.org/2517383006
Cr-Commit-Position: refs/heads/master@{#15213}
2016-11-23 14:49:48 +00:00
90ea7362fc Add DesktopFrame rotation functions
This change adds RotateDesktopFrame(), RotateRect(), RotateSize(),
ReverseRotate() functions, so an implementation can use these free functions to
rotate and copy pixels from one DesktopFrame to another at the same time.

This is the first part of the change to support rotation in DirectX capturer. In
a coming change, these functions will be used in DxgiOutputDuplicator to do the
rotation and copying.

Background,
DirectX APIs always return unrotated data buffer, so we need to rotate it to
match the user-selected rotation. What worse is except for the data buffer,
other variables return by these APIs are all rotated, e.g. output size, monitor
position. So we will eventually not be able to capture the rotated monitors,
because we cannot set their position and size correctly. Though
DXGI_OUTDUPL_DESC provides a DXGI_MODE_ROTATION enumeration to indicate the
output rotation, it does not provide a simple way to rotate an IDXGIResource,
which is the only thing we can get from duplication APIs. A typical user case
here is to use a matrix to transform the IDXGIResource and render it to a
surface. But since we do not render the IDXGIResource at all, we need to
manually rotate it.

BUG=314516

Review-Url: https://codereview.webrtc.org/2500883004
Cr-Commit-Position: refs/heads/master@{#15205}
2016-11-23 01:17:19 +00:00
e2b1501101 Start probes only after network is connected.
Previously ProbeController was starting probing as soon as SetBitrates()
is called. As result these probes would often timeout while connection
is being established. Now ProbeController receives notifications about
network route changes. This allows to start probing only when transport
is connected. This also makes it possible to restart probing whenever
transport route changes (will be done in a separate change).

BUG=webrtc:6332
R=honghaiz@webrtc.org, philipel@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2458863002 .

Committed: https://crrev.com/5c99c76255ee7bface3c742c25fb5617748ac86e
Cr-Original-Commit-Position: refs/heads/master@{#15094}
Cr-Commit-Position: refs/heads/master@{#15204}
2016-11-23 00:08:37 +00:00
1c062bf0af Fix module/desktop_capture compilation on iOS
modules/desktop_capture was failing to compile on iOS because some
files were not compiled.

BUG=667898
R=nicholss@chromium.org

Review URL: https://codereview.webrtc.org/2522083002 .

Cr-Commit-Position: refs/heads/master@{#15203}
2016-11-23 00:07:23 +00:00
c1dd1a5916 Really disable Opus complexity tests on Android
This is a follow-up to https://codereview.webrtc.org/2525603002/,
which was incomplete.

BUG=webrtc:6708
TBR=philipel@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2524813002
Cr-Commit-Position: refs/heads/master@{#15202}
2016-11-22 19:19:21 +00:00
d661e9c354 WebRTC: Replace ProjectRootPath by ResourcePath
BUG=webrtc:6727
NOTRY=True

Review-Url: https://codereview.webrtc.org/2513363004
Cr-Commit-Position: refs/heads/master@{#15201}
2016-11-22 18:43:05 +00:00
10165ab8e7 Unify VideoCodecType to/from string functionality
BUG=None

Review-Url: https://codereview.webrtc.org/2509273002
Cr-Commit-Position: refs/heads/master@{#15200}
2016-11-22 18:17:04 +00:00
2d60e53ad5 H264 encoder: Include QP information in encoded images
Set the |qp_| field in EncodedImage before calling OnEncodedImage.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2499003002
Cr-Commit-Position: refs/heads/master@{#15199}
2016-11-22 16:42:14 +00:00
8271d04009 This CL introduces the new functionality for setting
the APM parameters to the high-pass filter.

The introduction will be done in three steps:
1) This CL which introduces the new scheme and
 changes the code in webrtcvoiceengine.cc to use it.
2) Introduce the scheme into upstream code.
3) Remove the HighPassFilter interface in APM.

BUG=webrtc::6220, webrtc::6296, webrtc::6297, webrtc::6181, webrtc::5298

Review-Url: https://codereview.webrtc.org/2415403002
Cr-Commit-Position: refs/heads/master@{#15197}
2016-11-22 15:24:59 +00:00
30a12fbbb9 AGC: Add a histogram for clipping adjustment
This new histogram will log a value every time input clipping is
detected. The value is a boolean, with "true" meaning that the gain
was in fact adjusted in response to the detected clipping, and "false"
meaning that adjustment was not allowed due to kClippedLevelMin.

BUG=webrtc:6622

Review-Url: https://codereview.webrtc.org/2522543006
Cr-Commit-Position: refs/heads/master@{#15196}
2016-11-22 15:02:53 +00:00
0eb19602a3 ComfortNoise: Calculate used scale factor in Q13
BUG=chromium:666518

Review-Url: https://codereview.webrtc.org/2519873003
Cr-Commit-Position: refs/heads/master@{#15189}
2016-11-22 13:15:29 +00:00
58f90a76cc Disable Opus complexity tests on Android
Reason: breaks perf bots

BUG=webrtc:6708
TBR=philipel@webrtc.org

Review-Url: https://codereview.webrtc.org/2525603002
Cr-Commit-Position: refs/heads/master@{#15188}
2016-11-22 12:13:08 +00:00
0dbb6f57fc Fix the standard deviation calculation in the level controller perf tests.
BUG=webrtc:5920

Review-Url: https://codereview.webrtc.org/2518523002
Cr-Commit-Position: refs/heads/master@{#15186}
2016-11-22 11:36:58 +00:00
875862ca86 Let Opus increase complexity for low bitrates
This change adds code that lets Opus increase the complexity setting
at low bitrates (only relevant for mobile where the default complexity
is not already maximum). The feature is default off.

Also adding a performance test to make sure the complexity adaptation
has desired effect.

BUG=webrtc:6708

Review-Url: https://codereview.webrtc.org/2503443002
Cr-Commit-Position: refs/heads/master@{#15182}
2016-11-22 10:08:01 +00:00
1b0e3aa440 Remove deprecated CroppingWindowCapturer::Create
BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2513103003
Cr-Commit-Position: refs/heads/master@{#15173}
2016-11-21 21:54:30 +00:00
40217c3718 Initial rate allocation should not use fps = 0
A recent cl (https://codereview.webrtc.org/2510583002) introduced an
issue where the initial rate allocation (call to VideoBitrateAllocator
and any associated temporal layers) uses framerate = 0 fps. This may
cause issues, including having the rate control in ScreenshareLayers
ramp up too slowly.

This CL make the initial call use VideoCodec.maxFramerate as framerate.
Also expanded unit tests.

BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2513383002
Cr-Commit-Position: refs/heads/master@{#15166}
2016-11-21 13:42:04 +00:00
57c1ad3b16 Don't declare function arguments of array type
They just decay to pointers anyway, so it's more honest to declare
them as pointers.

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2515163002
Cr-Commit-Position: refs/heads/master@{#15165}
2016-11-21 12:59:59 +00:00
96c1587551 RtpPacket::payload() return rtc::ArrayView instead of raw pointer
BUG=webrtc:5261

Review-Url: https://codereview.webrtc.org/2506373004
Cr-Commit-Position: refs/heads/master@{#15162}
2016-11-21 09:35:33 +00:00
2184155782 Add more logging in ScreenCapturerIntegrationTest
ScreenCapturerIntegrationTest is flaky on Windows systems due to some unknown
reason. But it's do easily impacted by the environment, so this change adds more
logging (entire screenshot) to help debugging.
Meanwhile, this change also includes a nice-to-have change in ScreenDrawerWin to
always bring the window to front in each WaitForPendingDraws() function call. I
cannot quite tell whether this change can help to resolve the issue, but it is
worth trying.

BUG=webrtc:6666

Review-Url: https://codereview.webrtc.org/2492723002
Cr-Commit-Position: refs/heads/master@{#15158}
2016-11-19 04:31:10 +00:00
dedaf1ced7 Modify audio_processing_unittest to use ResourcePath instead of ProjectRootPath.
Move the resources to //resources and upload them to Google Storage.

BUG=webrtc:6727

Review-Url: https://codereview.webrtc.org/2508943004
Cr-Commit-Position: refs/heads/master@{#15152}
2016-11-18 12:52:31 +00:00
76b3049e7c Changed the interface AudioMixer::RemoveSource to have a void return type.
In the AudioMixerImpl implementation, removing a source never fails
and the return value is always true (see audio_mixer/audio_mixer_impl.cc).

A return value of |false| signaled that removing a source failed for
some reason. We have come to the conclusion that
   * we don't know how to handle a return value of |false|
   * we can't think of why an alternative implementation would need to
     signal failure when removing a stream.

To avoid having a status code that is never read, never acted upon and
probably never set to anything but |true|, we change ::RemoveSource to
not have a return value.

NOTRY=True
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2506173003
Cr-Commit-Position: refs/heads/master@{#15150}
2016-11-18 10:03:08 +00:00
d7ac0a9bcc Revert of Move smoothing filter to common audio. (patchset #3 id:60001 of https://codereview.webrtc.org/2484153002/ )
Reason for revert:
Breaks downstream projects:
error: undefined reference to 'rtc::ExpFilter::kValueUndefined'
error: undefined reference to 'rtc::ExpFilter::Apply(float, float)'
error: undefined reference to 'rtc::ExpFilter::Reset(float)'
rror: undefined reference to 'rtc::ExpFilter::UpdateBase(float)'

Original issue's description:
> Move smoothing filter to common audio.
>
> This will make the smoothing filter a basic tool that is going to be used by both voice engine and ANA.
>
> BUG=webrtc:6443
>
> Committed: https://crrev.com/a82395bf7cd15b7396456df06fe952ede8db0c39
> Cr-Commit-Position: refs/heads/master@{#15146}

TBR=minyue@webrtc.org,solenberg@webrtc.org,perkj@webrtc.org,tommi@webrtc.org,michaelt@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2510373002
Cr-Commit-Position: refs/heads/master@{#15147}
2016-11-18 09:31:19 +00:00
a82395bf7c Move smoothing filter to common audio.
This will make the smoothing filter a basic tool that is going to be used by both voice engine and ANA.

BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2484153002
Cr-Commit-Position: refs/heads/master@{#15146}
2016-11-18 08:23:22 +00:00