Merge changes I7bbf776e,I1b827825

* changes:
  WIP: Changes after merge commit 'cb3f9bd'
  WIP: Merge commit 'cb3f9bd' into chh.merge.cb3f9bd
This commit is contained in:
Chih-hung Hsieh
2015-12-01 17:00:05 +00:00
committed by Gerrit Code Review
5704 changed files with 725573 additions and 436738 deletions

3
.clang-format Normal file
View File

@ -0,0 +1,3 @@
# Defines the Chromium style for automatic reformatting.
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
BasedOnStyle: Chromium

136
.gitignore vendored
View File

@ -1,6 +1,6 @@
*.host.mk
*.target.mk
*.DS_Store
*.Makefile
*.host.mk
*.ncb
*.ninja
*.props
@ -10,6 +10,7 @@
*.sdf
*.sln
*.suo
*.target.mk
*.targets
*.user
*.vcproj
@ -20,47 +21,160 @@
*.vpwhistu
*.vtg
*.xcodeproj
*_proto.xml
*_proto_cpp.xml
*~
.*.sw?
.DS_Store
.classpath
.cproject
.gdb_history
.gdbinit
.landmines
.metadata
.project
.pydevproject
.settings
/build
/chromium_deps
/gyp-mac-tool
.sw?
/Makefile
/base
/build
/buildtools
/chromium/.gclient.tmp
/chromium/.gclient.tmp_entries
/chromium/.last_sync_chromium
/chromium/_bad_scm
/chromium/src
/google_apis
/gyp-mac-tool
/links
/links.db
/net
/out
/resources
/src/supplement.gypi
/resources/**/*.aecdump
/resources/**/*.bin
/resources/**/*.chn
/resources/**/*.dat
/resources/**/*.gai
/resources/**/*.jpg
/resources/**/*.pcap
/resources/**/*.pcm
/resources/**/*.rtp
/resources/**/*.rx
/resources/**/*.wav
/resources/**/*.yuv
/resources/**/*.BIT*
/resources/**/*.INP
/resources/**/*.OUT*
/talk/examples/android/bin
/talk/examples/android/gen
/talk/examples/android/libs
/talk/examples/android/local.properties
/talk/examples/android/obj
/talk/examples/android/proguard-project.txt
/talk/examples/androidtests/bin
/talk/examples/androidtests/gen
/talk/app/webrtc/androidtests/bin
/talk/app/webrtc/androidtests/gen
/talk/app/webrtc/androidtests/libs
/testing
/third_party/WebKit/Tools/Scripts
/third_party/android_platform
/third_party/android_testrunner
/third_party/android_tools
/third_party/appurify-python
/third_party/asan
/third_party/ashmem
/third_party/binutils
/third_party/boringssl
/third_party/BUILD.gn
/third_party/clang_format
/third_party/class-dump
/third_party/colorama
/third_party/cygwin
/third_party/directxsdk
/third_party/drmemory
/third_party/expat
/third_party/gaeunit
/third_party/gold
/third_party/google-gflags/src
/third_party/gflags/src
/third_party/google-visualization-python
/third_party/icu
/third_party/instrumented_libraries
/third_party/ijar
/third_party/jsoncpp
/third_party/jsr-305
/third_party/junit
/third_party/junit-jar
/third_party/libc++
/third_party/libc++abi
/third_party/libevent
/third_party/libjingle
/third_party/libjpeg
/third_party/libjpeg_turbo
/third_party/libsrtp
/third_party/libvpx
/third_party/libvpx_new
/third_party/libxml
/third_party/libudev
/third_party/libyuv
/third_party/llvm
/third_party/llvm-build
/third_party/lss
/third_party/mockito
/third_party/modp_b64
/third_party/nss
/third_party/oauth2
/third_party/ocmock
/third_party/openmax_dl
/third_party/opus
/third_party/proguard
/third_party/protobuf
/third_party/requests
/third_party/robolectric
/third_party/sqlite
/third_party/syzygy
/third_party/usrsctp
/third_party/valgrind
/third_party/WebKit
/third_party/winsdk_samples/src
/third_party/yasm
/third_party/zlib
/tools/android
/tools/clang
/tools/find_depot_tools.py
/tools/generate_library_loader
/tools/gn
/tools/grit
/tools/gyp
/tools/isolate_driver.py
/tools/memory
/tools/protoc_wrapper
/tools/python
/tools/relocation_packer
/tools/sanitizer_options
/tools/swarming_client
/tools/tsan_suppressions
/tools/valgrind
/tools/vim
/tools/win
/tools/xdisplaycheck
/tools/whitespace.txt
/webrtc/examples/android/media_demo/bin
/webrtc/examples/android/media_demo/gen
/webrtc/examples/android/media_demo/libs
/webrtc/examples/android/media_demo/local.properties
/webrtc/examples/android/media_demo/obj
/webrtc/examples/android/media_demo/proguard-project.txt
/webrtc/examples/android/opensl_loopback/bin
/webrtc/examples/android/opensl_loopback/gen
/webrtc/examples/android/opensl_loopback/libs
/webrtc/examples/android/opensl_loopback/local.properties
/webrtc/examples/android/opensl_loopback/obj
/webrtc/examples/android/opensl_loopback/proguard-project.txt
/webrtc/modules/audio_device/android/test/bin/
/webrtc/modules/audio_device/android/test/gen/
/webrtc/modules/audio_device/android/test/libs/
/webrtc/video_engine/test/android/bin
/webrtc/video_engine/test/android/gen
/webrtc/video_engine/test/android/libs
/webrtc/video_engine/test/android/obj
/x86-generic_out/
/xcodebuild

47
.gn Normal file
View File

@ -0,0 +1,47 @@
# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
# The location of the build configuration file.
buildconfig = "//build/config/BUILDCONFIG.gn"
# The secondary source root is a parallel directory tree where
# GN build files are placed when they can not be placed directly
# in the source tree, e.g. for third party source trees.
secondary_source = "//build/secondary/"
# These are the targets to check headers for by default. The files in targets
# matching these patterns (see "gn help label_pattern" for format) will have
# their includes checked for proper dependencies when you run either
# "gn check" or "gn gen --check".
check_targets = [ "//webrtc/*" ]
# These are the list of GN files that run exec_script. This whitelist exists
# to force additional review for new uses of exec_script, which is strongly
# discouraged except for gypi_to_gn calls.
exec_script_whitelist = [
"//build/config/android/BUILD.gn",
"//build/config/android/config.gni",
"//build/config/android/internal_rules.gni",
"//build/config/android/rules.gni",
"//build/config/compiler/BUILD.gn",
"//build/config/gcc/gcc_version.gni",
"//build/config/ios/ios_sdk.gni",
"//build/config/linux/BUILD.gn",
"//build/config/linux/pkg_config.gni",
"//build/config/mac/mac_sdk.gni",
"//build/config/posix/BUILD.gn",
"//build/config/win/visual_studio_version.gni",
"//build/gn_helpers.py",
"//build/gypi_to_gn.py",
"//build/toolchain/gcc_toolchain.gni",
"//build/toolchain/mac/BUILD.gn",
"//build/toolchain/win/BUILD.gn",
"//third_party/boringssl/BUILD.gn",
"//third_party/opus/BUILD.gn",
"//webrtc/modules/video_render/BUILD.gn",
]

44
AUTHORS
View File

@ -1,8 +1,46 @@
# Names should be added to this file like so:
# Name or Organization <email address>
Google Inc.
Mozilla Foundation
Anil Kumar <an1kumar@gmail.com>
Ben Strong <bstrong@gmail.com>
Petar Jovanovic <petarj@mips.com>
Bob Withers <bwit@pobox.com>
Bridger Maxwell <bridgeyman@gmail.com>
Christophe Dumez <ch.dumez@samsung.com>
Colin Plumb
Eric Rescorla, RTFM Inc. <ekr@rtfm.com>
Giji Gangadharan <giji.g@samsung.com>
Graham Yoakum <gyoakum@skobalt.com>
Jake Hilton <jakehilton@gmail.com>
James H. Brown <jbrown@burgoyne.com>
Jiawei Ou <jiawei.ou@gmail.com>
Jie Mao <maojie0924@gmail.com>
Luke Weber <luke.weber@gmail.com>
Manish Jethani <manish.jethani@gmail.com>
Martin Storsjo <martin@martin.st>
Matthias Liebig <matthias.gcode@gmail.com>
Pali Rohar
Paul Kapustin <pkapustin@gmail.com>
Rafael Lopez Diez <rafalopezdiez@gmail.com>
Ralph Giles <giles@ghostscript.com>
Robert Nagy <robert.nagy@gmail.com>
Ryan Yoakum <ryoakum@skobalt.com>
Sarah Thompson <sarah@telergy.com>
Saul Kravitz <Saul.Kravitz@celera.com>
Silviu Caragea <silviu.cpp@gmail.com>
Steve Reid <sreid@sea-to-sky.net>
Vicken Simonian <vsimon@gmail.com>
Victor Costan <costan@gmail.com>
&yet LLC
ARM Holdings
BroadSoft Inc.
Google Inc.
Intel Corporation
MIPS Technologies
Mozilla Foundation
Opera Software ASA
Sinch AB
struktur AG
Telenor Digital AS
Temasys Communications
Vonage Holdings Corp.

View File

@ -16,16 +16,23 @@ LOCAL_MODULE := libwebrtc_audio_preprocessing
LOCAL_MODULE_TAGS := optional
LOCAL_WHOLE_STATIC_LIBRARIES := \
libwebrtc_spl \
libwebrtc_resampler \
libwebrtc_apm \
libwebrtc_apm_utility \
libwebrtc_vad \
libwebrtc_ns \
libwebrtc_agc \
libwebrtc_aec \
libwebrtc_aecm \
libwebrtc_system_wrappers
libwebrtc_agc \
libwebrtc_apm \
libwebrtc_apm_utility \
libwebrtc_apvad \
libwebrtc_base \
libwebrtc_beamformer \
libwebrtc_common \
libwebrtc_intell \
libwebrtc_isac \
libwebrtc_resampler \
libwebrtc_ns \
libwebrtc_spl \
libwebrtc_system_wrappers \
libwebrtc_transient \
libwebrtc_vad \
# Add Neon libraries.
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
@ -39,7 +46,6 @@ LOCAL_SHARED_LIBRARIES := \
libdl \
libprotobuf-cpp-lite \
include $(BUILD_SHARED_LIBRARY)
@ -51,10 +57,15 @@ LOCAL_MODULE := libwebrtc_audio_coding
LOCAL_MODULE_TAGS := optional
LOCAL_WHOLE_STATIC_LIBRARIES := \
libwebrtc_base \
libwebrtc_common \
libwebrtc_intell \
libwebrtc_isac \
libwebrtc_isacfix \
libwebrtc_resampler \
libwebrtc_spl \
libwebrtc_system_wrappers
libwebrtc_system_wrappers \
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
LOCAL_WHOLE_STATIC_LIBRARIES_arm += \
libwebrtc_isacfix_neon
@ -65,7 +76,6 @@ LOCAL_SHARED_LIBRARIES := \
libcutils \
libdl \
include $(BUILD_SHARED_LIBRARY)
@ -88,10 +98,6 @@ endif
LOCAL_STATIC_LIBRARIES := \
libprotobuf-cpp-lite
LOCAL_SHARED_LIBRARIES := \
libcutils \
libdl
LOCAL_NDK_STL_VARIANT := gnustl_static
LOCAL_SDK_VERSION := 14
@ -100,22 +106,28 @@ include $(BUILD_STATIC_LIBRARY)
webrtc_path := $(LOCAL_PATH)
# voice
include $(webrtc_path)/src/common_audio/resampler/Android.mk
include $(webrtc_path)/src/common_audio/signal_processing/Android.mk
include $(webrtc_path)/src/common_audio/vad/Android.mk
include $(webrtc_path)/src/modules/audio_coding/codecs/isac/fix/source/Android.mk
include $(webrtc_path)/src/modules/audio_coding/codecs/isac/main/source/Android.mk
include $(webrtc_path)/src/modules/audio_processing/aec/Android.mk
include $(webrtc_path)/src/modules/audio_processing/aecm/Android.mk
include $(webrtc_path)/src/modules/audio_processing/agc/Android.mk
include $(webrtc_path)/src/modules/audio_processing/Android.mk
include $(webrtc_path)/src/modules/audio_processing/ns/Android.mk
include $(webrtc_path)/src/modules/audio_processing/utility/Android.mk
include $(webrtc_path)/src/system_wrappers/source/Android.mk
include $(webrtc_path)/webrtc/base/Android.mk
include $(webrtc_path)/webrtc/common_audio/Android.mk
include $(webrtc_path)/webrtc/common_audio/resampler/Android.mk
include $(webrtc_path)/webrtc/common_audio/signal_processing/Android.mk
include $(webrtc_path)/webrtc/common_audio/vad/Android.mk
include $(webrtc_path)/webrtc/modules/audio_coding/codecs/isac/fix/source/Android.mk
include $(webrtc_path)/webrtc/modules/audio_coding/codecs/isac/main/source/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/aec/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/aecm/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/agc/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/beamformer/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/intelligibility/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/ns/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/transient/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/utility/Android.mk
include $(webrtc_path)/webrtc/modules/audio_processing/vad/Android.mk
include $(webrtc_path)/webrtc/system_wrappers/source/Android.mk
# libwebrtc_audio_coding_gnustl_static dependencies
WEBRTC_STL := gnustl_static
include $(webrtc_path)/src/system_wrappers/source/Android.mk
include $(webrtc_path)/src/modules/audio_coding/codecs/isac/fix/source/Android.mk
include $(webrtc_path)/src/modules/audio_coding/codecs/isac/main/source/Android.mk
include $(webrtc_path)/src/common_audio/signal_processing/Android.mk
include $(webrtc_path)/webrtc/system_wrappers/source/Android.mk
include $(webrtc_path)/webrtc/modules/audio_coding/codecs/isac/fix/source/Android.mk
include $(webrtc_path)/webrtc/modules/audio_coding/codecs/isac/main/source/Android.mk
include $(webrtc_path)/webrtc/common_audio/signal_processing/Android.mk

14
BUILD.gn Normal file
View File

@ -0,0 +1,14 @@
# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
# This file is copied and modified from Chromium (src/BUILD.gn).
group("root") {
deps = [
"//webrtc",
]
}

1
COPYING Normal file
View File

@ -0,0 +1 @@
Refer to talk/COPYING.

198
DEPS
View File

@ -1,138 +1,116 @@
use_relative_paths = True
# This file contains dependencies for WebRTC that are not shared with Chromium.
# If you wish to add a dependency that is present in Chromium's src/DEPS or a
# directory from the Chromium checkout, you should add it to setup_links.py
# instead.
vars = {
# Override root_dir in your .gclient's custom_vars to specify a custom root
# folder name.
"root_dir": "trunk",
"extra_gyp_flag": "-Dextra_gyp_flag=0",
# Use this googlecode_url variable only if there is an internal mirror for it.
# If you do not know, use the full path while defining your new deps entry.
"googlecode_url": "http://%s.googlecode.com/svn",
"chromium_trunk" : "http://src.chromium.org/svn/trunk",
"chromium_revision": "152335",
# External resources like video and audio files used for testing purposes.
# Downloaded on demand when needed.
"webrtc_resources_revision": "10",
'extra_gyp_flag': '-Dextra_gyp_flag=0',
'chromium_git': 'https://chromium.googlesource.com',
'chromium_revision': '657e8d9a9139da0735d73fc0fc6d90a05f980319',
}
# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
# https; the latter can cause problems for users behind proxies.
deps = {
"../chromium_deps":
File(Var("chromium_trunk") + "/src/DEPS@" + Var("chromium_revision")),
# When rolling gflags, also update
# https://chromium.googlesource.com/chromium/deps/webrtc/webrtc.DEPS
'src/third_party/gflags/src':
Var('chromium_git') + '/external/gflags/src@e7390f9185c75f8d902c05ed7d20bb94eb914d0c', # from svn revision 82
"build":
Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),
"testing":
Var("chromium_trunk") + "/src/testing@" + Var("chromium_revision"),
"testing/gmock":
From("chromium_deps", "src/testing/gmock"),
"testing/gtest":
From("chromium_deps", "src/testing/gtest"),
"third_party/expat":
Var("chromium_trunk") + "/src/third_party/expat@" + Var("chromium_revision"),
"third_party/google-gflags/src":
(Var("googlecode_url") % "google-gflags") + "/trunk/src@45",
"third_party/libjpeg":
Var("chromium_trunk") + "/src/third_party/libjpeg@" + Var("chromium_revision"),
"third_party/libjpeg_turbo":
From("chromium_deps", "src/third_party/libjpeg_turbo"),
"third_party/libvpx/source/libvpx":
"http://git.chromium.org/webm/libvpx.git@c522217d",
"third_party/libyuv":
(Var("googlecode_url") % "libyuv") + "/trunk@338",
"third_party/protobuf":
Var("chromium_trunk") + "/src/third_party/protobuf@" + Var("chromium_revision"),
"third_party/yasm":
Var("chromium_trunk") + "/src/third_party/yasm@" + Var("chromium_revision"),
"third_party/yasm/source/patched-yasm":
From("chromium_deps", "src/third_party/yasm/source/patched-yasm"),
"tools/clang":
Var("chromium_trunk") + "/src/tools/clang@" + Var("chromium_revision"),
"tools/gyp":
From("chromium_deps", "src/tools/gyp"),
"tools/python":
Var("chromium_trunk") + "/src/tools/python@" + Var("chromium_revision"),
"tools/valgrind":
Var("chromium_trunk") + "/src/tools/valgrind@" + Var("chromium_revision"),
# Needed by build/common.gypi.
"tools/win/supalink":
Var("chromium_trunk") + "/src/tools/win/supalink@" + Var("chromium_revision"),
'src/third_party/junit-jar':
Var('chromium_git') + '/external/webrtc/deps/third_party/junit@f35596b476aa6e62fd3b3857b9942ddcd13ce35e', # from svn revision 3367
}
deps_os = {
"win": {
# Use our own, stripped down, version of Cygwin (required by GYP).
"third_party/cygwin":
(Var("googlecode_url") % "webrtc") + "/deps/third_party/cygwin@2672",
# Used by libjpeg-turbo.
"third_party/yasm/binaries":
From("chromium_deps", "src/third_party/yasm/binaries"),
},
"unix": {
"third_party/gold":
From("chromium_deps", "src/third_party/gold"),
'win': {
'src/third_party/winsdk_samples/src':
Var('chromium_git') + '/external/webrtc/deps/third_party/winsdk_samples_v71@c0cbedd854cb610a53226d9817416c4ab9a7d1e9', # from svn revision 7951
},
}
# Define rules for which include paths are allowed in our source.
include_rules = [
# Base is only used to build Android APK tests and may not be referenced by
# WebRTC production code.
'-base',
'-chromium',
'+external/webrtc/webrtc', # Android platform build.
'+gflags',
'+libyuv',
'+net',
'+talk',
'+testing',
'+third_party',
'+unicode',
'+webrtc',
'+vpx',
]
hooks = [
{
# Create a supplement.gypi file under trunk/src. This file will be picked
# up by gyp and used to enable the standalone build.
"pattern": ".",
"action": ["python", Var("root_dir") + "/tools/create_supplement_gypi.py",
Var("root_dir") + "/src/supplement.gypi"],
# Check for legacy named top-level dir (named 'trunk').
'name': 'check_root_dir_name',
'pattern': '.',
'action': ['python','-c',
('import os,sys;'
'script = os.path.join("trunk","check_root_dir.py");'
'_ = os.system("%s %s" % (sys.executable,script)) '
'if os.path.exists(script) else 0')],
},
{
# Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
# zero seconds to run. If something changed, it downloads a prebuilt clang.
"pattern": ".",
"action": ["python", Var("root_dir") + "/tools/clang/scripts/update.py",
"--mac-only"],
# Clone chromium and its deps.
'name': 'sync chromium',
'pattern': '.',
'action': ['python', '-u', 'src/sync_chromium.py',
'--target-revision', Var('chromium_revision')],
},
{
# Update the cygwin mount on Windows.
# This is necessary to get the correct mapping between e.g. /bin and the
# cygwin path on Windows. Without it we can't run bash scripts in actions.
# Ideally this should be solved in "pylib/gyp/msvs_emulation.py".
"pattern": ".",
"action": ["python", Var("root_dir") + "/build/win/setup_cygwin_mount.py",
"--win-only"],
# Create links to shared dependencies in Chromium.
'name': 'setup_links',
'pattern': '.',
'action': ['python', 'src/setup_links.py'],
},
{
# Download test resources, i.e. video and audio files. If the latest
# version is already downloaded, this takes zero seconds to run.
# If a newer version or no current download exists, it will download
# the resources and extract them.
"pattern": ".",
"action": ["python", Var("root_dir") + "/tools/resources/update.py"],
# This clobbers when necessary (based on get_landmines.py). It should be
# an early hook but it will need to be run after syncing Chromium and
# setting up the links, so the script actually exists.
'name': 'landmines',
'pattern': '.',
'action': [
'python',
'src/build/landmines.py',
'--landmine-scripts',
'src/webrtc/build/get_landmines.py',
'--src-dir',
'src',
],
},
{
# Pull sanitizer-instrumented third-party libraries if requested via
# GYP_DEFINES. This could be done as part of sync_chromium.py above
# but then we would need to run all the Chromium hooks each time,
# which will slow things down a lot.
'name': 'instrumented_libraries',
'pattern': '\\.sha1',
'action': ['python', 'src/third_party/instrumented_libraries/scripts/download_binaries.py'],
},
{
# Download test resources, i.e. video and audio files from Google Storage.
'pattern': '.',
'action': ['download_from_google_storage',
'--directory',
'--recursive',
'--num_threads=10',
'--no_auth',
'--bucket', 'chromium-webrtc-resources',
'src/resources'],
},
{
# A change to a .gyp, .gypi, or to GYP itself should run the generator.
"pattern": ".",
"action": ["python", Var("root_dir") + "/build/gyp_chromium",
"--depth=" + Var("root_dir"), Var("root_dir") + "/webrtc.gyp",
Var("extra_gyp_flag")],
'name': 'gyp',
'pattern': '.',
'action': ['python', 'src/webrtc/build/gyp_webrtc',
Var('extra_gyp_flag')],
},
]

View File

@ -1 +1 @@
Refer to src/LICENSE.
Refer to webrtc/LICENSE.

View File

@ -1 +1 @@
Refer to src/LICENSE_THIRD_PARTY.
Refer to webrtc/LICENSE_THIRD_PARTY and talk/LICENSE_THIRD_PARTY.

14
OWNERS
View File

@ -1,5 +1,15 @@
henrika@webrtc.org
niklas.enbom@webrtc.org
andrew@webrtc.org
henrika@webrtc.org
mflodman@webrtc.org
niklas.enbom@webrtc.org
tina.legrand@webrtc.org
tommi@webrtc.org
per-file .gitignore=*
per-file AUTHORS=*
per-file .gn=kjellander@webrtc.org
per-file BUILD.gn=kjellander@webrtc.org
per-file DEPS=*
per-file PRESUBMIT.py=kjellander@webrtc.org
per-file setup_links.py=*
per-file sync_chromium.py=kjellander@webrtc.org
per-file WATCHLISTS=*

274
PRESUBMIT.py Normal file → Executable file
View File

@ -6,32 +6,13 @@
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
import os.path
import json
import os
import platform
import re
import subprocess
import sys
# All folders in LINT_FOLDERS will be scanned by cpplint by the presubmit
# script. Note that subfolders are not included.
LINT_FOLDERS = ['src/video_engine']
def _LicenseHeader(input_api):
"""Returns the license header regexp."""
# Accept any year number from 2011 to the current year
current_year = int(input_api.time.strftime('%Y'))
allowed_years = (str(s) for s in reversed(xrange(2011, current_year + 1)))
years_re = '(' + '|'.join(allowed_years) + ')'
license_header = (
r'.*? Copyright \(c\) %(year)s The WebRTC project authors\. '
r'All Rights Reserved\.\n'
r'.*?\n'
r'.*? Use of this source code is governed by a BSD-style license\n'
r'.*? that can be found in the LICENSE file in the root of the source\n'
r'.*? tree\. An additional intellectual property rights grant can be '
r'found\n'
r'.*? in the file PATENTS\. All contributing project authors may\n'
r'.*? be found in the AUTHORS file in the root of the source tree\.\n'
) % {
'year': years_re,
}
return license_header
def _CheckNoIOStreamInHeaders(input_api, output_api):
"""Checks to make sure no .h files include <iostream>."""
@ -53,6 +34,7 @@ def _CheckNoIOStreamInHeaders(input_api, output_api):
files)]
return []
def _CheckNoFRIEND_TEST(input_api, output_api):
"""Make sure that gtest's FRIEND_TEST() macro is not used, the
FRIEND_TEST_ALL_PREFIXES() macro from testsupport/gtest_prod_util.h should be
@ -71,10 +53,6 @@ def _CheckNoFRIEND_TEST(input_api, output_api):
'gtest\'s FRIEND_TEST() macro. Include testsupport/gtest_prod_util.h and '
'use FRIEND_TEST_ALL_PREFIXES() instead.\n' + '\n'.join(problems))]
def _IsLintWhitelisted(file_name):
""" Checks if a file is whitelisted for lint check."""
# TODO(mflodman) Include subfolders in the check.
return (os.path.dirname(file_name) in LINT_FOLDERS)
def _CheckApprovedFilesLintClean(input_api, output_api,
source_file_filter=None):
@ -104,8 +82,8 @@ def _CheckApprovedFilesLintClean(input_api, output_api,
verbosity_level = 1
files = []
for f in input_api.AffectedSourceFiles(source_file_filter):
# Note that moved/renamed files also count as added for svn.
if (f.Action() == 'A' or _IsLintWhitelisted(f.LocalPath())):
# Note that moved/renamed files also count as added.
if f.Action() == 'A':
files.append(f.AbsoluteLocalPath())
for file_name in files:
@ -122,12 +100,205 @@ def _CheckApprovedFilesLintClean(input_api, output_api,
return result
def _CheckNoRtcBaseDeps(input_api, gyp_files, output_api):
pattern = input_api.re.compile(r"base.gyp:rtc_base\s*'")
violating_files = []
for f in gyp_files:
gyp_exceptions = (
'base_tests.gyp',
'desktop_capture.gypi',
'libjingle.gyp',
'libjingle_tests.gyp',
'p2p.gyp',
'sound.gyp',
'webrtc_test_common.gyp',
'webrtc_tests.gypi',
)
if f.LocalPath().endswith(gyp_exceptions):
continue
contents = input_api.ReadFile(f)
if pattern.search(contents):
violating_files.append(f)
if violating_files:
return [output_api.PresubmitError(
'Depending on rtc_base is not allowed. Change your dependency to '
'rtc_base_approved and possibly sanitize and move the desired source '
'file(s) to rtc_base_approved.\nChanged GYP files:',
items=violating_files)]
return []
def _CheckNoSourcesAboveGyp(input_api, gyp_files, output_api):
# Disallow referencing source files with paths above the GYP file location.
source_pattern = input_api.re.compile(r'sources.*?\[(.*?)\]',
re.MULTILINE | re.DOTALL)
file_pattern = input_api.re.compile(r"'((\.\./.*?)|(<\(webrtc_root\).*?))'")
violating_gyp_files = set()
violating_source_entries = []
for gyp_file in gyp_files:
contents = input_api.ReadFile(gyp_file)
for source_block_match in source_pattern.finditer(contents):
# Find all source list entries starting with ../ in the source block
# (exclude overrides entries).
for file_list_match in file_pattern.finditer(source_block_match.group(0)):
source_file = file_list_match.group(0)
if 'overrides/' not in source_file:
violating_source_entries.append(source_file)
violating_gyp_files.add(gyp_file)
if violating_gyp_files:
return [output_api.PresubmitError(
'Referencing source files above the directory of the GYP file is not '
'allowed. Please introduce new GYP targets and/or GYP files in the '
'proper location instead.\n'
'Invalid source entries:\n'
'%s\n'
'Violating GYP files:' % '\n'.join(violating_source_entries),
items=violating_gyp_files)]
return []
def _CheckGypChanges(input_api, output_api):
source_file_filter = lambda x: input_api.FilterSourceFile(
x, white_list=(r'.+\.(gyp|gypi)$',))
gyp_files = []
for f in input_api.AffectedSourceFiles(source_file_filter):
if f.LocalPath().startswith('webrtc'):
gyp_files.append(f)
result = []
if gyp_files:
result.append(output_api.PresubmitNotifyResult(
'As you\'re changing GYP files: please make sure corresponding '
'BUILD.gn files are also updated.\nChanged GYP files:',
items=gyp_files))
result.extend(_CheckNoRtcBaseDeps(input_api, gyp_files, output_api))
result.extend(_CheckNoSourcesAboveGyp(input_api, gyp_files, output_api))
return result
def _CheckUnwantedDependencies(input_api, output_api):
"""Runs checkdeps on #include statements added in this
change. Breaking - rules is an error, breaking ! rules is a
warning.
"""
# Copied from Chromium's src/PRESUBMIT.py.
# We need to wait until we have an input_api object and use this
# roundabout construct to import checkdeps because this file is
# eval-ed and thus doesn't have __file__.
original_sys_path = sys.path
try:
checkdeps_path = input_api.os_path.join(input_api.PresubmitLocalPath(),
'buildtools', 'checkdeps')
if not os.path.exists(checkdeps_path):
return [output_api.PresubmitError(
'Cannot find checkdeps at %s\nHave you run "gclient sync" to '
'download Chromium and setup the symlinks?' % checkdeps_path)]
sys.path.append(checkdeps_path)
import checkdeps
from cpp_checker import CppChecker
from rules import Rule
finally:
# Restore sys.path to what it was before.
sys.path = original_sys_path
added_includes = []
for f in input_api.AffectedFiles():
if not CppChecker.IsCppFile(f.LocalPath()):
continue
changed_lines = [line for _, line in f.ChangedContents()]
added_includes.append([f.LocalPath(), changed_lines])
deps_checker = checkdeps.DepsChecker(input_api.PresubmitLocalPath())
error_descriptions = []
warning_descriptions = []
for path, rule_type, rule_description in deps_checker.CheckAddedCppIncludes(
added_includes):
description_with_path = '%s\n %s' % (path, rule_description)
if rule_type == Rule.DISALLOW:
error_descriptions.append(description_with_path)
else:
warning_descriptions.append(description_with_path)
results = []
if error_descriptions:
results.append(output_api.PresubmitError(
'You added one or more #includes that violate checkdeps rules.',
error_descriptions))
if warning_descriptions:
results.append(output_api.PresubmitPromptOrNotify(
'You added one or more #includes of files that are temporarily\n'
'allowed but being removed. Can you avoid introducing the\n'
'#include? See relevant DEPS file(s) for details and contacts.',
warning_descriptions))
return results
def _RunPythonTests(input_api, output_api):
def join(*args):
return input_api.os_path.join(input_api.PresubmitLocalPath(), *args)
test_directories = [
join('tools', 'autoroller', 'unittests'),
]
tests = []
for directory in test_directories:
tests.extend(
input_api.canned_checks.GetUnitTestsInDirectory(
input_api,
output_api,
directory,
whitelist=[r'.+_test\.py$']))
return input_api.RunTests(tests, parallel=True)
def _CommonChecks(input_api, output_api):
"""Checks common to both upload and commit."""
# TODO(kjellander): Use presubmit_canned_checks.PanProjectChecks too.
results = []
results.extend(input_api.canned_checks.RunPylint(input_api, output_api,
black_list=(r'^.*gviz_api\.py$',
r'^.*gaeunit\.py$',
# Embedded shell-script fakes out pylint.
r'^build[\\\/].*\.py$',
r'^buildtools[\\\/].*\.py$',
r'^chromium[\\\/].*\.py$',
r'^google_apis[\\\/].*\.py$',
r'^net.*[\\\/].*\.py$',
r'^out.*[\\\/].*\.py$',
r'^testing[\\\/].*\.py$',
r'^third_party[\\\/].*\.py$',
r'^tools[\\\/]find_depot_tools.py$',
r'^tools[\\\/]clang[\\\/].*\.py$',
r'^tools[\\\/]generate_library_loader[\\\/].*\.py$',
r'^tools[\\\/]gn[\\\/].*\.py$',
r'^tools[\\\/]gyp[\\\/].*\.py$',
r'^tools[\\\/]isolate_driver.py$',
r'^tools[\\\/]protoc_wrapper[\\\/].*\.py$',
r'^tools[\\\/]python[\\\/].*\.py$',
r'^tools[\\\/]python_charts[\\\/]data[\\\/].*\.py$',
r'^tools[\\\/]refactoring[\\\/].*\.py$',
r'^tools[\\\/]swarming_client[\\\/].*\.py$',
r'^tools[\\\/]vim[\\\/].*\.py$',
# TODO(phoglund): should arguably be checked.
r'^tools[\\\/]valgrind-webrtc[\\\/].*\.py$',
r'^tools[\\\/]valgrind[\\\/].*\.py$',
r'^tools[\\\/]win[\\\/].*\.py$',
r'^xcodebuild.*[\\\/].*\.py$',),
disabled_warnings=['F0401', # Failed to import x
'E0611', # No package y in x
'W0232', # Class has no __init__ method
],
pylintrc='pylintrc'))
# WebRTC can't use the presubmit_canned_checks.PanProjectChecks function since
# we need to have different license checks in talk/ and webrtc/ directories.
# Instead, hand-picked checks are included below.
# Skip long-lines check for DEPS, GN and GYP files.
long_lines_sources = lambda x: input_api.FilterSourceFile(x,
black_list=(r'.+\.gyp$', r'.+\.gypi$', r'.+\.gn$', r'.+\.gni$', 'DEPS'))
results.extend(input_api.canned_checks.CheckLongLines(
input_api, output_api))
input_api, output_api, maxlen=80, source_file_filter=long_lines_sources))
results.extend(input_api.canned_checks.CheckChangeHasNoTabs(
input_api, output_api))
results.extend(input_api.canned_checks.CheckChangeHasNoStrayWhitespace(
@ -135,17 +306,22 @@ def _CommonChecks(input_api, output_api):
results.extend(input_api.canned_checks.CheckChangeTodoHasOwner(
input_api, output_api))
results.extend(_CheckApprovedFilesLintClean(input_api, output_api))
results.extend(input_api.canned_checks.CheckLicense(
input_api, output_api, _LicenseHeader(input_api)))
results.extend(_CheckNoIOStreamInHeaders(input_api, output_api))
results.extend(_CheckNoFRIEND_TEST(input_api, output_api))
results.extend(_CheckGypChanges(input_api, output_api))
results.extend(_CheckUnwantedDependencies(input_api, output_api))
results.extend(_RunPythonTests(input_api, output_api))
return results
def CheckChangeOnUpload(input_api, output_api):
results = []
results.extend(_CommonChecks(input_api, output_api))
results.extend(
input_api.canned_checks.CheckGNFormatted(input_api, output_api))
return results
def CheckChangeOnCommit(input_api, output_api):
results = []
results.extend(_CommonChecks(input_api, output_api))
@ -158,4 +334,32 @@ def CheckChangeOnCommit(input_api, output_api):
input_api, output_api))
results.extend(input_api.canned_checks.CheckChangeHasTestField(
input_api, output_api))
results.extend(input_api.canned_checks.CheckTreeIsOpen(
input_api, output_api,
json_url='http://webrtc-status.appspot.com/current?format=json'))
return results
# pylint: disable=W0613
def GetPreferredTryMasters(project, change):
cq_config_path = os.path.join(
change.RepositoryRoot(), 'infra', 'config', 'cq.cfg')
# commit_queue.py below is a script in depot_tools directory, which has a
# 'builders' command to retrieve a list of CQ builders from the CQ config.
is_win = platform.system() == 'Windows'
masters = json.loads(subprocess.check_output(
['commit_queue', 'builders', cq_config_path], shell=is_win))
try_config = {}
for master in masters:
try_config.setdefault(master, {})
for builder in masters[master]:
if 'presubmit' in builder:
# Do not trigger presubmit builders, since they're likely to fail
# (e.g. OWNERS checks before finished code review), and we're running
# local presubmit anyway.
pass
else:
try_config[master][builder] = ['defaulttests']
return try_config

23
README.md Normal file
View File

@ -0,0 +1,23 @@
**WebRTC is a free, open software project** that provides browsers and mobile
applications with Real-Time Communications (RTC) capabilities via simple APIs.
The WebRTC components have been optimized to best serve this purpose.
**Our mission:** To enable rich, high-quality RTC applications to be
developed for the browser, mobile platforms, and IoT devices, and allow them
all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera,
amongst others. This page is maintained by the Google Chrome team.
### Development
See http://www.webrtc.org/native-code/development for instructions on how to get
started developing with the native code.
### More info
* Official web site: http://www.webrtc.org
* Master source code repo: https://chromium.googlesource.com/external/webrtc
* Samples and reference apps: https://github.com/webrtc
* Mailing list: http://groups.google.com/group/discuss-webrtc
* Continuous build: http://build.chromium.org/p/client.webrtc

View File

@ -14,17 +14,17 @@
'this_file': {
'filepath': '^WATCHLISTS$',
},
'all_src': {
'filepath': 'src/.*',
'all_webrtc': {
# NOTE: if you like this you might like webrtc-reviews@webrtc.org!
'filepath': 'webrtc/.*',
},
'root_files': {
# src/build/ and non-recursive contents of ./ and src/
'filepath': '^[^/]*$|src/[^/]*$|src/build/.*',
# webrtc/build/ and non-recursive contents of ./ and webrtc/
'filepath': '^[^/]*$|webrtc/[^/]*$|webrtc/build/.*',
},
'documented_interfaces': {
'filepath': 'src/[^/]*\.h$|'\
'src/video_engine/main/interface/.*|'\
'src/voice_engine/main/interface/.*',
'filepath': 'webrtc/[^/]*\.h$|'\
'webrtc/voice_engine/include/.*',
},
'build_files': {
'filepath': '\.gyp$|\.gypi$|Android\.mk$',
@ -33,82 +33,115 @@
'filepath': '\.java$|\.xml$',
},
'video_engine': {
'filepath': 'src/video_engine/.*',
'filepath': 'webrtc/video_engine/.*|'\
'webrtc/video/.*',
},
'voice_engine': {
'filepath': 'src/voice_engine/.*',
'filepath': 'webrtc/voice_engine/.*',
},
'common_audio': {
'filepath': 'src/common_audio/.*',
'filepath': 'webrtc/common_audio/.*',
},
'common_video': {
'filepath': 'webrtc/common_video/.*',
},
'video_capture': {
'filepath': 'src/modules/video_capture/.*',
'filepath': 'webrtc/modules/video_capture/.*',
},
'video_render': {
'filepath': 'src/modules/video_render/.*',
'filepath': 'webrtc/modules/video_render/.*',
},
'audio_device': {
'filepath': 'src/modules/audio_device/.*',
'filepath': 'webrtc/modules/audio_device/.*',
},
'audio_coding': {
'filepath': 'src/modules/audio_coding/.*',
'filepath': 'webrtc/modules/audio_coding/.*',
},
'neteq': {
'filepath': 'src/modules/audio_coding/neteq/.*',
'filepath': 'webrtc/modules/audio_coding/neteq/.*',
},
'audio_processing': {
'filepath': 'src/modules/audio_processing/.*',
},
'video_codecs': {
'filepath': 'src/modules/video_coding/codecs/.*',
'filepath': 'webrtc/modules/audio_processing/.*',
},
'video_coding': {
'filepath': 'src/modules/video_coding/.*',
'filepath': 'webrtc/modules/video_coding/.*',
},
'video_processing': {
'filepath': 'webrtc/modules/video_processing/.*',
},
'bitrate_controller': {
'filepath': 'webrtc/modules/bitrate_controller/.*'
},
'remote_bitrate_estimator': {
'filepath': 'webrtc/modules/remote_bitrate_estimator/.*'
},
'pacing': {
'filepath': 'webrtc/modules/pacing/.*'
},
'rtp_rtcp': {
'filepath': 'src/modules/rtp_rtcp/.*'
'filepath': 'webrtc/modules/rtp_rtcp/.*'
},
'system_wrappers': {
'filepath': 'src/system_wrappers/.*',
'filepath': 'webrtc/system_wrappers/.*',
},
},
'WATCHLISTS': {
'this_file': [''],
'all_src': ['tterriberry@mozilla.com',
'giles@mozilla.com'],
'all_webrtc': ['tterriberry@mozilla.com'],
'root_files': ['andrew@webrtc.org',
'niklas.enbom@webrtc.org'],
'niklas.enbom@webrtc.org',
'yujie.mao@webrtc.org',
'qiang.lu@intel.com',
'peah@webrtc.org'],
'documented_interfaces': ['interface-changes@webrtc.org',
'rwolff@gocast.it'],
'build_files': ['leozwang@webrtc.org'],
'java_files': ['leozwang@webrtc.org'],
'common_audio': ['bjornv@webrtc.org',
'andrew@webrtc.org'],
'video_engine': ['mflodman@webrtc.org',
'perkj@webrtc.org'],
'voice_engine': ['henrika@webrtc.org'],
'video_capture': ['mflodman@webrtc.org',
'perkj@webrtc.org',
'leozwang@webrtc.org'],
'video_render': ['mflodman@webrtc.org',
'perkj@webrtc.org',
'leozwang@webrtc.org'],
'audio_device': ['henrika@webrtc.org',
'leozwang@webrtc.org'],
'audio_coding': ['tina.legrand@webrtc.org'],
'neteq': ['henrik.lundin@webrtc.org'],
'audio_processing': ['andrew@webrtc.org',
'common_audio': ['aluebs@webrtc.org',
'andrew@webrtc.org',
'bjornv@webrtc.org',
'leozwang@webrtc.org'],
'video_codecs': ['henrik.lundin@webrtc.org',
'pwestin@webrtc.org'],
'video_coding': ['stefan@webrtc.org'],
'peah@webrtc.org'],
'video_engine': ['andresp@webrtc.org',
'mflodman@webrtc.org',
'perkj@webrtc.org',
'stefan@webrtc.org',
'yujie.mao@webrtc.org',
'solenberg@webrtc.org'],
'voice_engine': ['henrika@webrtc.org',
'henrik.lundin@webrtc.org',
'solenberg@webrtc.org',
'peah@webrtc.org'],
'video_capture': ['mflodman@webrtc.org',
'perkj@webrtc.org'],
'video_render': ['mflodman@webrtc.org',
'perkj@webrtc.org'],
'audio_device': ['henrika@webrtc.org',
'peah@webrtc.org'],
'audio_coding': ['tina.legrand@webrtc.org',
'henrik.lundin@webrtc.org',
'kwiberg@webrtc.org',
'peah@webrtc.org'],
'neteq': ['henrik.lundin@webrtc.org'],
'audio_processing': ['aluebs@webrtc.org',
'andrew@webrtc.org',
'bjornv@webrtc.org',
'kwiberg@webrtc.org',
'henrik.lundin@webrtc.org',
'peah@webrtc.org',
'solenberg@webrtc.org'],
'video_coding': ['stefan@webrtc.org',
'mflodman@webrtc.org'],
'video_processing': ['stefan@webrtc.org'],
'bitrate_controller': ['stefan@webrtc.org',
'mflodman@webrtc.org'],
'remote_bitrate_estimator': ['stefan@webrtc.org',
'mflodman@webrtc.org'],
'pacing': ['stefan@webrtc.org',
'mflodman@webrtc.org'],
'rtp_rtcp': ['mflodman@webrtc.org',
'pwestin@webrtc.org'],
'stefan@webrtc.org'],
'system_wrappers': ['mflodman@webrtc.org',
'henrika@webrtc.org',
'andrew@webrtc.org',
'leozwang@webrtc.org'],
'peah@webrtc.org'],
},
}

39
all.gyp Normal file
View File

@ -0,0 +1,39 @@
# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
{
'variables': {
'include_examples%': 1,
'include_tests%': 1,
'webrtc_root_additional_dependencies': [],
},
'targets': [
{
'target_name': 'All',
'type': 'none',
'dependencies': [
'webrtc/webrtc.gyp:*',
'talk/libjingle.gyp:*',
'<@(webrtc_root_additional_dependencies)',
],
'conditions': [
['include_examples==1', {
'dependencies': [
'webrtc/libjingle_examples.gyp:*',
'webrtc/webrtc_examples.gyp:*',
],
}],
['include_tests==1', {
'dependencies': [
'talk/libjingle_tests.gyp:*',
],
}],
],
},
],
}

View File

@ -9,6 +9,7 @@
# These defines will apply to all source files
# Think again before changing it
MY_WEBRTC_COMMON_DEFS := \
'-DWEBRTC_POSIX' \
'-DWEBRTC_LINUX' \
'-DWEBRTC_THREAD_RR' \
'-DWEBRTC_CLOCK_TYPE_REALTIME' \

1
build_overrides/OWNERS Normal file
View File

@ -0,0 +1 @@
kjellander@webrtc.org

View File

@ -0,0 +1,7 @@
# Build overrides in GN
This directory is used to allow us to customize variables that differ between
WebRTC being built as standalone and as a part of Chromium.
There's another build_overrides in Chromium that needs to contain the same
set of files with the same set of variables (but with different values).

View File

@ -0,0 +1,22 @@
# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
# This file contains overrides to GN variables that applies for the WebRTC
# standalone build (i.e. not in Chromium).
#
# Every variable here needs to be present in the corresponding file in
# build_overrides/ of Chromium.
build_with_chromium = false
# Excluded in Chromium since its prerequisites don't require Pulse Audio.
rtc_include_pulse_audio = true
# Chromium uses its own IO handling, so the internal ADM is only built for
# standalone WebRTC.
rtc_include_internal_audio_device = true

57
check_root_dir.py Executable file
View File

@ -0,0 +1,57 @@
#!/usr/bin/env python
# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
"""Checks for legacy root directory and instructs the user how to upgrade."""
import os
import sys
SOLUTION_ROOT_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)),
os.pardir)
MESSAGE = """\
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
A C T I O N R E Q I R E D
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
It looks like you have a legacy checkout where the solution's top-level
directory is named 'trunk'. From now on, it must be named 'src'.
What you need to do is to:
1. Edit your .gclient file and change the solution name from 'trunk' to 'src'
2. Rename your 'trunk' directory to 'src'
3. Re-run gclient sync (or gclient runhooks)"""
def main():
gclient_filename = os.path.join(SOLUTION_ROOT_DIR, '.gclient')
config_dict = {}
try:
with open(gclient_filename, 'rb') as gclient_file:
exec(gclient_file, config_dict)
for solution in config_dict.get('solutions', []):
if solution['name'] == 'trunk':
print MESSAGE
if solution.get('custom_vars', {}).get('root_dir'):
print ('4. Optional: Remove your "root_dir" entry from the '
'custom_vars dictionary of the solution.')
# Remove the gclient cache file to avoid an error on the next sync.
entries_file = os.path.join(SOLUTION_ROOT_DIR, '.gclient_entries')
if os.path.exists(entries_file):
os.unlink(entries_file)
return 1
return 0
except Exception as e:
print >> sys.stderr, "Error while parsing .gclient: ", e
return 1
if __name__ == '__main__':
sys.exit(main())

24
chromium/.gclient Normal file
View File

@ -0,0 +1,24 @@
solutions = [{
'name': 'src',
'url': 'https://chromium.googlesource.com/chromium/src.git',
'deps_file': '.DEPS.git',
'managed': False,
'custom_deps': {
# Skip syncing some large dependencies WebRTC will never need.
'src/chrome/tools/test/reference_build/chrome_linux': None,
'src/chrome/tools/test/reference_build/chrome_mac': None,
'src/chrome/tools/test/reference_build/chrome_win': None,
'src/native_client': None,
'src/third_party/cld_2/src': None,
'src/third_party/ffmpeg': None,
'src/third_party/hunspell_dictionaries': None,
'src/third_party/liblouis/src': None,
'src/third_party/pdfium': None,
'src/third_party/skia': None,
'src/third_party/trace-viewer': None,
'src/third_party/webrtc': None,
},
'safesync_url': ''
}]
cache_dir = None

1
chromium/OWNERS Normal file
View File

@ -0,0 +1 @@
kjellander@webrtc.org

5
chromium/README Normal file
View File

@ -0,0 +1,5 @@
This .gclient file is used to do download a copy of Chromium.
WebRTC uses the Chromium build toolchain and a number of shared
dependencies by creating symlinks to folders in this checkout,
using the ../setup_links.py script.

View File

@ -1,11 +1,10 @@
# This file is used by gcl to get repository specific information.
CODE_REVIEW_SERVER: webrtc-codereview.appspot.com
#CC_LIST:
#VIEW_VC:
#STATUS:
CODE_REVIEW_SERVER: codereview.webrtc.org
CC_LIST: webrtc-reviews@webrtc.org
VIEW_VC: https://chromium.googlesource.com/external/webrtc/+/
TRY_ON_UPLOAD: False
TRYSERVER_HTTP_HOST: webrtc-cb-linux-master.cbf.corp.google.com
TRYSERVER_HTTP_PORT: 9018
#TRYSERVER_SVN_URL:
#GITCL_PREUPLOAD:
#GITCL_PREDCOMMIT:
TRYSERVER_SVN_URL: svn://svn.chromium.org/chrome-try/try-webrtc
TRYSERVER_PROJECT: webrtc
TRYSERVER_ROOT: src
PROJECT: webrtc
PENDING_REF_PREFIX: refs/pending/

Binary file not shown.

1
infra/OWNERS Normal file
View File

@ -0,0 +1 @@
kjellander@webrtc.org

3
infra/config/OWNERS Normal file
View File

@ -0,0 +1,3 @@
set noparent
sergiyb@chromium.org
kjellander@webrtc.org

1
infra/config/README.md Normal file
View File

@ -0,0 +1 @@
This directory contains configuration files for infra services.

64
infra/config/cq.cfg Normal file
View File

@ -0,0 +1,64 @@
# Commit Queue configuration file. The documentation of the format can be found
# at http://luci-config.appspot.com/schemas/projects/refs:cq.cfg.
version: 1
cq_name: "webrtc"
cq_status_url: "https://chromium-cq-status.appspot.com"
commit_burst_delay: 60
max_commit_burst: 1
hide_ref_in_committed_msg: true
target_ref: "refs/pending/heads/master"
rietveld {
url: "https://codereview.webrtc.org"
}
verifiers {
reviewer_lgtm {
committer_list: "project-webrtc-committers"
}
tree_status {
tree_status_url: "https://webrtc-status.appspot.com"
}
try_job {
buckets {
name: "tryserver.webrtc"
builders { name: "android_dbg" }
builders { name: "android_rel" }
builders { name: "android_arm64_rel" }
builders { name: "android_clang_dbg" }
builders { name: "android_gn_dbg" }
builders { name: "android_gn_rel" }
builders { name: "ios_arm64_dbg" }
builders { name: "ios_arm64_rel" }
builders { name: "ios_dbg" }
builders { name: "ios_rel" }
builders { name: "ios32_sim_dbg" }
builders { name: "ios64_sim_dbg" }
builders { name: "linux_compile_dbg" }
builders { name: "linux_asan" }
builders { name: "linux_gn_dbg" }
builders { name: "linux_gn_rel" }
builders { name: "linux_msan" }
builders { name: "linux_rel" }
builders { name: "linux_tsan2" }
builders { name: "mac_compile_dbg" }
builders { name: "mac_compile_x64_dbg" }
builders { name: "mac_asan" }
builders { name: "mac_rel" }
builders { name: "mac_x64_gn_dbg" }
builders { name: "mac_x64_gn_rel" }
builders { name: "mac_x64_rel" }
builders { name: "presubmit" }
builders { name: "win_compile_dbg" }
builders { name: "win_rel" }
builders { name: "win_x64_gn_dbg" }
builders { name: "win_x64_gn_rel" }
builders { name: "win_x64_rel" }
builders { name: "win_drmemory_light" }
}
}
}

107
libvpx.mk
View File

@ -1,107 +0,0 @@
# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
MY_LIBVPX_PATH = ../libvpx
LOCAL_SRC_FILES = \
$(MY_LIBVPX_PATH)/vp8/common/alloccommon.c \
$(MY_LIBVPX_PATH)/vp8/common/blockd.c \
$(MY_LIBVPX_PATH)/vp8/common/debugmodes.c \
$(MY_LIBVPX_PATH)/vp8/common/entropy.c \
$(MY_LIBVPX_PATH)/vp8/common/entropymode.c \
$(MY_LIBVPX_PATH)/vp8/common/entropymv.c \
$(MY_LIBVPX_PATH)/vp8/common/extend.c \
$(MY_LIBVPX_PATH)/vp8/common/filter.c \
$(MY_LIBVPX_PATH)/vp8/common/findnearmv.c \
$(MY_LIBVPX_PATH)/vp8/common/generic/systemdependent.c \
$(MY_LIBVPX_PATH)/vp8/common/idctllm.c \
$(MY_LIBVPX_PATH)/vp8/common/invtrans.c \
$(MY_LIBVPX_PATH)/vp8/common/loopfilter.c \
$(MY_LIBVPX_PATH)/vp8/common/loopfilter_filters.c \
$(MY_LIBVPX_PATH)/vp8/common/mbpitch.c \
$(MY_LIBVPX_PATH)/vp8/common/modecont.c \
$(MY_LIBVPX_PATH)/vp8/common/modecontext.c \
$(MY_LIBVPX_PATH)/vp8/common/quant_common.c \
$(MY_LIBVPX_PATH)/vp8/common/recon.c \
$(MY_LIBVPX_PATH)/vp8/common/reconinter.c \
$(MY_LIBVPX_PATH)/vp8/common/reconintra.c \
$(MY_LIBVPX_PATH)/vp8/common/reconintra4x4.c \
$(MY_LIBVPX_PATH)/vp8/common/setupintrarecon.c \
$(MY_LIBVPX_PATH)/vp8/common/swapyv12buffer.c \
$(MY_LIBVPX_PATH)/vp8/common/textblit.c \
$(MY_LIBVPX_PATH)/vp8/common/treecoder.c \
$(MY_LIBVPX_PATH)/vp8/vp8_cx_iface.c \
$(MY_LIBVPX_PATH)/vp8/vp8_dx_iface.c \
$(MY_LIBVPX_PATH)/vpx_config.c \
$(MY_LIBVPX_PATH)/vpx/src/vpx_codec.c \
$(MY_LIBVPX_PATH)/vpx/src/vpx_decoder.c \
$(MY_LIBVPX_PATH)/vpx/src/vpx_image.c \
$(MY_LIBVPX_PATH)/vpx_mem/vpx_mem.c \
$(MY_LIBVPX_PATH)/vpx_scale/generic/vpxscale.c \
$(MY_LIBVPX_PATH)/vpx_scale/generic/yv12config.c \
$(MY_LIBVPX_PATH)/vpx_scale/generic/yv12extend.c \
$(MY_LIBVPX_PATH)/vpx_scale/generic/gen_scalers.c \
$(MY_LIBVPX_PATH)/vpx_scale/generic/scalesystemdependent.c \
$(MY_LIBVPX_PATH)/vpx/src/vpx_encoder.c \
$(MY_LIBVPX_PATH)/vp8/encoder/bitstream.c \
$(MY_LIBVPX_PATH)/vp8/encoder/boolhuff.c \
$(MY_LIBVPX_PATH)/vp8/encoder/dct.c \
$(MY_LIBVPX_PATH)/vp8/encoder/encodeframe.c \
$(MY_LIBVPX_PATH)/vp8/encoder/encodeintra.c \
$(MY_LIBVPX_PATH)/vp8/encoder/encodemb.c \
$(MY_LIBVPX_PATH)/vp8/encoder/encodemv.c \
$(MY_LIBVPX_PATH)/vp8/encoder/ethreading.c \
$(MY_LIBVPX_PATH)/vp8/encoder/firstpass.c \
$(MY_LIBVPX_PATH)/vp8/encoder/generic/csystemdependent.c \
$(MY_LIBVPX_PATH)/vp8/encoder/mcomp.c \
$(MY_LIBVPX_PATH)/vp8/encoder/modecosts.c \
$(MY_LIBVPX_PATH)/vp8/encoder/pickinter.c \
$(MY_LIBVPX_PATH)/vp8/encoder/picklpf.c \
$(MY_LIBVPX_PATH)/vp8/encoder/psnr.c \
$(MY_LIBVPX_PATH)/vp8/encoder/quantize.c \
$(MY_LIBVPX_PATH)/vp8/encoder/ratectrl.c \
$(MY_LIBVPX_PATH)/vp8/encoder/rdopt.c \
$(MY_LIBVPX_PATH)/vp8/encoder/sad_c.c \
$(MY_LIBVPX_PATH)/vp8/encoder/segmentation.c \
$(MY_LIBVPX_PATH)/vp8/encoder/tokenize.c \
$(MY_LIBVPX_PATH)/vp8/encoder/treewriter.c \
$(MY_LIBVPX_PATH)/vp8/encoder/onyx_if.c \
$(MY_LIBVPX_PATH)/vp8/encoder/temporal_filter.c \
$(MY_LIBVPX_PATH)/vp8/encoder/variance_c.c \
$(MY_LIBVPX_PATH)/vp8/decoder/dboolhuff.c \
$(MY_LIBVPX_PATH)/vp8/decoder/decodemv.c \
$(MY_LIBVPX_PATH)/vp8/decoder/decodframe.c \
$(MY_LIBVPX_PATH)/vp8/decoder/dequantize.c \
$(MY_LIBVPX_PATH)/vp8/decoder/detokenize.c \
$(MY_LIBVPX_PATH)/vp8/decoder/generic/dsystemdependent.c \
$(MY_LIBVPX_PATH)/vp8/decoder/onyxd_if.c \
$(MY_LIBVPX_PATH)/vp8/decoder/reconintra_mt.c \
$(MY_LIBVPX_PATH)/vp8/decoder/threading.c \
$(MY_LIBVPX_PATH)/vp8/decoder/idct_blk.c \
$(MY_LIBVPX_PATH)/vp8/common/arm/arm_systemdependent.c \
$(MY_LIBVPX_PATH)/vp8/encoder/arm/arm_csystemdependent.c \
$(MY_LIBVPX_PATH)/vp8/decoder/arm/arm_dsystemdependent.c \
LOCAL_CFLAGS := \
-DHAVE_CONFIG_H=vpx_config.h \
-include $(LOCAL_PATH)/third_party/libvpx/source/config/android/vpx_config.h
LOCAL_MODULE := libwebrtc_vpx
LOCAL_C_INCLUDES := \
external/libvpx \
external/libvpx/vpx_ports \
external/libvpx/vp8/common \
external/libvpx/vp8/encoder \
external/libvpx/vp8 \
external/libvpx/vpx_codec
include $(BUILD_STATIC_LIBRARY)

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
* Copyright 2011 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source

View File

@ -1,110 +0,0 @@
vars = {
# Use this googlecode_url variable only if there is an internal mirror for it.
# If you do not know, use the full path while defining your new deps entry.
"googlecode_url": "http://%s.googlecode.com/svn",
"chromium_trunk" : "http://src.chromium.org/svn/trunk",
"chromium_revision": "153489",
# Still needs the libjingle_revision here because some of
# the deps have to be pulled from libjingle repository.
"libjingle_revision": "175",
}
# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
# https; the latter can cause problems for users behind proxies.
deps = {
"trunk/chromium_deps":
File(Var("chromium_trunk") + "/src/DEPS@" + Var("chromium_revision")),
"trunk/third_party/webrtc":
From("trunk/chromium_deps", "src/third_party/webrtc"),
# WebRTC deps.
"trunk/third_party/libvpx":
From("trunk/chromium_deps", "src/third_party/libvpx"),
"trunk/build":
Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),
"trunk/testing/gtest":
From("trunk/chromium_deps", "src/testing/gtest"),
"trunk/tools/gyp":
From("trunk/chromium_deps", "src/tools/gyp"),
"trunk/tools/clang":
Var("chromium_trunk") + "/src/tools/clang@" + Var("chromium_revision"),
# Needed by build/common.gypi.
"trunk/tools/win/supalink":
Var("chromium_trunk") + "/src/tools/win/supalink@" + Var("chromium_revision"),
"trunk/third_party/protobuf":
Var("chromium_trunk") + "/src/third_party/protobuf@" + Var("chromium_revision"),
"trunk/third_party/libjpeg_turbo/":
From("trunk/chromium_deps", "src/third_party/libjpeg_turbo"),
"trunk/third_party/libjpeg":
Var("chromium_trunk") + "/src/third_party/libjpeg@" + Var("chromium_revision"),
"trunk/third_party/yasm":
Var("chromium_trunk") + "/src/third_party/yasm@" + Var("chromium_revision"),
"trunk/third_party/expat":
Var("chromium_trunk") + "/src/third_party/expat@" + Var("chromium_revision"),
"trunk/third_party/yasm/source/patched-yasm":
From("trunk/chromium_deps", "src/third_party/yasm/source/patched-yasm"),
"trunk/third_party/libyuv":
From("trunk/chromium_deps", "src/third_party/libyuv"),
# libjingle deps.
"trunk/third_party/libjingle/":
File(Var("chromium_trunk") + "/src/third_party/libjingle/libjingle.gyp@" + Var("chromium_revision")),
"trunk/third_party/libjingle/source":
From("trunk/chromium_deps", "src/third_party/libjingle/source"),
"trunk/third_party/libjingle/overrides/talk/base":
(Var("googlecode_url") % "libjingle") + "/trunk/talk/base@" + Var("libjingle_revision"),
"trunk/third_party/libsrtp/":
From("trunk/chromium_deps", "src/third_party/libsrtp"),
"trunk/third_party/jsoncpp/":
Var("chromium_trunk") + "/src/third_party/jsoncpp@" + Var("chromium_revision"),
"trunk/third_party/jsoncpp/source":
"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/jsoncpp@248",
}
deps_os = {
"win": {
"trunk/third_party/cygwin/":
Var("chromium_trunk") + "/deps/third_party/cygwin@66844",
# Used by libjpeg-turbo
"trunk/third_party/yasm/binaries":
From("trunk/chromium_deps", "src/third_party/yasm/binaries"),
},
"unix": {
"trunk/third_party/gold":
From("trunk/chromium_deps", "src/third_party/gold"),
},
}
hooks = [
{
# Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
# zero seconds to run. If something changed, it downloads a prebuilt clang.
"pattern": ".",
"action": ["python", "trunk/tools/clang/scripts/update.py", "--mac-only"],
},
{
# A change to a .gyp, .gypi, or to GYP itself should run the generator.
"pattern": ".",
"action": ["python", "trunk/build/gyp_chromium", "--depth=trunk", "trunk/peerconnection.gyp"],
},
]

View File

@ -1,5 +0,0 @@
henrike@webrtc.org
mallinath@webrtc.org
perkj@webrtc.org
wu@webrtc.org
tommi@webrtc.org

View File

@ -1,12 +0,0 @@
This folder can be used to pull together the chromium version of webrtc
and libjingle, and build the peerconnection sample client and server. This will
check out a new repository in which you can build peerconnection_server.
Steps:
1) Create a new directory for the new repository (outside the webrtc repo):
mkdir peerconnection
cd peerconnection
2) gclient config --name trunk http://webrtc.googlecode.com/svn/trunk/peerconnection
3) gclient sync
4) cd trunk
5) make peerconnection_server peerconnection_client

View File

@ -1,25 +0,0 @@
# Below are normally provided by Chromium's base.gyp and required for
# libjingle.gyp.
{
'targets': [
{
'target_name': 'base',
'type': 'none',
'direct_dependent_settings': {
'include_dirs': [
'..',
],
},
'conditions': [
['OS == "linux"', {
'link_settings': {
'libraries': [
# We need rt for clock_gettime() used in libjingle.
'-lrt',
],
},
}],
],
},
],
}

View File

@ -1,9 +0,0 @@
# This is a dummy gyp file to satisfy libjingle.gyp.
{
'targets': [
{
'target_name': 'net',
'type': 'none',
},
],
}

View File

@ -1,92 +0,0 @@
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
{
'includes': [ 'third_party/webrtc/build/common.gypi', ],
'variables': {
'peerconnection_sample': 'third_party/libjingle/source/talk/examples/peerconnection',
},
'conditions': [
['OS=="win"', {
'targets': [
{
'target_name': 'peerconnection_client',
'type': 'executable',
'sources': [
'<(peerconnection_sample)/client/conductor.cc',
'<(peerconnection_sample)/client/conductor.h',
'<(peerconnection_sample)/client/defaults.cc',
'<(peerconnection_sample)/client/defaults.h',
'<(peerconnection_sample)/client/main.cc',
'<(peerconnection_sample)/client/main_wnd.cc',
'<(peerconnection_sample)/client/main_wnd.h',
'<(peerconnection_sample)/client/peer_connection_client.cc',
'<(peerconnection_sample)/client/peer_connection_client.h',
'third_party/libjingle/source/talk/base/win32socketinit.cc',
'third_party/libjingle/source/talk/base/win32socketserver.cc',
],
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '2', # Windows
},
},
'dependencies': [
'third_party/libjingle/libjingle.gyp:libjingle_peerconnection',
],
'include_dirs': [
'src',
'src/modules/interface',
'third_party/libjingle/source',
],
},
], # targets
}, ], # OS="win"
['OS=="linux"', {
'targets': [
{
'target_name': 'peerconnection_client',
'type': 'executable',
'sources': [
'<(peerconnection_sample)/client/conductor.cc',
'<(peerconnection_sample)/client/conductor.h',
'<(peerconnection_sample)/client/defaults.cc',
'<(peerconnection_sample)/client/defaults.h',
'<(peerconnection_sample)/client/linux/main.cc',
'<(peerconnection_sample)/client/linux/main_wnd.cc',
'<(peerconnection_sample)/client/linux/main_wnd.h',
'<(peerconnection_sample)/client/peer_connection_client.cc',
'<(peerconnection_sample)/client/peer_connection_client.h',
],
'dependencies': [
'third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
'third_party/libjingle/libjingle.gyp:libjingle_peerconnection',
# TODO(tommi): Switch to this and remove specific gtk dependency
# sections below for cflags and link_settings.
# '<(DEPTH)/build/linux/system.gyp:gtk',
],
'include_dirs': [
'third_party/libjingle/source',
],
'cflags': [
'<!@(pkg-config --cflags gtk+-2.0)',
],
'link_settings': {
'ldflags': [
'<!@(pkg-config --libs-only-L --libs-only-other gtk+-2.0 gthread-2.0)',
],
'libraries': [
'<!@(pkg-config --libs-only-l gtk+-2.0 gthread-2.0)',
'-lX11',
'-lXext',
],
},
},
], # targets
}, ], # OS="linux"
],
}

View File

@ -1,12 +0,0 @@
# This file will be picked up by gyp to initialize some global settings.
{
'variables': {
'build_with_chromium': 1,
'enable_protobuf': 1,
'enabled_libjingle_device_manager': 1,
'include_internal_audio_device': 1,
'include_internal_video_capture': 1,
'include_internal_video_render': 1,
'include_pulse_audio': 1,
}
}

17
pylintrc Normal file
View File

@ -0,0 +1,17 @@
[MESSAGES CONTROL]
# Disable the message, report, category or checker with the given id(s).
# TODO(kjellander): Reduce this list to as small as possible.
disable=I0010,I0011,bad-continuation,broad-except,duplicate-code,eval-used,exec-used,fixme,invalid-name,missing-docstring,no-init,no-member,too-few-public-methods,too-many-ancestors,too-many-arguments,too-many-branches,too-many-function-args,too-many-instance-attributes,too-many-lines,too-many-locals,too-many-public-methods,too-many-return-statements,too-many-statements
[REPORTS]
# Don't write out full reports, just messages.
reports=no
[FORMAT]
# We use two spaces for indents, instead of the usual four spaces or tab.
indent-string=' '

2
resources/OWNERS Normal file
View File

@ -0,0 +1,2 @@
*

View File

@ -0,0 +1 @@
2a4617e3497d8faa2fdccfa8964da26499eb13d6

View File

@ -0,0 +1 @@
8ea680a570df53fba206b984f38d4762481322eb

View File

@ -0,0 +1 @@
27e30ed5e0d449db1cd729c382e18455ad3834fe

View File

@ -0,0 +1 @@
6bafbd8667365939c327eef627fa0f94a75e5fa9

View File

@ -0,0 +1 @@
44bb846907928e958531e805758767bf9353e03c

View File

@ -0,0 +1 @@
bb80d3c48c42bb14c8e613a8576cb77283cda3a7

View File

@ -0,0 +1 @@
450b538234feff02f35b3e57fbeea5d93a41abe0

View File

@ -0,0 +1 @@
96fb5327ff7a1fe87bd4512773ce7347b4d72888

View File

@ -0,0 +1 @@
ea527e8e61241ea73265abba5765793511c42291

View File

@ -0,0 +1 @@
a6230cfa6786ba3d81510aabcaa68bd9b1610d1a

View File

@ -0,0 +1 @@
4f706d94506e0a4dc56f63940caa588e2531a455

View File

@ -0,0 +1 @@
23780ea4c8893813787f7ab1dc7ab68075ad89c0

View File

@ -0,0 +1 @@
1ffcead0db4293f5f36abfdc7cd959d6733358d4

View File

@ -0,0 +1 @@
37b5e29f294c3612d4425775b422d7dc9b346965

View File

@ -0,0 +1 @@
a5e8c268936d7c8d03edd708c675254474aed944

View File

@ -0,0 +1 @@
9893504bdaa560a4ddb67a99e6701e8d4244896a

View File

@ -0,0 +1 @@
ea44732065b09eec558af1957da21c9061c19c08

View File

@ -0,0 +1 @@
40a5e2850e9e838429911cc3dbb1ff6c9bf38387

View File

@ -0,0 +1 @@
57bf2aaa27527d51085e040ccead4b99f160bb2f

View File

@ -0,0 +1 @@
13bb10aca91ddd8af71751944e18243735bdda98

View File

@ -0,0 +1 @@
21764cf8bb5e635e842eaf92403b22ce04732805

View File

@ -0,0 +1 @@
5e0053a0de7b4708402fcc0a1b5ae024815938a3

View File

@ -0,0 +1 @@
d57986d3dc65c1cadc41419a77ed1472b73050b4

View File

@ -0,0 +1 @@
c145a1a211103145fbb21cf1c78ab90abce83228

View File

@ -0,0 +1 @@
2ccd6fe240e41906c9f06e05cbde486c1f2bebf7

View File

@ -0,0 +1 @@
fb7ad10e20f2de4334f8c122c8582f18b91f0552

View File

@ -0,0 +1 @@
db4e9d9e09b55c3fe5536628c1f2f07f4bad068b

View File

@ -0,0 +1 @@
f48b05dce8cb0370cda4b93da45b4edc3fdd42d0

View File

@ -0,0 +1 @@
8cc1f82ee0d1b7df39840895d3e99756920b85ad

View File

@ -0,0 +1 @@
85ca3d9a5ca61c1bb9d798ba6d3551945ab7667d

View File

@ -0,0 +1 @@
730581035d5af832d1b05c8f3a623ec93863b3e3

View File

@ -0,0 +1 @@
985e5ffa0b98718afadfb1f02b5595fb24a9476c

View File

@ -0,0 +1 @@
8b035fb0f9ce3bdc2ae6c983e232c257a515a781

View File

@ -0,0 +1 @@
9069fecc3cd13bf901781af4ece8b374b5285984

View File

@ -0,0 +1 @@
44a04e133c15e013f6b4424877528a4445e28bef

View File

@ -0,0 +1 @@
c3dde10c32f12da58181ecaccb7aeaa515239233

View File

@ -0,0 +1 @@
260f51f8320d92d3c8b834c1f38879baa12a7a5a

View File

@ -0,0 +1 @@
72abb4c1d84a4cff1efed4d3e01280d839a9f691

View File

@ -0,0 +1 @@
b6530247acdfd7ae7b3fd80c677d71045351ad07

View File

@ -0,0 +1 @@
0318de4dc48422bfe125fd6f827e6e7114dc61bc

View File

@ -0,0 +1 @@
80359cff72cbdc04a337a51c2fcc0c74890710b4

View File

@ -0,0 +1 @@
c7bc71abc973440123a517f61e3dbcb96089ee3f

View File

@ -0,0 +1 @@
5fde2defd2350b5ca7d3b8f8ceef75d2b7fd7f03

View File

@ -0,0 +1,18 @@
Test files for Audio Coding Module
testfile32kHz.pcm - mono speech file samples at 32 kHz
teststereo32kHz.pcm - stereo speech file samples at 32 kHz
Test and reference vectors to verify correct execution of PacketCable
iLBC Fixed Point Reference Code
Version 1.0.6
Format: all .INP and .OUT files contain 16 bit sampled data using the
Intel (PC) format. The .BIT files are stored in the appropriate byte
sequence (big-endian format).
*.INP - input files
*.BIT20 - bit stream files 20 ms mode
*.OUT20 - output files 20 ms mode (on a channel without packet loss)
*.BIT30 - bit stream files 30 ms mode
*.OUT30 - output files 30 ms mode (on a channel without packet loss)

View File

@ -0,0 +1 @@
7fe50497b4fef1bbaca4bbb4f00c9f069ef63dc0

View File

@ -0,0 +1 @@
77b123a152911b538951cadbee45007f9d1a370c

View File

@ -0,0 +1 @@
e5e2d0ff26d16339cf0f37a3512bfa2d390a9a9a

View File

@ -0,0 +1 @@
373f15261ef1dca3b61bd62d7f5e6dd085ae3eb8

View File

@ -0,0 +1 @@
948753a2087fbb5b74a3ea0b1aef8593c9c30b10

View File

@ -0,0 +1 @@
f587883b7c371ee8d87dbf1b0f07525af7d959b8

View File

@ -0,0 +1 @@
f587883b7c371ee8d87dbf1b0f07525af7d959b8

View File

@ -0,0 +1 @@
08266b198e7686b3cd9330813e0d2cd72fc8fdc2

View File

@ -0,0 +1 @@
e3c189b500d92fd0f10cb4c770c298cee7008749

View File

@ -0,0 +1 @@
343061419a64ca99323fc0d25a43149a5d40cf07

View File

@ -0,0 +1 @@
759d57e87517e0290144add9ba53d5c6dec1c27e

View File

@ -0,0 +1 @@
8dd7585937f1f3b17666035a7aec5c0431d4b30b

View File

@ -0,0 +1 @@
236da353f05d329f6c83e441b80dbfcc18706cfb

View File

@ -0,0 +1 @@
1d2d353be4345d30506866ca32fa72825c6d65b8

Some files were not shown because too many files have changed in this diff Show More