6455 Commits

Author SHA1 Message Date
kwiberg
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
kjellander
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
kwiberg
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
henrik.lundin
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
stefan
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
Stefan Holmer
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
nisse
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
tkchin
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
nisse
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
kwiberg
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
nisse
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
henrik.lundin
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
Taylor Brandstetter
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
Peter Boström
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
Peter Boström
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
Peter Boström
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
emircan
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
henrik.lundin
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
terelius
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
terelius
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
kwiberg
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
kwiberg
1c7fdd86eb Remove calls to ScopedToUnique and UniqueToScoped
They're just no-ops now, and will soon go away.

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12510}
2016-04-26 15:18:13 +00:00
kwiberg
4485ffb58d #include "webrtc/base/constructormagic.h" where appropriate
Any file that uses the RTC_DISALLOW_* macros should #include
"webrtc/base/constructormagic.h", but a shocking number of them don't.
This causes trouble when we try to wean files off of #including
scoped_ptr.h, since a bunch of files get their constructormagic macros
only from there.

Rather than fixing these errors one by one as they turn up, this CL
simply ensures that every file in the WebRTC tree that uses the
RTC_DISALLOW_* macros #includes "webrtc/base/constructormagic.h".

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12509}
2016-04-26 15:14:48 +00:00
henrik.lundin
84f8cd6df4 NetEq: Use TickTimer in PacketBuffer
This change makes use of the TickTimer::Stopwatch in Packets. When a
packet is inserted into the PacketBuffer, a Stopwatch object is
attached to it. When the packet is extracted from the buffer, the
Stopwatch is read to know how long the packet waited in the buffer.

BUG=webrtc:5608

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

Cr-Commit-Position: refs/heads/master@{#12508}
2016-04-26 14:45:26 +00:00
henrik.lundin
d29005e485 NetEq: Silence a few unexpected mock calls in NetEqImplTest
TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12507}
2016-04-26 13:19:21 +00:00
terelius
8c011e5ae6 Simple lint fixes
BUG=webrtc:5583

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

Cr-Commit-Position: refs/heads/master@{#12506}
2016-04-26 12:28:18 +00:00
jbauch
b67aba81e5 Add missing include to x11windowpicker.cc
Before https://codereview.webrtc.org/1920043002/ this was pulled in implicitly
by "scoped_ptr.h".

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

Cr-Commit-Position: refs/heads/master@{#12505}
2016-04-26 11:54:04 +00:00
Peter Boström
d98d457134 Remove "This file includes unit tests" comments.
Superfluous, neteq_unittests.cc conveys that the file contains unittests
for NetEq for instance.

BUG=
TBR=henrik.lundin@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12504}
2016-04-26 11:44:02 +00:00
Peter Boström
3c6eac2860 Remove QualityScaler framerate reduction.
Framerate-reduction code is disabled on all platforms, and this code
adds complexity. It's necessary to react fast, especially on mobile
platforms or other bad network conditions and framerate reduction adds
another step between HD and QVGA.

BUG=webrtc:5678, webrtc:5830
R=jackychen@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12503}
2016-04-26 11:37:20 +00:00
Peter Boström
d486dc1bd7 Remove some TSan deadlock suppressions.
Looks like these are no longer actively triggering, so they can be removed.

BUG=webrtc:2999
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12502}
2016-04-26 11:23:26 +00:00
jbauch
555604a746 Replace scoped_ptr with unique_ptr in webrtc/base/
This propagated into various other places. Also had to #include headers that
were implicitly pulled by "scoped_ptr.h".

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12501}
2016-04-26 10:13:28 +00:00
kjellander
4e7f6c1887 Add proper dependencies for webrtc/modules/audio_coding/codecs
The audio_decoder_interface and audio_encoder_interface
targets are depending on rtc_base_approved headers but don't
declare such dependencies.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#12500}
2016-04-26 04:59:56 +00:00
kwiberg
ba5ea44bad Make rtc::scoped_ptr a type alias for std::unique_ptr
There's also one fixup that could neither be done before or after
landing the type alias CL: changing the FunctorMessageHandler template
specialization for rtc::scoped_ptr<ReturnT> to be for
std::unique_ptr<ReturnT> instead. (Having one specialization for
scoped_ptr and one for unique_ptr doesn't work when the types are the
same, and having just the scoped_ptr specialization doesn't work when
scoped_ptr is a type alias. I'm sure there's some template
metaprogramming magic that could solve the problem, but it's easy
enough to just make the change in this CL instead.)

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12499}
2016-04-26 01:08:46 +00:00
Taylor Brandstetter
9cb23a3579 Stop preemptively generating an RSA key pair.
RSA isn't used by the Java binding, it isn't the default for Obj-C,
and this identity store class isn't used at all by Chrome. So in most
cases, preemptively generating an RSA key pair just wastes CPU cycles
and blocks the worker thread.

If a native C++ application really wants to preemptively generate an RSA
key pair, it can easily do this by passing in its own DtlsIdentityStoreImpl
and calling GenerateIdentity on it.

R=juberti@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#12498}
2016-04-26 00:39:36 +00:00
jackychen
6650d6d1f6 Fix an issue in external VNR when width or height not divisible by 16.
When frame width or height not divisible by 16, copy the margin to denoised
frame, otherwise, the margin block (smaller than 16x16) will not be
updated for non-keyframe.

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

Cr-Commit-Position: refs/heads/master@{#12497}
2016-04-25 23:54:06 +00:00
tkchin
1d4a4b9710 Create new webrtc/sdk subdirectory.
This will be the staging around for languages other than C++. Right now
only ObjC is planned in the near future.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12496}
2016-04-25 23:45:29 +00:00
terelius
b05f994bb6 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

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

Cr-Commit-Position: refs/heads/master@{#12494}
2016-04-25 18:41:55 +00:00
henrik.lundin
ed4972116c Add a TickTimer object to NetEqImpl
The TickTimer is incremented on each call to GetAudioInternal(). Other
than that, the new object is not used yet.

Also adding a unit test in NetEqImplTest to verify that the tick timer
is incremented in the call to NetEq::GetAudio.

BUG=webrtc:5608

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

Cr-Commit-Position: refs/heads/master@{#12493}
2016-04-25 17:11:45 +00:00
nisse
1c27c6bf4c 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

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

Cr-Commit-Position: refs/heads/master@{#12492}
2016-04-25 16:45:38 +00:00
ossu
97ba30eedf Convert CNG into C++ and remove it from AudioDecoder
Broke out CNG from AudioDecoder as they didn't really share an interface.

Converted the CNG code to C++, to make initialization and resource handling easier. This includes several changes to the behavior, favoring RTC_CHECKs over returning error codes.

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

Cr-Commit-Position: refs/heads/master@{#12491}
2016-04-25 14:56:05 +00:00
terelius
f55f58d45d Revert of Enable video processing unittest to take video clips as param. (patchset #1 id:1 of https://codereview.webrtc.org/1907353004/ )
Reason for revert:
Candidate culprit CL for breaking the gtest initialization on DrMemory.

Original issue's description:
> Enable video processing unittest to take video clips as param.
>
> This change enables video processing unittest (including all tests under
> it, e.g. denoiser test) to use a set of video clips as param, which is
> important if we want to do a regression test on the visual quality
> offline.
>
> BUG=
>
> Committed: https://crrev.com/6d94e5224a3d3b1a6d66a428dbe75af7106e8d60
> Cr-Commit-Position: refs/heads/master@{#12485}

TBR=marpan@webrtc.org,jackychen@google.com
# 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/1915973002

Cr-Commit-Position: refs/heads/master@{#12490}
2016-04-25 14:36:55 +00:00
Peter Boström
e6cd03df94 Add logging of supported video codecs.
In particular, logs which codecs are supported by the hardware encoder
factory separately.

BUG=
R=danilchap@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12488}
2016-04-25 09:03:59 +00:00
nisse
037ee92455 Fix test.gyp dependency.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12487}
2016-04-25 08:39:23 +00:00
mflodman
c0e58a3438 Move receive RtpRtcp ownership from ViEChannel to ViEReceiver.
This is a first CL in a row of CLs to move everything related to
receiving RTP from ViEChanel to ViEReceiver, rename the classes and
move ViEReceiver ownership to VideoReceiveStream.

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

Cr-Commit-Position: refs/heads/master@{#12486}
2016-04-25 08:26:33 +00:00
jackychen
6d94e5224a Enable video processing unittest to take video clips as param.
This change enables video processing unittest (including all tests under
it, e.g. denoiser test) to use a set of video clips as param, which is
important if we want to do a regression test on the visual quality
offline.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12485}
2016-04-25 07:48:07 +00:00
kjellander
b1f1406e06 GN: Refactor webrtc/base/BUILD.gn
Move the all_dependent_configs configurations into
a single config for better readability.

Sync the Mac and iOS frameworks between the GYP and the GN
build. Many entries that used to be default included in
https://code.google.com/p/chromium/codesearch#chromium/src/build/config/BUILD.gn
are no longer implicitly added for Mac, so to ensure they are
they're added back for the Mac build.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#12484}
2016-04-25 07:01:39 +00:00
kjellander
84ba8b6f45 GN: Fix dependency for rtc_base_approved
In https://codereview.webrtc.org/1921463002/ a dependency
on Foundation.framework was added to rtc_base_approved for the
GYP build but not for the GN build. This was fixed for some
targets in https://codereview.webrtc.org/1919673002/ but the proper
fix is to introduce an all_dependent_configs entry for rtc_base_approved.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#12483}
2016-04-25 06:03:15 +00:00
kjellander@webrtc.org
c23bf2e54d Disable failing modules_unittests for UBSan.
BUG=webrtc:5820
TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12482}
2016-04-25 04:43:20 +00:00
Tommi
1d2dbdb0c0 Fix dependencies on mac in tools/BUILD.gn.
This can probly be done in a neater way but right now this is blocking the roll.

TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12480}
2016-04-24 16:24:32 +00:00
Tommi
09ca02ea5c Replace use of GetMacOSStatusErrorString (deprecated) with use of NSOSStatusErrorDomain.
This should unblock the roll.

TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12479}
2016-04-24 15:32:50 +00:00