186 Commits

Author SHA1 Message Date
nisse
191b359d0d Implement timestamp translation/filter in VideoCapturer.
Use in AndroidVideoCapturer.

BUG=webrtc:5740

Review-Url: https://codereview.webrtc.org/2017443003
Cr-Commit-Position: refs/heads/master@{#13254}
2016-06-22 15:36:58 +00:00
Peter Boström
0208322ee3 GN: Add video_engine_tests
Adds separate source_sets for the video_engine_tests subtargets inside
audio, call and video and merges them together into video_engine_tests.

BUG=webrtc:5949
R=kjellander@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13127}
2016-06-14 10:53:09 +00:00
kjellander
fb11424551 GN: Add modules_unittests
Changes:
* Enabled protobuf for iOS globally.
* Set WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE on a global
scope similar to GYP since tests depend on it.
* Added missing rtc_libvpx_build_vp9 variable.
* Moved out audio_coding defines into .gni file to avoid code duplication
* Renamed files to avoid object naming conflicts that GN disallows:
  * webrtc/modules/audio_processing/{echo_cancellation_unittest.cc->echo_cancellation_bit_exact_unittest.cc}
  * webrtc/modules/video_coding/codecs/vp9/{screenshare_layers_unittest.cc->vp9_screenshare_layers_unittest.cc}

BUG=webrtc:5949
TESTED=Built and ran the tests on Mac. Also ran:
gn gen out/Default --args="rtc_enable_bwe_test_logging=true"
and verified that more objects are being built (1885 vs 1883)
when compiling modules_unittests.

NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2041233006
Cr-Commit-Position: refs/heads/master@{#13108}
2016-06-13 07:19:53 +00:00
kjellander
82a94494b1 GN: Add rtc_media_unittests
Changes:
* Set WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE on a global scope
  to match GYP.
* Enable sctpdataengine_unittest.cc for iOS, which should have
  been done in https://codereview.webrtc.org/1587193006
* Renamed GN target rtc_base_test_utils -> rtc_base_tests_utils
  to match GYP.
* Added dependencies on call, modules/video_coding and video for
  rtc_media.
* Added dependency on audio for rtc_media_unitttests (couldn't be
  added to rtc_media due to circular dependency problem).

BUG=webrtc:5949
TESTED=Built and ran the tests on Mac.
NOTRY=True

Review-Url: https://codereview.webrtc.org/2050313002
Cr-Commit-Position: refs/heads/master@{#13106}
2016-06-13 05:12:10 +00:00
kjellander
94cee3111c GN: Enable api,media,pc and p2p for the 'webrtc' target.
These parts were commented out to avoid breaking the Chromium
WebRTC FYI bots. Include them in the WebRTC build to make our bots
build as many as possible of our GN targets.

BUG=webrtc:5949
NOTRY=True
TBR=phoglund@webrtc.org

Review-Url: https://codereview.webrtc.org/2054903002
Cr-Commit-Position: refs/heads/master@{#13097}
2016-06-10 08:57:05 +00:00
kjellander
3bcedd3595 GN: Add SDK tests to rtc_unittests.
In https://codereview.webrtc.org/2034923003 it was discovered
that a test binary rtc_sdk_peerconnection_objc_tests was
a dependency to rtc_unittests. Unfortunately gtest doesn't
include dependent executables into the same test executable;
only libraries (so theses tests weren't run).

This CL incorporates those tests into rtc_unittests and
does the same changes to the GN build.

BUG=webrtc:5949
TESTED=Built and ran rtc_unittests locally on Mac.
NOTRY=True

Review-Url: https://codereview.webrtc.org/2041743003
Cr-Commit-Position: refs/heads/master@{#13060}
2016-06-08 08:14:22 +00:00
kjellander@webrtc.org
aff499c9bf GN: Fix errors in rtc_include_tests conditions
https://codereview.webrtc.org/2043873003 forgot to flip the
logic.

BUG=webrtc:5949
TBR=phoglund@webrtc.org
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#13055}
2016-06-06 21:04:16 +00:00
kjellander
e72db17556 GN: Use rtc_include_tests variable to exclude tests.
This is closer to what the GYP build does, and is more readable.

BUG=webrtc:5949
TBR=phoglund@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2043873003
Cr-Commit-Position: refs/heads/master@{#13054}
2016-06-06 21:00:09 +00:00
kjellander@webrtc.org
3ee5614650 GN: Add rtc_unittests
Everything except the dependency on
sdk/sdk_tests.gyp:rtc_sdk_peerconnection_objc_tests is included.
That one actually doesn't make those tests run as part of rtc_unittests
(by design). Fixing that + add them will done in aseparate CL.

BUG=webrtc:5949
TESTED=Built and ran rtc_unittests on Mac.
Verified the number of tests matched a run on the bot (1213 tests executed).

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13036}
2016-06-03 13:57:06 +00:00
kjellander
c76dc95daf Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
The only thing that differs from the previous attempt in
https://codereview.webrtc.org/1979933002/ is that none of
the new targets are not hooked up to the webrtc target in
webrtc/BUILD.gn, which should make it not break the
chromium.webrtc.fyi bots.

Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

Changes between previous attempt and the one before that
(https://codereview.webrtc.org/1973313002) are:
* Added libstunprober target
* Adjusted warnings for Chromium's clang plugins
* webrtc/pc/externalhmac.{h,cc} added for Chromium builds.

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

Review-Url: https://codereview.webrtc.org/2037983002
Cr-Commit-Position: refs/heads/master@{#13030}
2016-06-03 10:09:40 +00:00
kjellander
4d167e5ccd Revert of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} (patchset #5 id:80001 of https://codereview.webrtc.org/1979933002/ )
Reason for revert:
Too many errors to address showed up when trying to land this with Chromium changes in https://codereview.chromium.org/2022833002/.
Will address them separately before relanding.

Original issue's description:
> Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
>
> Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
> preparation for removing src/third_party/libjingle in Chromium.
>
> Changes from previous attempt:
> * Added libstunprober target
> * Adjusted warnings for Chromium's clang plugins
> * webrtc/pc/externalhmac.{h,cc} added for Chromium builds.
>
> As soon this has landed a roll including the changes in
> https://codereview.chromium.org/2022833002/ is needed to make
> Chromium build cleanly.
>
> BUG=webrtc:4256
> NOTRY=True
> NOPRESUBMIT=True
>
> Committed: https://crrev.com/164e978f981c7810c4260c4184f41e26bae90230
> Cr-Commit-Position: refs/heads/master@{#12983}

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

Review-Url: https://codereview.webrtc.org/2023233002
Cr-Commit-Position: refs/heads/master@{#12988}
2016-06-01 11:45:13 +00:00
kjellander
164e978f98 Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

Changes from previous attempt:
* Added libstunprober target
* Adjusted warnings for Chromium's clang plugins
* webrtc/pc/externalhmac.{h,cc} added for Chromium builds.

As soon this has landed a roll including the changes in
https://codereview.chromium.org/2022833002/ is needed to make
Chromium build cleanly.

BUG=webrtc:4256
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/1979933002
Cr-Commit-Position: refs/heads/master@{#12983}
2016-06-01 09:17:56 +00:00
kjellander
f0e174aab4 Reland "Set defines for Chromium"
This is a reland of https://codereview.webrtc.org/1847013002/
with the following changes:
* _USE_32BIT_TIME_T is no longer set: it was removed from Chromium
in https://codereview.chromium.org/1862443003/.
Setting it in target_defaults was likely the reason to
remoting_unittests failing in the previous attempt to land this.
* Added define for FreeBSD platform.
* Added corresponding GN changes.

Copy the defines from the target_defaults section of Chromium's
src/third_party/libjingle.gyp into our webrtc/build/common.gypi
in order to ensure the same defines are used for the Chromium build
when removing the source listings in src/third_party/libjingle.gyp.
With this CL landed, it should be possible to replace them with
dependencies on:
* webrtc/api/api.gyp:libjingle_peerconnections
* webrtc/media/media.gyp:rtc_media
* webrtc/pc/pc.gyp:rtc_pc
* webrtc/pp2/p2p.gyp:rtc_p2p
* webrtc/libjingle/xmpp/xmpp.gyp:rtc_xmpp

Not ported (Windows specific):
* Precompiled headers (build/win_precompile.gypi):
  since it only seems to offer a compile speedup. Will be landed
  for all of WebRTC in separate CL.

BUG=webrtc:4256
NOTRY=True

Review-Url: https://codereview.webrtc.org/1924663003
Cr-Commit-Position: refs/heads/master@{#12959}
2016-05-30 13:27:56 +00:00
katrielc
bf81d68a42 If building a fuzzer, define WEBRTC_UNSAFE_FUZZER_MODE.
This is useful because various pieces of code can then make themselves
more fuzzer-friendly. (For example, checksum verification can always
succeed.) See BORINGSSL_UNSAFE_FUZZER_MODE for an analogous flag.

BUG=chromium:561667

Review-Url: https://codereview.webrtc.org/2000173002
Cr-Commit-Position: refs/heads/master@{#12904}
2016-05-26 08:03:10 +00:00
kjellander
84f8df71af Revert of Add missing headers and fix some missing dependencies (patchset #1 id:20001 of https://codereview.webrtc.org/1990593002/ )
Reason for revert:
This breaks our Chromium WebRTC FYI bots:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/6173

/mnt/data/b/build/slave/Linux_Builder/build/src/buildtools/linux64/gn gen //out/Release --check
  -> returned 1
ERROR at //content/renderer/media/rtc_video_decoder.cc:24:11: Can't include this header from here.
#include "third_party/webrtc/video_frame.h"
          ^-------------------------------
The target:
  //content/renderer:renderer
is including a file from the target:
  //third_party/webrtc:webrtc_common

The //content/renderer:renderer target should probably be updated to depend on   //third_party/webrtc:webrtc_common before relanding this.

Original issue's description:
> Add missing headers and fix some missing dependencies
>
> This is the first CL in a series of major cleanup and dependency
> corrections needed in order to satisfy 'gn check'.
>
> BUG=webrtc:4243, webrtc:5589
> NOTRY=True
>
> Committed: https://crrev.com/7bb6e75723eb64af079446cc6e3ff08c74fe02e4
> Cr-Commit-Position: refs/heads/master@{#12790}

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

Review-Url: https://codereview.webrtc.org/1989823002
Cr-Commit-Position: refs/heads/master@{#12793}
2016-05-18 12:00:55 +00:00
kjellander
7bb6e75723 Add missing headers and fix some missing dependencies
This is the first CL in a series of major cleanup and dependency
corrections needed in order to satisfy 'gn check'.

BUG=webrtc:4243, webrtc:5589
NOTRY=True

Review-Url: https://codereview.webrtc.org/1990593002
Cr-Commit-Position: refs/heads/master@{#12790}
2016-05-18 11:06:22 +00:00
pasko
e305d956c0 Remove runtime NEON detection
Chrome does not detect NEON instruction set at runtime in WebRTC code starting
with M50, which is now in Stable. Remove support for runtime detection for
simplicity.

The only remaining piece of Chrome that will continue to depend on runtime
detection is /net, where devices with _broken_ neon support are also detected,
and it is not configurable via GYP/GN.

BUG=522035
NOPRESUBMIT=true

Review-Url: https://codereview.webrtc.org/1955413003
Cr-Commit-Position: refs/heads/master@{#12778}
2016-05-17 17:56:48 +00:00
phoglund
ff274394fe Separate building and enabling libevent.
We're now ready https://codereview.webrtc.org/1984503002/ downstream,
so make sure we can enable libevent but still choose which libevent
implementation to use. This follows the common pattern where an enable_
flag controls whether we should use the feature at all, whereas build_
controls if we should use the dependency from our DEPS file or
something else.

NOTRY=True

Review-Url: https://codereview.webrtc.org/1980003002
Cr-Commit-Position: refs/heads/master@{#12772}
2016-05-17 10:44:36 +00:00
kjellander
fb1dd43ac1 Revert of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} (patchset #2 id:20001 of https://codereview.webrtc.org/1973313002/ )
Reason for revert:
Breaks GN in Chromium (again), even though I tested this configuration: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/6000/steps/generate_build_files/logs/stdio

Original issue's description:
> Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
>
> Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
> preparation for removing src/third_party/libjingle in Chromium.
>
> BUG=webrtc:4256
> NOTRY=True
> TBR=perkj@webrtc.org
>
> Committed: https://crrev.com/c8d848b1049d8b9e8e33e023d13bec1180dd4926
> Cr-Commit-Position: refs/heads/master@{#12731}

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

Review-Url: https://codereview.webrtc.org/1975223002
Cr-Commit-Position: refs/heads/master@{#12733}
2016-05-13 17:28:59 +00:00
kjellander
c8d848b104 Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

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

Review-Url: https://codereview.webrtc.org/1973313002
Cr-Commit-Position: refs/heads/master@{#12731}
2016-05-13 17:24:55 +00:00
kjellander
8744cf67a7 Revert of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} (patchset #2 id:140001 of https://codereview.webrtc.org/1929633002/ )
Reason for revert:
Breaks GN in Chromium.

Original issue's description:
> GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
>
> Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
> preparation for removing src/third_party/libjingle in Chromium.
>
> BUG=webrtc:4256
> NOTRY=True
>
> Committed: https://crrev.com/4d02a358b4205bd0f7b5f794b6fb8c157e075b9e
> Cr-Commit-Position: refs/heads/master@{#12724}

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

Review-Url: https://codereview.webrtc.org/1977853002
Cr-Commit-Position: refs/heads/master@{#12726}
2016-05-13 13:26:46 +00:00
kjellander
4d02a358b4 GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

BUG=webrtc:4256
NOTRY=True

Review-Url: https://codereview.webrtc.org/1929633002
Cr-Commit-Position: refs/heads/master@{#12724}
2016-05-13 12:52:20 +00:00
terelius
d5c1a0bd5d New parser for event log. Manually parse the outermost EventStream to more easily deal with corrupt or partially written logs.
Changed rtpdump converter and neteq tool to use new parser, but still aborting if the file is corrupt.

Review-Url: https://codereview.webrtc.org/1768773002
Cr-Commit-Position: refs/heads/master@{#12714}
2016-05-13 07:43:04 +00:00
nisse
4996eaa7a2 Revert of Partial revert of Enable -Winconsistent-missing-override flag. (patchset #5 id:80001 of https://cod… (patchset #1 id:1 of https://codereview.webrtc.org/1944273002/ )
Reason for revert:
Downstream users updated now.

Original issue's description:
> Partial revert of Enable -Winconsistent-missing-override flag. (patchset #5 id:80001 of https://codereview.webrtc.org/1921653002/ )
>
> Reason for revert:
> This CL breaks the google3 import (but not the import bot).
> This partial revert only reverts the build files. A full revert no longer cleanly applies to ToT, so this was done instead.
>
> Original issue's description:
> > 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
> >
> > Committed: https://crrev.com/ef8b61e11062295365f11b9942f18a08a8b3ec60
> > Cr-Commit-Position: refs/heads/master@{#12563}
>
> TBR=mflodman@webrtc.org,kjellander@webrtc.org,nisse@webrtc.org
> BUG=webrtc:3970
>
> Committed: https://crrev.com/053f91774149a5367ddd531999d4ca69a57dbaa3
> Cr-Commit-Position: refs/heads/master@{#12624}

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

Review-Url: https://codereview.webrtc.org/1959353002
Cr-Commit-Position: refs/heads/master@{#12678}
2016-05-11 06:28:22 +00:00
ivoc
053f917741 Partial revert of Enable -Winconsistent-missing-override flag. (patchset #5 id:80001 of https://codereview.webrtc.org/1921653002/ )
Reason for revert:
This CL breaks the google3 import (but not the import bot).
This partial revert only reverts the build files. A full revert no longer cleanly applies to ToT, so this was done instead.

Original issue's description:
> 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
>
> Committed: https://crrev.com/ef8b61e11062295365f11b9942f18a08a8b3ec60
> Cr-Commit-Position: refs/heads/master@{#12563}

TBR=mflodman@webrtc.org,kjellander@webrtc.org,nisse@webrtc.org
BUG=webrtc:3970

Review-Url: https://codereview.webrtc.org/1944273002
Cr-Commit-Position: refs/heads/master@{#12624}
2016-05-04 09:37:50 +00:00
nisse
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
nisse
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
kjellander
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
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
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
terelius
4311ba59d8 Refactored CL for moving the output to a separate thread.
The logging thread is always active. The main thread uses SwapQueues to pass events to the logging thread. The logging thread moves the events to either a RingBuffer history in memory, or to a string which is written to disc.

RtcEventLogImpl constructor takes a clock for easier testing.

BUG=webrtc:4741

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

Cr-Commit-Position: refs/heads/master@{#12476}
2016-04-22 19:40:46 +00:00
pbos
a96b60b3a6 Move frame_callback.h to common_video/include.
BUG=webrtc:4243
R=kjellander@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12419}
2016-04-19 04:12:57 +00:00
kjellander@webrtc.org
50772f1e16 GN: Update audio_sink.h location
This should have been a part of
https://codereview.webrtc.org/1740873003/
but wasn't discovered since we cannot have --check turned
on for GN yet.

BUG=webrtc:5589
TBR=solenberg@webrtc.org, henrika@webrtc.org,

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

Cr-Commit-Position: refs/heads/master@{#11803}
2016-02-29 05:49:54 +00:00
kjellander
7324eb9e62 Revert of Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies. (patchset #2 id:40001 of https://codereview.webrtc.org/1737593002/ )
Reason for revert:
Breaks GN in chromium.

Original issue's description:
> Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies.
>
> webrtc/audio/audio_sink.h is used by voice engine, but webrtc/audio is
> depending on voice engine, resulting in a cyclic dependency (which we
> don't detect since we have that check turned off, see webrtc:4243).
>
> BUG=webrtc:4243, webrtc:5589
> R=pbos@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org
> TBR=tommi@webrtc.org
>
> Committed: https://crrev.com/99b345c4e50c59a776c56949c17da3f50992f1a2
> Cr-Commit-Position: refs/heads/master@{#11766}

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

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

Cr-Commit-Position: refs/heads/master@{#11769}
2016-02-25 16:37:02 +00:00
kjellander@webrtc.org
99b345c4e5 Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies.
webrtc/audio/audio_sink.h is used by voice engine, but webrtc/audio is
depending on voice engine, resulting in a cyclic dependency (which we
don't detect since we have that check turned off, see webrtc:4243).

BUG=webrtc:4243, webrtc:5589
R=pbos@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11766}
2016-02-25 14:12:48 +00:00
kjellander
988d31eb9b Move gtest_prod_util.h out of webrtc/test tree.
This is needed because the target is defined in webrtc/common.gyp
and its current location crosses package boundaries when generating
projects for some build systems.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11496}
2016-02-05 08:23:57 +00:00
aluebs
688e308a35 Re-land: "Use an explicit identifier in Config"
This let's us use them to configure them when using WebRTC as an external library. One use case where this is necessary is in the Android OS.

Original CL: https://codereview.webrtc.org/1538643004/

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11248}
2016-01-14 12:32:51 +00:00
tommi
fca54f41ad Revert of Use an explicit identifier in Config (patchset #4 id:60001 of https://codereview.webrtc.org/1538643004/ )
Reason for revert:
Reverting due to problem with roll:

/b/build/slave/linux/build/src/buildtools/linux64/gn gen //out/Release '--args=ffmpeg_branding="Chrome" proprietary_codecs=true is_debug=false is_component_build=false use_goma=true goma_dir="/b/build/goma" symbol_level=1 dcheck_always_on=true' --check --runtime-deps-list-file=/b/build/slave/linux/build/src/out/Release/runtime_deps
  -> returned 1
ERROR at //third_party/webrtc/BUILD.gn:245:18: Item not found
    configs -= [ "//build/config/clang:find_bad_constructs" ]
                 ^-----------------------------------------
You were trying to remove "//build/config/clang:find_bad_constructs"
from the list but it wasn't there.
GN gen failed: 1
step returned non-zero exit code: 1
@@@STEP_FAILURE@@@

Original issue's description:
> Use an explicit identifier in Config
>
> This let's us use them to configure them when using WebRTC as an external library. One use case where this is necessary is in the Android OS.
>
> Committed: https://crrev.com/25249d92d3cf105bcc7b684c8924ccdbc9afcb93
> Cr-Commit-Position: refs/heads/master@{#11231}

TBR=henrik.lundin@webrtc.org,stefan@webrtc.org,tommi@chromium.org,aluebs@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/1586563003

Cr-Commit-Position: refs/heads/master@{#11239}
2016-01-13 16:12:07 +00:00
aluebs
25249d92d3 Use an explicit identifier in Config
This let's us use them to configure them when using WebRTC as an external library. One use case where this is necessary is in the Android OS.

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

Cr-Commit-Position: refs/heads/master@{#11231}
2016-01-13 02:50:31 +00:00
Peter Boström
1e0cfd9a46 Add VP8 and H264 depacketizer fuzzers.
Also removes listing of targets in webrtc_fuzzers which is very prone to
not being up to date. They're not required for ClusterFuzz integration
or building locally. This also means that adding fuzzers won't require
approval outside the fuzzers directory.

BUG=webrtc:4771
R=kjellander@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11067}
2015-12-17 13:28:28 +00:00
pbos
3514cbe554 Add DrFuzz support to webrtc fuzzers.
BUG=webrtc:4771
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11059}
2015-12-17 02:36:19 +00:00
Henrik Lundin
fe32a76d60 Create fuzzer tests for audio decoders
This change adds fuzzer tests for iLBC, iSAC fix and float, and
Opus. The fuzzer function takes a random input vector and splits it
into a number of payloads. The lengths of the payloads is also
determined by the random vector. The payloads are decoded with the
decoders.

BUG=webrtc:5306
R=kjellander@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10932}
2015-12-08 10:27:34 +00:00
Peter Boström
871c419596 Add fuzzing of VP8 QP parsing.
BUG=webrtc:4771
R=asapersson@webrtc.org, kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10806}
2015-11-26 13:52:28 +00:00
Peter Boström
62e9bda7bf Implement fuzzing of VP9 depacketization.
Provides an example for how to use fuzzing within the webrtc tree.

BUG=webrtc:4771
R=aizatsky@chromium.org, asapersson@webrtc.org, kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10752}
2015-11-23 14:12:13 +00:00
tfarina
444237e2e4 Remove unused crypto.gni import.
We are trying to move crypto.gni out of build/config in chromium,
this should help with this work.

BUG=None
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10514}
2015-11-04 22:44:04 +00:00
Henrik Kjellander
c4ef1439f6 Revert "Add GN Build file for rtc_sound target."
This reverts commit f054819e257a4f9cbb7fa82ba51dc2335f4359ec,
2d3747de9b7c3014e106d3766dc07cf5da3e1881 and
7ef0553c85c5b373535d7f6161e9a6d3b5b9a826.
It seems harder than expected to get a GN build for rtc_sound
and we lack sufficient trybot support for the case where
WebRTC is built as part of Chromium.

The Debug builds failed like this:
[6939/7454] SOLINK ./libcontent.so
FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -B../../third_party/binutils/Linux_x64/Release/bin -fuse-ld=gold -Wl,--icf=all -pthread -m64 -Wl,--export-dynamic -o ./libcontent.so -Wl,-soname=libcontent.so @./libcontent.so.rsp && { readelf -d ./libcontent.so | grep SONAME ; nm -gD -f p ./libcontent.so | cut -f1-2 -d' '; } > ./libcontent.so.tmp && if ! cmp -s ./libcontent.so.tmp ./libcontent.so.TOC; then mv ./libcontent.so.tmp ./libcontent.so.TOC; fi
../../third_party/webrtc/sound/alsasoundsystem.cc:453: error: undefined reference to 'rtc::LateBindingSymbolTable::Load()'
../../third_party/webrtc/base/latebindingsymboltable.h.def:62: error: undefined reference to 'rtc::LateBindingSymbolTable::IsLoaded() const'
../../third_party/webrtc/base/latebindingsymboltable.h.def:62: error: undefined reference to 'rtc::LateBindingSymbolTable::IsLoaded() const'
../../third_party/webrtc/base/latebindingsymboltable.h.def:62: error: undefined reference to 'rtc::LateBindingSymbolTable::IsLoaded() const'
../../third_party/webrtc/base/latebindingsymboltable.h.def:62: error: undefined reference to 'rtc::LateBindingSymbolTable::IsLoaded() const'
../../third_party/webrtc/base/latebindingsymboltable.cc.def:63: error: undefined reference to 'rtc::LateBindingSymbolTable::LateBindingSymbolTable(rtc::LateBindingSymbolTable::TableInfo const*, void**)'
../../third_party/webrtc/base/latebindingsymboltable.cc.def:65: error: undefined reference to 'rtc::LateBindingSymbolTable::~LateBindingSymbolTable()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

BUG=webrtc:4160
TBR=tfarina@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#10411}
2015-10-26 16:39:21 +00:00
tfarina
f054819e25 Add GN Build file for rtc_sound target.
Tested on Linux with the following command lines:

$ gn gen out-gn/Release --args='is_debug=false target_cpu="x64"
build_with_chromium=false'
$ ninja -C out-gn/Release rtc_sound

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

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

Cr-Commit-Position: refs/heads/master@{#10405}
2015-10-26 12:15:33 +00:00
henrikg
ee2bf41a79 Update build files to use webrtc_overrides in Chromium instead of overrides.
This re-lands https://codereview.webrtc.org/1354933002/

This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.

Depends on https://codereview.chromium.org/1345873004/

BUG=chromium:468375

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

Cr-Commit-Position: refs/heads/master@{#10115}
2015-09-30 10:49:11 +00:00
Peter Boström
5c389d3e09 Split webrtc/video into webrtc/{audio,call,video}.
Moves audio_receive_stream.{h,cc} into webrtc/audio, and common parts
into webrtc/call, splitting out audio/shared components with separate
OWNERS files.

BUG=webrtc:4690
R=solenberg@webrtc.org, tina.legrand@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10073}
2015-09-25 11:58:39 +00:00
Henrik Kjellander
5bfc6cb53a Revert "Android: Enable C99 mode instead of C89 (default)."
This reverts commit 7bff85c2bc741102b41b259752269f9ecd398d68.
It was partially reverted in https://codereview.webrtc.org/1354163002.
This reverts the rest.

BUG=webrtc:4960, webrtc:5016
TBR=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10003}
2015-09-21 14:50:56 +00:00