Commit Graph

11796 Commits

Author SHA1 Message Date
295c4c276b Reduce camera freeze timeout to 4 sec.
BUG=b/27496394

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

Cr-Commit-Position: refs/heads/master@{#11914}
2016-03-08 18:35:11 +00:00
5b830fed07 Drop the restriction on same forward and reverse sample rate on the AudioFrame interface of the APM
R=peah@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11913}
2016-03-08 17:00:08 +00:00
b8f7885861 Added webrtc/base/safe_conversions.h as a pseudonym
for webrtc/base/numerics/safe_conversions.h.

This prevents downstream projects from breaking that have not yet been
updated to use the new file path. As soon as they have this file should
be removed.

This is a follow-up to https://codereview.webrtc.org/1753293002/.

TBR=hta@webrtc.org
NOPRESUBMIT=True
NOTRY=True
BUG=webrtc:5548

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

Cr-Commit-Position: refs/heads/master@{#11912}
2016-03-08 15:12:57 +00:00
72e29d2cbb On WVoMC::SetSendParameters(), figure out send codec settings ONCE, not for each send stream.
This CL is a first step to moving codec configuration into AudioSendStream.

BUG=webrtc:4690
TBR=ossu@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11911}
2016-03-08 14:35:22 +00:00
2e43cc9d57 Roll chromium_revision 8ae6973..b035ad2 (379710:379805)
Change log: 8ae6973..b035ad2
Full diff: 8ae6973..b035ad2

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11910}
2016-03-08 14:02:04 +00:00
6030a129c0 Pass ownership of external encoders to the ACM
We want this because otherwise the ACM uses its mutex to protect an
encoder that's owned by someone else. That someone else may easily
slip up and delete or otherwise touch the encoder before making sure
that the ACM has stopped using it, bypassing the lock.

BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#11909}
2016-03-08 14:01:37 +00:00
bc89de3bca Adding a namespace comment
This was pointed out in https://codereview.webrtc.org/1772583002/.

BUG=webrtc:5607 NOTRY=true
TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11908}
2016-03-08 13:20:18 +00:00
de1c81b2d2 Safe numeric library added: base/numerics (copied from Chromium)
This copies the contents (unittest excluded) of base/numerics in
chromium to base/numerics in webrtc. Files added:
- safe_conversions.h
- safe_conversions_impl.h
- safe_math.h
- safe_math_impl.h

A really old version of safe_conversions[_impl].h previously existed in
base/, this has been deleted and sources using it have been updated
to include the new base/numerics/safe_converions.h.

This CL also adds a DEPS file to webrtc/base.

NOPRESUBMIT=True
BUG=webrtc:5548, webrtc:5623

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

Cr-Commit-Position: refs/heads/master@{#11907}
2016-03-08 12:46:07 +00:00
622d8950f5 Remove the VoEDtmf interface.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#11906}
2016-03-08 12:11:00 +00:00
7b4c9db28a DCHECK fix for https://codereview.webrtc.org/1769113003/
TBR=stefan@webrtc.org

BUG=webrtc:5514

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

Cr-Commit-Position: refs/heads/master@{#11905}
2016-03-08 12:06:55 +00:00
5ab4c6d7e0 Revert "Revert of Implement the NackModule as part of the new jitter buffer. (patchset #19 id:360001 of https://codereview.webrtc.org/1715673002/ )"
This reverts commit eb648bf0e5a9bae185bcd6b4b3be371e1da3507d.

Re-reverting to fix original CL (https://codereview.webrtc.org/1715673002/).

TBR=stefan@webrtc.org, tommi@webrtc.org, torbjorng@webrtc.org

BUG=webrtc:5514

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

Cr-Commit-Position: refs/heads/master@{#11904}
2016-03-08 11:36:22 +00:00
55480f5efa Remove the type parameter to NetEq::GetAudio
The type is included in the AudioFrame output parameter.

Rename the type NetEqOutputType to just OutputType, since it is now
internal to NetEq.

BUG=webrtc:5607

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

Cr-Commit-Position: refs/heads/master@{#11903}
2016-03-08 10:38:02 +00:00
500c04bc86 Delete VAD methods from AcmReceiver and move functionality inside NetEq
This change essentially does two things:

1. Remove the VAD-related methods from AcmReceiver. These are
EnableVad(), DisableVad(), and vad_enabled(). None of them were used
outside of unit tests.

2. Move the functionality to set AudioFrame::speech_type_ and
AudioFrame::vad_activity_ inside NetEq. This was previously done in
AcmReceiver, but based on information inherently owned by NetEq.

With the change in 2, NetEq's GetAudio interface can be simplified by
removing the output type parameter. This will be done in a follow-up
CL.

BUG=webrtc:5607

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

Cr-Commit-Position: refs/heads/master@{#11902}
2016-03-08 10:36:07 +00:00
5249599a9b Update histogram "WebRTC.Video.OnewayDelayInMs" to use the estimated one-way delay.
Previous logged delay was: network delay (rtt/2) + jitter delay + decode time + render delay.

Make capture time in local timebase available for decoded VP9 video frames (propagate ntp_time_ms from EncodedImage to decoded VideoFrame).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11901}
2016-03-08 10:10:24 +00:00
4c279b852c Drop 48kHz sample rate support in the APM for ARM architecture
The 3-band splitting filter is highly complex on this architecture. Today this is not a problem, because on those platforms we mostly use AECM which forces us to downsample to 16kHz anyway, but this is a way of guarding against it. In the long term we want to optimize the 3-band splitting filter for ARM architectures, but for now we can just disable it.

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

Cr-Commit-Position: refs/heads/master@{#11900}
2016-03-08 09:48:25 +00:00
4510bbd5fc Minor cleaning up of the EchoCancellationImpl code
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11899}
2016-03-08 06:50:21 +00:00
f7b5c288b6 Roll chromium_revision 35d57a0..8ae6973 (379535:379710)
Change log: 35d57a0..8ae6973
Full diff: 35d57a0..8ae6973

Changed dependencies:
* src/tools/gyp: ed163ce..61259d5
DEPS diff: 35d57a0..8ae6973/DEPS

No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11898}
2016-03-08 04:05:27 +00:00
745b297b27 Fix mistake in dummy videotracksource.cc and h
VideoTrackSource will be implemented in an upcoming cl but is needed to be included in libjingle.gyp in Chrome before the cl can be landed.

R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11897}
2016-03-08 01:55:13 +00:00
c11b184837 Remove CaptureManager and related calls in ChannelManager.
Removed unused screencast APIs.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#11896}
2016-03-08 01:35:46 +00:00
6ebc4d3f7d Changed name for the upcoming AEC from NextGenerationAec to AEC3.
BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#11895}
2016-03-08 00:59:43 +00:00
e1d9a4a2c9 i# Enter a description of the change.
Remove implementation in videosource.cc
It should have been part of https://codereview.webrtc.org/1770003002/....
TBR=pthatcher@webrtc.org
BUG=webrtc:5621

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

Cr-Commit-Position: refs/heads/master@{#11894}
2016-03-08 00:51:55 +00:00
a3ede6c510 Renamed VideoSourceInterface to VideoTrackSourceInterface.
Moved VideoSourceInterface to MediaStreamInterface.h
Renamed VideoSourceTest to VideoCapturerTrackSourceTest
Renamed VideoSource to VideoCaptureTrackSource and cl lint and cl format.
BUG=webrtc:5426
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11893}
2016-03-08 00:28:03 +00:00
5291393510 DtlsIdentityStoreInterface::RequestIdentity: const& parameters
Changing from:

virtual void RequestIdentity(
    rtc::KeyParams key_params,
    rtc::Optional<uint64_t> expires,
    const rtc::scoped_refptr<DtlsIdentityRequestObserver>& observer);

to:

virtual void RequestIdentity(
    const rtc::KeyParams& key_params,
    const rtc::Optional<uint64_t>& expires_ms,
    const rtc::scoped_refptr<DtlsIdentityRequestObserver>& observer);

Making FakeDtlsIdentityStore DCHECK that |expires_ms| is not set, since it does not support that parameterization.

In a follow-up chromium CL the new signature will be used.

BUG=webrtc:5092, chromium:544902

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

Cr-Commit-Position: refs/heads/master@{#11892}
2016-03-07 23:14:48 +00:00
709472d92d Remove bouncing rwolff@ email address.
BUG=
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11891}
2016-03-07 22:45:33 +00:00
43942d1f1e Roll chromium_revision 508edd3..35d57a0 (379249:379535)
Change log: 508edd3..35d57a0
Full diff: 508edd3..35d57a0

Changed dependencies:
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/708db16..58218b6
DEPS diff: 508edd3..35d57a0/DEPS

No update to Clang.

TBR=torbjorng@webrtc.org
BUG=webrtc:5634
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11890}
2016-03-07 21:59:15 +00:00
11e1805a31 Add new empty files for VideoCapturerTrackSource and VideoTrackSource to make Chrome compile when adding implementation.
BUG=webrtc:5621
TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11889}
2016-03-07 21:03:47 +00:00
049fbb1883 Renaming variables in p2ptransportchannel to be consistent.
Also change the type of "time interval" to int from uint32.
Fixed a few TODO therein. I think we should have the following convention:
1. All time delay/intervals should have type int although the time instant should have time uint32_t.
2. "interval" is preferred to "delay" if the delay will be repeated (like rescheduling).

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11888}
2016-03-07 19:13:15 +00:00
eb648bf0e5 Revert of Implement the NackModule as part of the new jitter buffer. (patchset #19 id:360001 of https://codereview.webrtc.org/1715673002/ )
Reason for revert:
Unfortunately this breaks in the main waterfall: https://build.chromium.org/p/client.webrtc/builders/Android32%20Builder/builds/6362

I think it's related to dcheck_always_on=1 which is set in GYP_DEFINES only on the trybots, but not on the bots in the main waterfall.

Original issue's description:
> Implement the NackModule as part of the new jitter buffer.
>
> Things done/implemented in this CL:
>   - An interface that can send Nack (VCMNackSender).
>   - An interface that can request KeyFrames (VCMKeyFrameRequestSender).
>   - The nack module (NackModule).
>   - A set of convenience functions for modular numbers (mod_ops.h).
>
> BUG=webrtc:5514
>
> Committed: https://crrev.com/f472c5b6722dfb221f929fc4d3a2b4ca54647701
> Cr-Commit-Position: refs/heads/master@{#11882}

TBR=sprang@webrtc.org,stefan@webrtc.org,terelius@webrtc.org,torbjorng@webrtc.org,perkj@webrtc.org,tommi@webrtc.org,philipel@webrtc.org
BUG=webrtc:5514
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11887}
2016-03-07 17:56:34 +00:00
96150a6322 [cleanup] fixed macros and includes in rtp_cvo.h
assert macro replaced with RTC_NOTREACHED, added proper include for it.

R=asapersson@webrtc.org, åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11886}
2016-03-07 09:55:28 +00:00
a2c58e2198 Switch to use new implementation in metrics.h for gathering statistics.
Sparse macro replaced for all audio histograms that have a constant name.

BUG=webrtc:5283

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

Cr-Commit-Position: refs/heads/master@{#11885}
2016-03-07 09:53:08 +00:00
7620be8492 Frame dropper improvements & cleanup
1. Fix the case of key frame accumulation being incorrect due to the chunk
    size being computed at the time of leak based on input frame rate. The issue
    is that the count is computed based on key frame ratio and the actual chunk
    size computed from current input frame rate. These can be wildly different
    especially at the beginning of the stream (key frame ratio defaults based
    on 30 fps) resulting in incorrect key frame accumulation causing large frame
    drops when the input frame rate is low.

    2. Add large delta frame compensation. The current code accounts for key frames
    but not large delta frames. This is a common occurence in some application
    (remote desktop as an example)

    3. Fixes an issue identified by the unit tests. The accumulation of
    key frames had an issue in the scenario of a high key frame ratio where
    the full key frame was not being accounted for.

    3. Removes fast mode and other methods that are mostly dead code.

    4. Cleans up variable names as per chromium style.

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

Cr-Commit-Position: refs/heads/master@{#11884}
2016-03-07 07:22:42 +00:00
50e21bd40b This CL introduces namespaces in the aec c++ files
(the ones that were recently moved from c)

There are many files changed but most changes just
consist of adding namespaces.

In aec_common.h an C++-specific #ifdef needed to be added as
that file is both included from C and C++. I could see no
way around that but please let me know if there is a better
way around that.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#11883}
2016-03-05 16:39:30 +00:00
f472c5b672 Implement the NackModule as part of the new jitter buffer.
Things done/implemented in this CL:
  - An interface that can send Nack (VCMNackSender).
  - An interface that can request KeyFrames (VCMKeyFrameRequestSender).
  - The nack module (NackModule).
  - A set of convenience functions for modular numbers (mod_ops.h).

BUG=webrtc:5514

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

Cr-Commit-Position: refs/heads/master@{#11882}
2016-03-05 11:56:45 +00:00
b624d8c852 Removed the inheritance from ProcessingComponent for EchoCancellerImpl.
BUG=webrtc:5352

Committed: https://crrev.com/3af0a009f8a7f2dfb630a4f4730044cbbd95bee8
Cr-Commit-Position: refs/heads/master@{#11876}

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

Cr-Commit-Position: refs/heads/master@{#11881}
2016-03-05 11:01:22 +00:00
6ec641b0ee Fixing some issues with payload type mappings.
This fixes a couple major issues.

#1: If the payload type that an RTX codec refers to has been reassigned, and then the RTX codec is added in a subsequent offer, it refers to the wrong payload type.

#2: If we receive an offer with two payload types referring to the same codec (which we support), our answer contains both (instead of just one), which causes issues down the road since the video engine only supports one payload type per codec.

BUG=webrtc:5450,webrtc:5499
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11880}
2016-03-05 00:48:07 +00:00
e26e78784b Roll chromium_revision ee31124..508edd3 (378158:379249)
This includes renaming back libvpx_new to libvpx in
https://codereview.chromium.org/1765703002

Add symlink to src/mojo as workaround while figuring out how to fix
this upstream in Chromium. See webrtc:5629.

Change log: ee31124..508edd3
Full diff: ee31124..508edd3

Changed dependencies:
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6d49157..708db16
* src/third_party/libvpx_new/source/libvpx: https://chromium.googlesource.com/webm/libvpx.git/+log/89cc682..None
* src/tools/swarming_client: https://chromium.googlesource.com/external/swarming.client.git/+log/a72f46e..df6e95e
DEPS diff: https://chromium.googlesource.com/chromium/src/+/ee31124..508edd3/DEPS

No update to Clang.

BUG=webrtc:5629
TBR=marpan@webrtc.org, stefan@webrtc.org,
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11879}
2016-03-04 22:39:32 +00:00
6a4a03c59c Add an option to soft reset HW decoder.
Soft reset can be used when input frame resolution changes
to avoid re creating MediaCodec instance.
Instead MediaCodec is flushed and some variables are reset.

R=pbos@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11878}
2016-03-04 22:11:02 +00:00
92586f08e5 Revert of Removed the inheritance from ProcessingComponent for EchoCancellerImpl. (patchset #4 id:60001 of https://codereview.webrtc.org/1761813002/ )
Reason for revert:
Breaks all bots, e.g. https://uberchromegw.corp.google.com/i/client.webrtc/builders/Android32%20Builder/builds/6356/steps/compile/logs/stdio

Looks like a missing rebase before landing. Resolve and try again.

Original issue's description:
> Removed the inheritance from ProcessingComponent for EchoCancellerImpl.
>
> BUG=webrtc:5352
>
> Committed: https://crrev.com/3af0a009f8a7f2dfb630a4f4730044cbbd95bee8
> Cr-Commit-Position: refs/heads/master@{#11876}

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

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

Cr-Commit-Position: refs/heads/master@{#11877}
2016-03-04 20:29:08 +00:00
3af0a009f8 Removed the inheritance from ProcessingComponent for EchoCancellerImpl.
BUG=webrtc:5352

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

Cr-Commit-Position: refs/heads/master@{#11876}
2016-03-04 20:13:38 +00:00
20028c49c9 Removing the use of the soon-to-be-removed echo_cancellation_impl
api function that directly returns aec_core.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#11875}
2016-03-04 19:51:03 +00:00
6d8e011b64 Change NetEq::GetAudio to use AudioFrame
With this change, NetEq now uses AudioFrame as output type, like the
surrounding functions in ACM and VoiceEngine already do.

The computational savings is probably slim, since one memcpy is
removed while another one is added (both in AcmReceiver::GetAudio).

More simplifications and clean-up will be done in
AcmReceiver::GetAudio in future CLs.

BUG=webrtc:5607

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

Cr-Commit-Position: refs/heads/master@{#11874}
2016-03-04 18:34:26 +00:00
6459f84766 Create QuicTransportChannel
This new class allows usage of a QuicSession to establish a QUIC handshake.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11873}
2016-03-04 17:55:09 +00:00
a2f7798ec2 Tweaks for new Objective-C API.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11872}
2016-03-04 15:09:16 +00:00
78417cf7c0 Fix VideoTrack VideoSinkWants for renderers.
This temporarily fixes a probem where renderers causes VideoSinkWants.rotation_applied=true.
The problem was introduced by https://codereview.webrtc.org/1759473003/ where VideTrackRenderes are registered to the cricket::VideoCapturer with default VideoSinkWants.

BUG=webrtc:5621

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

Cr-Commit-Position: refs/heads/master@{#11871}
2016-03-04 11:09:17 +00:00
hta
a2a49d9d9c This CL provides interfaces that do not use constraints for
all interfaces that formerly took constraints parameters
in name=value form.

This is in preparation for making Chrome only use these
explicit interfaces.

BUG=webrtc:4906

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

Cr-Commit-Position: refs/heads/master@{#11870}
2016-03-04 10:51:44 +00:00
2bb7080047 CQ: Remove libfuzzer trybot from default trybot set.
TBR=pbos@webrtc.org
BUG=chromium:591955

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

Cr-Commit-Position: refs/heads/master@{#11869}
2016-03-04 09:30:59 +00:00
4f43fcfd49 Renamed new EncodeInternal to EncodeImpl to ensure proper backwards compatibility.
Renamed the new variant of EncodeInternal to EncodeImpl, so that
subclasses implementing one of the EncodeInternal don't need to
explicitly contain 'using AudioEncoder::EncodeInternal' to avoid their
implementation hiding the other variant of EncodeInternal. This causes
a warning (treated as an error) when building using GCC.

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

Cr-Commit-Position: refs/heads/master@{#11868}
2016-03-04 08:54:38 +00:00
88950cfbf9 Moved the file aec_resampler.c to be built using C++.
The steps involved were:
1) Change file name to .cc from .c.
2) Update the build files accordingly.
3) Remove the extern header file inclusion.
4) Change the casts in aec_resampler.cc to static_cast
   and reinterpret_cast.

The changes are bitexact.

The CL will be followed with another CL where a proper (webrtc) namespace is introduced. The reason for not having it in this CL is that this was missed in the corresponding
CL that did the above for aec_core.c, ..., and if the
namespaces in all the aec_core -related files can be changed
at the same time that will simplify things.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#11867}
2016-03-04 08:12:43 +00:00
0023fdffd0 Remove the ID from AcmReceiver
This is an artifact from the past, and is no longer used.

R=ivoc@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11866}
2016-03-04 07:05:45 +00:00
4f735d16ad Enable iOS AppRTCDemo send side BWE.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11865}
2016-03-04 01:54:37 +00:00