Commit Graph

6384 Commits

Author SHA1 Message Date
a4ac4786a8 Define rtc::BufferT, like rtc::Buffer but for any trivial type
And redefine rtc::Buffer as

  using Buffer = BufferT<uint8_t>;

(In the long run, I'd like to remove the type alias and rename the
template to just rtc::Buffer, but that requires all current users of
Buffer to start saying Buffer<uint8_t> instead, and since Buffer is
used in the API, we can't do that in one step.)

The immediate reason for the new template is that we'd like to use
BufferT<int16_t> in the AudioDecoder interface.

BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/1929903002
Cr-Commit-Position: refs/heads/master@{#12564}
2016-04-29 15:00:28 +00:00
ef8b61e110 Enable -Winconsistent-missing-override flag.
The problem with gmock is worked around by commenting out any other override declarations in classes using gmock.

NOPRESUBMIT=True
BUG=webrtc:3970

Review-Url: https://codereview.webrtc.org/1921653002
Cr-Commit-Position: refs/heads/master@{#12563}
2016-04-29 13:09:23 +00:00
b296d0591c Revert of New task queueing primitive for async tasks: TaskQueue. (patchset #5 id:80001 of https://codereview.webrtc.org/1919733002/ )
Reason for revert:
Reverting this temporarily while I figure out the issues with the Chrome on android GN debug build.

Original issue's description:
> New task queueing primitive for async tasks: TaskQueue.
> TaskQueue is a new way to asynchronously execute tasks sequentially
> in a thread safe manner with minimal locking.  The implementation
> uses OS supported APIs to do this that are compatible with async IO
> notifications from things like sockets and files.
>
> This class is a part of rtc_base_approved, so can be used by both
> the webrtc and libjingle parts of the WebRTC library.  Moving forward,
> we can replace rtc::Thread and webrtc::ProcessThread with this implementation.
>
> NOTE: It should not be assumed that all tasks that execute on a TaskQueue,
> run on the same thread.  E.g. on Mac and iOS, we use GCD dispatch queues
> which means that tasks might execute on different threads depending on
> what's the most efficient thing to do.

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

Review-Url: https://codereview.webrtc.org/1935483002
Cr-Commit-Position: refs/heads/master@{#12562}
2016-04-29 13:03:38 +00:00
0c9df5e568 New task queueing primitive for async tasks: TaskQueue.
TaskQueue is a new way to asynchronously execute tasks sequentially
in a thread safe manner with minimal locking.  The implementation
uses OS supported APIs to do this that are compatible with async IO
notifications from things like sockets and files.

This class is a part of rtc_base_approved, so can be used by both
the webrtc and libjingle parts of the WebRTC library.  Moving forward,
we can replace rtc::Thread and webrtc::ProcessThread with this implementation.

NOTE: It should not be assumed that all tasks that execute on a TaskQueue,
run on the same thread.  E.g. on Mac and iOS, we use GCD dispatch queues
which means that tasks might execute on different threads depending on
what's the most efficient thing to do.

Review-Url: https://codereview.webrtc.org/1919733002
Cr-Commit-Position: refs/heads/master@{#12561}
2016-04-29 11:49:14 +00:00
4edf93bcc6 Remove deprecated functions in rtp_rtcp module
Review-Url: https://codereview.webrtc.org/1859273003
Cr-Commit-Position: refs/heads/master@{#12560}
2016-04-29 10:01:33 +00:00
0565451820 Reland of Delete cricket::VideoFrame methods GetYPlane and GetYPitch. (patchset #1 id:1 of https://codereview.webrtc.org/1921493004/ )
Reason for revert:
Chrome has been updated, cl https://codereview.chromium.org/1919283005/

Original issue's description:
> Revert of Delete cricket::VideoFrame methods GetYPlane and GetYPitch. (patchset #5 id:80001 of https://codereview.webrtc.org/1901973002/ )
>
> Reason for revert:
> GetYPlane, GetYPitch etc is used by Chromium.
>
> Original issue's description:
> > Delete cricket::VideoFrame methods GetYPlane and GetYPitch.
> >
> > (And similarly for U and V). Also change video_frame_buffer method to
> > return a const ref to a scoped_ref_ptr.
> >
> > This cl is analogous to https://codereview.webrtc.org/1900673002/,
> > which delete corresponding methods in webrtc::VideoFrame.
> >
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/1c27c6bf4cf0476dd2f09425509afaae4cdfe599
> > Cr-Commit-Position: refs/heads/master@{#12492}
>
> TBR=magjed@webrtc.org,perkj@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/b05f994bb6f3055c852891c8acb531aee916a668
> Cr-Commit-Position: refs/heads/master@{#12494}

TBR=magjed@webrtc.org,perkj@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,terelius@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/1923903002
Cr-Commit-Position: refs/heads/master@{#12559}
2016-04-29 09:56:06 +00:00
5b3c443d30 Revert of Delete webrtc::VideoFrame methods buffer and stride. (patchset #14 id:250001 of https://codereview.webrtc.org/1900673002/ )
Reason for revert:
Breaks chrome FYI bots.

Original issue's description:
> Delete webrtc::VideoFrame methods buffer and stride.
>
> To make the HasOneRef/IsMutable hack work, also had to change the
> video_frame_buffer method to return a const ref to a scoped_ref_ptr,
> to not imply an AddRef.
>
> BUG=webrtc:5682

TBR=perkj@webrtc.org,magjed@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/1935443002
Cr-Commit-Position: refs/heads/master@{#12558}
2016-04-29 09:39:33 +00:00
a0591b5473 Delete webrtc::VideoFrame methods buffer and stride.
To make the HasOneRef/IsMutable hack work, also had to change the
video_frame_buffer method to return a const ref to a scoped_ref_ptr,
to not imply an AddRef.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/1900673002
Cr-Commit-Position: refs/heads/master@{#12557}
2016-04-29 09:09:33 +00:00
b99395a544 Reland of Delete video_render module. (patchset #1 id:1 of https://codereview.webrtc.org/1923613003/ )
Reason for revert:
Chrome's build files have now been updated, see cl https://codereview.chromium.org/1929933002/

Original issue's description:
> Revert of Delete video_render module. (patchset #12 id:220001 of https://codereview.webrtc.org/1912143002/ )
>
> Reason for revert:
> This breaks every buildbot in chromium.webrtc.fyi and I don't see any roll in progress to address this (and I don't see how that would be possible either).
> Usage in Chrome: https://code.google.com/p/chromium/codesearch#search/&q=modules.gyp%3Avideo_render&sq=package:chromium&type=cs
>
> Example failures:
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/5420
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/4526
>
> I think it's fine to delete our video_render_module_internal_impl target and those files, but video_render target needs to remain.
>
> Original issue's description:
> > Delete video_render module.
> >
> > BUG=webrtc:5817
> >
> > Committed: https://crrev.com/97cfd1ec05d07ef233356e57f7aa4b028b74ffba
> > Cr-Commit-Position: refs/heads/master@{#12526}
>
> TBR=mflodman@webrtc.org,pbos@webrtc.org,nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5817

TBR=mflodman@webrtc.org,pbos@webrtc.org,kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5817

Review-Url: https://codereview.webrtc.org/1929223003
Cr-Commit-Position: refs/heads/master@{#12556}
2016-04-29 07:58:48 +00:00
3d7db263b9 Switch voice transport to use Call and Stream instead of VoENetwork.
VoENetwork is kept for now, but is not really used anylonger.

webrtcvoiceengine is changed to have the same behavior for unsignaled
ssrc as video has, which is reflected by disabling one test case and
this will be discussed and followed up.

BUG=webrtc:5079

TBR=tommi

Review-Url: https://codereview.webrtc.org/1909333002
Cr-Commit-Position: refs/heads/master@{#12555}
2016-04-29 07:57:21 +00:00
8f8c96d192 NetEq: Use TickTimer in DelayManager
This change replaces packet_iat_count_ms_ and max_timer_ms_, two
time-counting member variables in DelayManager, with Stopwatch objects
obtained from a TickTimer.

BUG=webrtc:5608

Review-Url: https://codereview.webrtc.org/1929863002
Cr-Commit-Position: refs/heads/master@{#12554}
2016-04-29 06:19:27 +00:00
fa66659c6b Rename ViEReceiver and move ownership to VideoReceiveStream.
This CL will be followed up with another CL removing everything related
to RTP from ViEChannel to RtpStreamReceiver, i.e. remove ViEChannel::rtp_stream_receiver_.

BUG=5838

Review-Url: https://codereview.webrtc.org/1917363005
Cr-Commit-Position: refs/heads/master@{#12553}
2016-04-29 06:15:38 +00:00
0090b689bd Script for concatenating licenses.
BUG=webrtc:5737

Review-Url: https://codereview.webrtc.org/1922363002
Cr-Commit-Position: refs/heads/master@{#12551}
2016-04-29 01:02:32 +00:00
4896aaa9e4 Limit the maximum and minimum gain the IntelligibilityEnhancer can apply
Although the algorithm should generate the optimal gains, these limits are in place so that it doesn't go bananas in extreme noise situations or if there are some errors on the noise estimate. The limits were chosen as the extreme values from recordings with -3dB SNR, which is the minimum where the POLQA metric increases when processed.

Review-Url: https://codereview.webrtc.org/1925933002
Cr-Commit-Position: refs/heads/master@{#12550}
2016-04-28 23:09:03 +00:00
11d4a42ce5 Compensate for the compression gain in the IntelligibilityEnhancer
The render signal that reaches the IE is already normalized and compressed by an AGC on the far-end capture processing. Because the noise estimation is done before the AGC compression, we need to compensate for this gain in the IE to be able to compare these 2 powers.

Review-Url: https://codereview.webrtc.org/1913603002
Cr-Commit-Position: refs/heads/master@{#12549}
2016-04-28 21:58:38 +00:00
c01c6a423c New interface (AudioDecoderFactory), with an implementation
This is a first draft of what we're hoping to use to create all
AudioDecoder instances. Follow-up CLs will start using this internally
in NetEq instead of calling constructors manually.

BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/1917163002
Cr-Commit-Position: refs/heads/master@{#12548}
2016-04-28 21:23:41 +00:00
c6957c7b73 De-flake VideoSendStreamTest.ReconfigureBitratesSetsEncoderBitratesCorrectly
BUG=webrtc:5382
R=pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12547}
2016-04-28 13:52:59 +00:00
6b470a9413 RTCCertificate serialization.
This CL adds the ability to convert RTCCertificate objects to and from
PEM string representations of it (its private key and certificate).
The RTCCertificate being a wrapper of SSLIdentity, this is where the
meat is.

Changes:
- SSLIdentity::PrivateKeyToPEMString() added. It together with the
  already existing SSLCertificate::ToPEMString() yields both private
  key and certificate PEM strings, both of which are required
  parameters to SSLIdentity::FromPEMStrings().
- Its only implementation, OpenSSLIdentity::PrivateKeyToPemString().
- SSLIdentity::PublicKeyToPEMString() added, used by tests.
- sslidentity_unittest.cc updated:
  * FromPEMStringsRSA and FromPEMStringsEC updated.
  * CloneIdentityRSA and CloneIdentityECDSA added.
- RTCCertificate::To/FromPem added, using new class RTCCertificatePem.
- rtccertificate_unittest.cc: New test CloneWithPemSerialization.
- Renamed rtc_unittests.cc to rtccertificate_unittest.cc to match
  convention.

BUG=webrtc:5794, chromium:581354

Review-Url: https://codereview.webrtc.org/1898383003
Cr-Commit-Position: refs/heads/master@{#12546}
2016-04-28 12:14:30 +00:00
8c22962474 Revert of Avoiding overflow in cross correlation in NetEq. (patchset #6 id:180001 of https://codereview.webrtc.org/1908623002/ )
Reason for revert:
There seems an error made in this patch.

Hi Henrik,

I think the bit shift returned by CrossCorrelationWithAutoShift may be wrongly used by DotProduct.

We'd better revert this CL.

Doing another fix (and future fixes) will be paintful. I will work on a easy-to-modify bitexactness test first.

Original issue's description:
> Avoiding overflow in cross correlation in NetEq.
>
> BUG=

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

Review-Url: https://codereview.webrtc.org/1925053002
Cr-Commit-Position: refs/heads/master@{#12543}
2016-04-28 09:16:54 +00:00
f393370f02 NetEq: Introduce TickTimer in DelayPeakDetector
Specifically, this change replaces peak_period_counter_ms_ with
peak_period_stopwatch_ which obtains a Stopwatch object from
TickTimer. Necessary plumbing to get the TickTimer through to the
DelayPeakDetector is also included.

BUG=webrtc:5608
NOTRY=True

Review-Url: https://codereview.webrtc.org/1921163003
Cr-Commit-Position: refs/heads/master@{#12542}
2016-04-28 08:54:33 +00:00
bebf54cad1 Adds clearer function to create rtc::Thread without Physical SocketServer
Moves logic of default SocketServer from MessageQueue to SocketServer

Review-Url: https://codereview.webrtc.org/1891293002
Cr-Commit-Position: refs/heads/master@{#12541}
2016-04-28 08:32:57 +00:00
84583e03c7 Adding default_exe_manifest to some gn binaries
gn builds are missing Windows manifests for some webrtc executables.
These manifests are necessary in order to get predictable behavior on
Windows.

BUG=602505
NOTRY=True

Review-Url: https://codereview.webrtc.org/1927793002
Cr-Commit-Position: refs/heads/master@{#12540}
2016-04-28 07:21:14 +00:00
8688a4e2b5 Add histogram stats for jitter buffer delay and current/target delay for received video streams:
- "WebRTC.Video.JitterBufferDelayInMs"
- "WebRTC.Video.TargetDelayInMs" (jitter delay + decode time + render delay)
- "WebRTC.Video.CurrentDelayInMs"

BUG=

Review-Url: https://codereview.webrtc.org/1885393002
Cr-Commit-Position: refs/heads/master@{#12539}
2016-04-28 06:42:42 +00:00
3d09dfdbba Avoiding overflow in cross correlation in NetEq.
BUG=

Review-Url: https://codereview.webrtc.org/1908623002
Cr-Commit-Position: refs/heads/master@{#12538}
2016-04-27 22:06:18 +00:00
8034614b81 Cap the send bitrate for opus and iSAC before passing down to VoE.
The voice engine expects send bitrates no more than the maximum for the
codec. For example, 510kbps for opus. So if "b=AS" sets a maximum above
the codec maximum, WebRtcVoiceEngine needs to cap it.

BUG=603690

Review-Url: https://codereview.webrtc.org/1920123002
Cr-Commit-Position: refs/heads/master@{#12537}
2016-04-27 21:17:15 +00:00
081254f2c6 Remove the rtc_relative_path GYP variable and similar defines
This is a reland of https://codereview.webrtc.org/1903553003/ but with
the SRTP changes removed, since they're needed downstream.

The defines that can be used to alter the include paths for Expat and gtest
are no longer needed in WebRTC or Chromium. Remove them to simplify GYP.

Removed defines:
EXPAT_RELATIVE_PATH
GTEST_RELATIVE_PATH

They're all set in the Chromium build so this shouldn't affect Chromium:
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libjingle/libjingle.gyp

BUG=webrtc:4256
NOTRY=True
NOPRESUBMIT=True
TBR=perkj@webrtc.org

Review-Url: https://codereview.webrtc.org/1925733002
Cr-Commit-Position: refs/heads/master@{#12536}
2016-04-27 17:13:28 +00:00
daeb892a64 Reland: Deliver reordered packets in arrival time order after parsing feedback message.
This is what the remote bitrate estimator expects.

BUG=5823
R=sprang@webrtc.org

Review-Url: https://codereview.webrtc.org/1925643002
Cr-Commit-Position: refs/heads/master@{#12535}
2016-04-27 16:49:36 +00:00
0190367cea Revert of Delete video_render module. (patchset #12 id:220001 of https://codereview.webrtc.org/1912143002/ )
Reason for revert:
This breaks every buildbot in chromium.webrtc.fyi and I don't see any roll in progress to address this (and I don't see how that would be possible either).
Usage in Chrome: https://code.google.com/p/chromium/codesearch#search/&q=modules.gyp%3Avideo_render&sq=package:chromium&type=cs

Example failures:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/5420
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/4526

I think it's fine to delete our video_render_module_internal_impl target and those files, but video_render target needs to remain.

Original issue's description:
> Delete video_render module.
>
> BUG=webrtc:5817
>
> Committed: https://crrev.com/97cfd1ec05d07ef233356e57f7aa4b028b74ffba
> Cr-Commit-Position: refs/heads/master@{#12526}

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

Review-Url: https://codereview.webrtc.org/1923613003
Cr-Commit-Position: refs/heads/master@{#12534}
2016-04-27 15:56:56 +00:00
6353723b02 DecoderDatabase::IsComfortNoise: Improved efficiency.
Changed DecoderDatabase::IsComfortNoise to do one, rather than four,
lookups of the rtp payload type. IsComfortNoise is called more frequently
since CNG was changed to not be an AudioDecoder.

BUG=606765

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

Cr-Commit-Position: refs/heads/master@{#12533}
2016-04-27 14:43:45 +00:00
3ec4679dd2 Replace scoped_ptr with unique_ptr in webrtc/p2p/
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12532}
2016-04-27 14:22:58 +00:00
3f032cf688 GN: Add -Wimplicit-fallthrough warning
This warning was added for the GYP build back in
https://webrtc-codereview.appspot.com/34899004

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#12531}
2016-04-27 14:13:51 +00:00
d1fe281e12 Replace scoped_ptr with unique_ptr in webrtc/api/
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12530}
2016-04-27 13:47:40 +00:00
034154b46a Re-land "NetEq: Silence a few unexpected mock calls in NetEqImplTest"
The change made in https://codereview.webrtc.org/1918193002 was
accidentally reverted in https://codereview.webrtc.org/1921243002, but
is now reinstalled.

TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12529}
2016-04-27 13:11:53 +00:00
0415a56020 Revert of Deliver reordered packets in arrival time order after parsing feedback message. (patchset #2 id:20001 of https://codereview.webrtc.org/1915993002/ )
Reason for revert:
Breaks bots

Original issue's description:
> Deliver reordered packets in arrival time order after parsing feedback message.
>
> This is what the remote bitrate estimator expects.
>
> BUG=5823
> R=sprang@webrtc.org
>
> Committed: https://crrev.com/ed9535e2cac6be7a45fb03dc8426ef3b0ec43294
> Cr-Commit-Position: refs/heads/master@{#12527}

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

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

Cr-Commit-Position: refs/heads/master@{#12528}
2016-04-27 12:30:29 +00:00
ed9535e2ca Deliver reordered packets in arrival time order after parsing feedback message.
This is what the remote bitrate estimator expects.

BUG=5823
R=sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12527}
2016-04-27 12:21:27 +00:00
97cfd1ec05 Delete video_render module.
BUG=webrtc:5817

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

Cr-Commit-Position: refs/heads/master@{#12526}
2016-04-27 09:52:27 +00:00
9eeb6240c9 Build dynamic iOS SDK.
- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12524}
2016-04-27 08:54:27 +00:00
06f7e49438 WebRtcVideoFrameFactoryTest shouldn't inherit VideoFrameTest.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12523}
2016-04-27 08:37:56 +00:00
84be511ac0 Replace the remaining scoped_ptr with unique_ptr in webrtc/modules/
(This is a re-land of https://codereview.webrtc.org/1921233002, which
got reverted for breaking Chromium.)

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12522}
2016-04-27 08:20:08 +00:00
90c335a100 Delete unused methods of the VideoProcessing class. And fix a typo.
Rename EnableDenosing --> EnableDenoising.
Delete VideoProcessing FrameStats methods.
Delete VideoProcessingImpl::BrightnessDetection and related files.
Delete VideoProcessingImpl::Deflickering and related files.
Delete VideoProcessing::Brighten.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12521}
2016-04-27 07:59:29 +00:00
8833f850cf NetEq: Correcting a mistake in NetEqImplTest
The mistake was made in https://codereview.webrtc.org/1921243002/.

TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12520}
2016-04-27 07:34:23 +00:00
58f2bd90f1 Fixing the interaction between codec bitrate limit and "b=AS".
This fixes a problem where "b=AS" and "x-google-start-bitrate" can't
be used together. It also starts taking the minimum of "b=AS" and
"x-google-max-bitrate", instead of just letting "b=AS" win.

BUG=webrtc:5811
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12519}
2016-04-27 00:15:35 +00:00
d6b9d772c2 Fix producer_fec_fuzzer.
A field was removed from FecProtectionParams in
https://codereview.webrtc.org/1917083003.

BUG=webrtc:5066
R=turaj@webrtc.org, turajs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12518}
2016-04-26 22:18:52 +00:00
53edac6c0e Report dropped frames from codec thread.
Removes data race inside QualityScaler which were called both from the
codec thread and the invoking thread at the same time.

BUG=webrtc:5678
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12517}
2016-04-26 22:08:45 +00:00
7389436979 Remove VCMQmRobustness.
Class contained a lot of not-really-wired-up functionality that ended up
being complicated ways of saying return 1; or return false;. This
removes this dependency that complicates code readability significantly.

BUG=webrtc:5066
R=marpan@google.com, marpan@webrtc.org
TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12516}
2016-04-26 21:54:41 +00:00
55a401e607 Move BitrateAdjuster into common_video
This CL moves BitrateAdjuster into common_video folder as it
was suggested on [0] such that it can be properly linked with
Chrome projects.

[0] https://codereview.chromium.org/1818903004/

BUG=500605

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

Cr-Commit-Position: refs/heads/master@{#12515}
2016-04-26 19:55:10 +00:00
1d9061e8ae NetEq: Dependency injection through one struct instead of many params
With this change, the NetEqImpl constructor takes a struct
(NetEqImpl::Dependencies) as input instead of a collection of
individual dependencies. The NetEqImpl unit test fixture is modified
to make better used of unique_ptrs.

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

Cr-Commit-Position: refs/heads/master@{#12514}
2016-04-26 19:19:43 +00:00
52d4e6bf5e Revert of Replace the remaining scoped_ptr with unique_ptr in webrtc/modules/ (patchset #1 id:40001 of https://codereview.webrtc.org/1921233002/ )
Reason for revert:
Fails on Chromium FYI bots.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/5392/

Original issue's description:
> Replace the remaining scoped_ptr with unique_ptr in webrtc/modules/
>
> BUG=webrtc:5520
>
> Committed: https://crrev.com/2c27a062ee46258abe9facc2cceee74f09bf6a99
> Cr-Commit-Position: refs/heads/master@{#12511}

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

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

Cr-Commit-Position: refs/heads/master@{#12513}
2016-04-26 16:32:09 +00:00
5262bacf4a Disable flaky test on msan
BUG=webrtc:5824

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

Cr-Commit-Position: refs/heads/master@{#12512}
2016-04-26 15:55:44 +00:00
2c27a062ee Replace the remaining scoped_ptr with unique_ptr in webrtc/modules/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12511}
2016-04-26 15:38:03 +00:00