在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → webrtc自带的peerconnection client&server;的源代码,可使用vs2017编译和调试

webrtc自带的peerconnection client&server;的源代码,可使用vs2017编译和调试

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:152.61M
  • 下载次数:10
  • 浏览次数:257
  • 发布时间:2021-11-16
  • 实例类别:一般编程问题
  • 发 布 人:js2021
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
webrtc自带的peerconnection client&server;的源代码,可使用vs2017编译和调试.
【实例截图】
【核心代码】
16359647401995718495.zip
├── bfWebRTC
│   ├── bfWebRTC.vcxproj
│   ├── bfWebRTC.vcxproj.filters
│   ├── bfWebRTC.vcxproj.user
│   ├── conductor.cc
│   ├── conductor.h
│   ├── defaults.cc
│   ├── defaults.h
│   ├── flagdefs.h
│   ├── hidden_main_wnd.cpp
│   ├── hidden_main_wnd.h
│   ├── json_batchallocator.h
│   ├── json.cc
│   ├── json_internalarray.inl
│   ├── json_internalmap.inl
│   ├── json_reader.cpp
│   ├── json_tool.h
│   ├── json_value.cpp
│   ├── json_valueiterator.inl
│   ├── json_writer.cpp
│   ├── main.cc
│   ├── main_wnd.cc
│   ├── main_wnd.h
│   ├── peer_connection_client.cc
│   ├── peer_connection_client.h
│   └── relayserver.cc
├── bfWebRTCServer
│   ├── bfWebRTCServer.cpp
│   ├── bfWebRTCServer.vcxproj
│   ├── bfWebRTCServer.vcxproj.filters
│   ├── bfWebRTCServer.vcxproj.user
│   ├── data_socket.cc
│   ├── data_socket.h
│   ├── main.cc
│   ├── peer_channel.cc
│   ├── peer_channel.h
│   ├── relay_log.txt
│   ├── relayserver.cc
│   ├── stdafx.cpp
│   ├── stdafx.h
│   ├── targetver.h
│   ├── utils.cc
│   └── utils.h
├── bfWebRTC.sln
├── bfWebRTC项目导读.docx
├── include
│   ├── api
│   │   ├── array_view.h
│   │   ├── audio
│   │   │   ├── audio_frame.cc
│   │   │   ├── audio_frame.h
│   │   │   ├── audio_mixer.h
│   │   │   ├── BUILD.gn
│   │   │   ├── echo_canceller3_config.cc
│   │   │   ├── echo_canceller3_config.h
│   │   │   ├── echo_canceller3_factory.cc
│   │   │   ├── echo_canceller3_factory.h
│   │   │   ├── echo_control.h
│   │   │   ├── OWNERS
│   │   │   └── test
│   │   │   ├── audio_frame_unittest.cc
│   │   │   └── BUILD.gn
│   │   ├── audio_codecs
│   │   │   ├── audio_codec_pair_id.cc
│   │   │   ├── audio_codec_pair_id.h
│   │   │   ├── audio_decoder.cc
│   │   │   ├── audio_decoder_factory.cc
│   │   │   ├── audio_decoder_factory.h
│   │   │   ├── audio_decoder_factory_template.h
│   │   │   ├── audio_decoder.h
│   │   │   ├── audio_encoder.cc
│   │   │   ├── audio_encoder_factory.cc
│   │   │   ├── audio_encoder_factory.h
│   │   │   ├── audio_encoder_factory_template.h
│   │   │   ├── audio_encoder.h
│   │   │   ├── audio_format.cc
│   │   │   ├── audio_format.h
│   │   │   ├── BUILD.gn
│   │   │   ├── builtin_audio_decoder_factory.cc
│   │   │   ├── builtin_audio_decoder_factory.h
│   │   │   ├── builtin_audio_encoder_factory.cc
│   │   │   ├── builtin_audio_encoder_factory.h
│   │   │   ├── g711
│   │   │   │   ├── audio_decoder_g711.cc
│   │   │   │   ├── audio_decoder_g711.h
│   │   │   │   ├── audio_encoder_g711.cc
│   │   │   │   ├── audio_encoder_g711.h
│   │   │   │   └── BUILD.gn
│   │   │   ├── g722
│   │   │   │   ├── audio_decoder_g722.cc
│   │   │   │   ├── audio_decoder_g722.h
│   │   │   │   ├── audio_encoder_g722.cc
│   │   │   │   ├── audio_encoder_g722_config.h
│   │   │   │   ├── audio_encoder_g722.h
│   │   │   │   └── BUILD.gn
│   │   │   ├── ilbc
│   │   │   │   ├── audio_decoder_ilbc.cc
│   │   │   │   ├── audio_decoder_ilbc.h
│   │   │   │   ├── audio_encoder_ilbc.cc
│   │   │   │   ├── audio_encoder_ilbc_config.h
│   │   │   │   ├── audio_encoder_ilbc.h
│   │   │   │   └── BUILD.gn
│   │   │   ├── isac
│   │   │   │   ├── audio_decoder_isac_fix.cc
│   │   │   │   ├── audio_decoder_isac_fix.h
│   │   │   │   ├── audio_decoder_isac_float.cc
│   │   │   │   ├── audio_decoder_isac_float.h
│   │   │   │   ├── audio_decoder_isac.h
│   │   │   │   ├── audio_encoder_isac_fix.cc
│   │   │   │   ├── audio_encoder_isac_fix.h
│   │   │   │   ├── audio_encoder_isac_float.cc
│   │   │   │   ├── audio_encoder_isac_float.h
│   │   │   │   ├── audio_encoder_isac.h
│   │   │   │   └── BUILD.gn
│   │   │   ├── L16
│   │   │   │   ├── audio_decoder_L16.cc
│   │   │   │   ├── audio_decoder_L16.h
│   │   │   │   ├── audio_encoder_L16.cc
│   │   │   │   ├── audio_encoder_L16.h
│   │   │   │   └── BUILD.gn
│   │   │   ├── opus
│   │   │   │   ├── audio_decoder_opus.cc
│   │   │   │   ├── audio_decoder_opus.h
│   │   │   │   ├── audio_encoder_opus.cc
│   │   │   │   ├── audio_encoder_opus_config.cc
│   │   │   │   ├── audio_encoder_opus_config.h
│   │   │   │   ├── audio_encoder_opus.h
│   │   │   │   └── BUILD.gn
│   │   │   ├── OWNERS
│   │   │   └── test
│   │   │   ├── audio_decoder_factory_template_unittest.cc
│   │   │   ├── audio_encoder_factory_template_unittest.cc
│   │   │   └── BUILD.gn
│   │   ├── audio_options.h
│   │   ├── call
│   │   │   ├── audio_sink.h
│   │   │   ├── callfactoryinterface.h
│   │   │   ├── transport.cc
│   │   │   └── transport.h
│   │   ├── candidate.h
│   │   ├── cryptoparams.h
│   │   ├── datachannelinterface.h
│   │   ├── dtmfsenderinterface.h
│   │   ├── fakemetricsobserver.h
│   │   ├── fec_controller.h
│   │   ├── jsep.h
│   │   ├── jsepicecandidate.h
│   │   ├── jsepsessiondescription.h
│   │   ├── mediaconstraintsinterface.h
│   │   ├── mediastreaminterface.h
│   │   ├── mediastreamproxy.h
│   │   ├── mediastreamtrackproxy.h
│   │   ├── mediatypes.h
│   │   ├── notifier.h
│   │   ├── optional.h
│   │   ├── ortc
│   │   │   ├── mediadescription.cc
│   │   │   ├── mediadescription.h
│   │   │   ├── mediadescription_unittest.cc
│   │   │   ├── ortcfactoryinterface.h
│   │   │   ├── ortcrtpreceiverinterface.h
│   │   │   ├── ortcrtpsenderinterface.h
│   │   │   ├── packettransportinterface.h
│   │   │   ├── rtptransportcontrollerinterface.h
│   │   │   ├── rtptransportinterface.h
│   │   │   ├── sessiondescription.cc
│   │   │   ├── sessiondescription.h
│   │   │   ├── sessiondescription_unittest.cc
│   │   │   ├── srtptransportinterface.h
│   │   │   └── udptransportinterface.h
│   │   ├── peerconnectionfactoryproxy.h
│   │   ├── peerconnectioninterface.h
│   │   ├── peerconnectionproxy.h
│   │   ├── proxy.h
│   │   ├── refcountedbase.h
│   │   ├── rtcerror.h
│   │   ├── rtceventlogoutput.h
│   │   ├── rtp_headers.h
│   │   ├── rtpparameters.h
│   │   ├── rtpreceiverinterface.h
│   │   ├── rtpsenderinterface.h
│   │   ├── rtptransceiverinterface.h
│   │   ├── setremotedescriptionobserverinterface.h
│   │   ├── stats
│   │   │   ├── OWNERS
│   │   │   ├── rtcstatscollectorcallback.h
│   │   │   ├── rtcstats.h
│   │   │   ├── rtcstats_objects.h
│   │   │   └── rtcstatsreport.h
│   │   ├── statstypes.h
│   │   ├── test
│   │   │   ├── audioproc_float.cc
│   │   │   ├── audioproc_float.h
│   │   │   ├── create_videocodec_test_fixture.cc
│   │   │   ├── create_videocodec_test_fixture.h
│   │   │   ├── DEPS
│   │   │   ├── fakeconstraints.h
│   │   │   ├── mock_audio_mixer.h
│   │   │   ├── mock_rtpreceiver.h
│   │   │   ├── mock_rtpsender.h
│   │   │   ├── mock_video_decoder_factory.h
│   │   │   ├── mock_video_encoder_factory.h
│   │   │   ├── videocodec_test_fixture.h
│   │   │   ├── videocodec_test_stats.cc
│   │   │   └── videocodec_test_stats.h
│   │   ├── transport
│   │   │   ├── bitrate_settings.cc
│   │   │   ├── bitrate_settings.h
│   │   │   ├── BUILD.gn
│   │   │   ├── network_control.h
│   │   │   ├── network_types.cc
│   │   │   ├── network_types.h
│   │   │   └── test
│   │   │   ├── mock_network_control.h
│   │   │   ├── network_control_tester.cc
│   │   │   └── network_control_tester.h
│   │   ├── turncustomizer.h
│   │   ├── umametrics.h
│   │   ├── units
│   │   │   ├── BUILD.gn
│   │   │   ├── data_rate.cc
│   │   │   ├── data_rate.h
│   │   │   ├── data_rate_unittest.cc
│   │   │   ├── data_size.cc
│   │   │   ├── data_size.h
│   │   │   ├── data_size_unittest.cc
│   │   │   ├── time_delta.cc
│   │   │   ├── time_delta.h
│   │   │   ├── time_delta_unittest.cc
│   │   │   ├── timestamp.cc
│   │   │   ├── timestamp.h
│   │   │   └── timestamp_unittest.cc
│   │   ├── video
│   │   │   ├── BUILD.gn
│   │   │   ├── DEPS
│   │   │   ├── encoded_frame.cc
│   │   │   ├── encoded_frame.h
│   │   │   ├── i420_buffer.cc
│   │   │   ├── i420_buffer.h
│   │   │   ├── OWNERS
│   │   │   ├── video_bitrate_allocation.cc
│   │   │   ├── video_bitrate_allocation.h
│   │   │   ├── video_content_type.cc
│   │   │   ├── video_content_type.h
│   │   │   ├── video_frame_buffer.cc
│   │   │   ├── video_frame_buffer.h
│   │   │   ├── video_frame.cc
│   │   │   ├── video_frame.h
│   │   │   ├── video_rotation.h
│   │   │   ├── video_sink_interface.h
│   │   │   ├── video_source_interface.cc
│   │   │   ├── video_source_interface.h
│   │   │   ├── video_stream_decoder_create.cc
│   │   │   ├── video_stream_decoder_create.h
│   │   │   ├── video_stream_decoder.h
│   │   │   ├── video_stream_encoder_interface.h
│   │   │   ├── video_timing.cc
│   │   │   └── video_timing.h
│   │   ├── video_codecs
│   │   │   ├── BUILD.gn
│   │   │   ├── builtin_video_decoder_factory.cc
│   │   │   ├── builtin_video_decoder_factory.h
│   │   │   ├── builtin_video_encoder_factory.cc
│   │   │   ├── builtin_video_encoder_factory.h
│   │   │   ├── sdp_video_format.cc
│   │   │   ├── sdp_video_format.h
│   │   │   ├── test
│   │   │   │   ├── BUILD.gn
│   │   │   │   └── builtin_video_encoder_factory_unittest.cc
│   │   │   ├── video_decoder.cc
│   │   │   ├── video_decoder_factory.h
│   │   │   ├── video_decoder.h
│   │   │   ├── video_encoder.cc
│   │   │   ├── video_encoder_config.cc
│   │   │   ├── video_encoder_config.h
│   │   │   ├── video_encoder_factory.h
│   │   │   └── video_encoder.h
│   │   ├── videosinkinterface.h
│   │   ├── videosourceinterface.h
│   │   └── videosourceproxy.h
│   ├── audio
│   │   ├── audio_level.h
│   │   ├── audio_receive_stream.h
│   │   ├── audio_send_stream.h
│   │   ├── audio_state.h
│   │   ├── audio_transport_impl.h
│   │   ├── channel.h
│   │   ├── conversion.h
│   │   ├── mock_voe_channel_proxy.h
│   │   ├── null_audio_poller.h
│   │   ├── remix_resample.h
│   │   ├── test
│   │   │   ├── audio_bwe_integration_test.h
│   │   │   ├── audio_end_to_end_test.h
│   │   │   ├── low_bandwidth_audio_test.py
│   │   │   └── unittests
│   │   │   └── low_bandwidth_audio_test_test.py
│   │   ├── time_interval.h
│   │   ├── transport_feedback_packet_loss_tracker.h
│   │   └── utility
│   │   └── audio_frame_operations.h
│   ├── base
│   │   ├── allocator
│   │   │   ├── allocator_check.h
│   │   │   ├── allocator_extension.h
│   │   │   ├── allocator_interception_mac.h
│   │   │   ├── allocator_interception_mac.mm
│   │   │   ├── allocator_interception_mac_unittest.mm
│   │   │   ├── allocator_shim_default_dispatch_to_mac_zoned_malloc.h
│   │   │   ├── allocator_shim.h
│   │   │   ├── allocator_shim_internals.h
│   │   │   ├── allocator_shim_override_cpp_symbols.h
│   │   │   ├── allocator_shim_override_glibc_weak_symbols.h
│   │   │   ├── allocator_shim_override_libc_symbols.h
│   │   │   ├── allocator_shim_override_linker_wrapped_symbols.h
│   │   │   ├── allocator_shim_override_mac_symbols.h
│   │   │   ├── allocator_shim_override_ucrt_symbols_win.h
│   │   │   ├── malloc_zone_functions_mac.h
│   │   │   ├── partition_allocator
│   │   │   │   ├── address_space_randomization.h
│   │   │   │   ├── oom.h
│   │   │   │   ├── page_allocator_constants.h
│   │   │   │   ├── page_allocator.h
│   │   │   │   ├── page_allocator_internal.h
│   │   │   │   ├── page_allocator_internals_posix.h
│   │   │   │   ├── page_allocator_internals_win.h
│   │   │   │   ├── partition_alloc_constants.h
│   │   │   │   ├── partition_alloc.h
│   │   │   │   ├── PartitionAlloc.md
│   │   │   │   ├── partition_bucket.h
│   │   │   │   ├── partition_cookie.h
│   │   │   │   ├── partition_direct_map_extent.h
│   │   │   │   ├── partition_freelist_entry.h
│   │   │   │   ├── partition_oom.h
│   │   │   │   ├── partition_page.h
│   │   │   │   ├── partition_root_base.h
│   │   │   │   └── spin_lock.h
│   │   │   ├── README.md
│   │   │   └── winheap_stubs_win.h
│   │   ├── android
│   │   │   ├── android_hardware_buffer_abi.h
│   │   │   ├── android_hardware_buffer_compat.h
│   │   │   ├── apk_assets.h
│   │   │   ├── application_status_listener.h
│   │   │   ├── base_jni_onload.h
│   │   │   ├── callback_android.h
│   │   │   ├── content_uri_utils.h
│   │   │   ├── event_log.h
│   │   │   ├── java
│   │   │   │   ├── src
│   │   │   │   │   └── org
│   │   │   │   │   └── chromium
│   │   │   │   │   └── base
│   │   │   │   │   ├── ActivityState.java
│   │   │   │   │   ├── AnimationFrameTimeHistogram.java
│   │   │   │   │   ├── annotations
│   │   │   │   │   │   ├── AccessedByNative.java
│   │   │   │   │   │   ├── CalledByNative.java
│   │   │   │   │   │   ├── CalledByNativeUnchecked.java
│   │   │   │   │   │   ├── JNIAdditionalImport.java
│   │   │   │   │   │   ├── JNINamespace.java
│   │   │   │   │   │   ├── MainDex.java
│   │   │   │   │   │   ├── NativeCall.java
│   │   │   │   │   │   ├── NativeClassQualifiedName.java
│   │   │   │   │   │   ├── RemovableInRelease.java
│   │   │   │   │   │   └── UsedByReflection.java
│   │   │   │   │   ├── ApiCompatibilityUtils.java
│   │   │   │   │   ├── ApkAssets.java
│   │   │   │   │   ├── ApplicationStatus.java
│   │   │   │   │   ├── BaseSwitches.java
│   │   │   │   │   ├── BuildInfo.java
│   │   │   │   │   ├── Callback.java
│   │   │   │   │   ├── CollectionUtil.java
│   │   │   │   │   ├── CommandLineInitUtil.java
│   │   │   │   │   ├── CommandLine.java
│   │   │   │   │   ├── ContentUriUtils.java
│   │   │   │   │   ├── ContextUtils.java
│   │   │   │   │   ├── CpuFeatures.java
│   │   │   │   │   ├── DiscardableReferencePool.java
│   │   │   │   │   ├── EarlyTraceEvent.java
│   │   │   │   │   ├── EventLog.java
│   │   │   │   │   ├── FieldTrialList.java
│   │   │   │   │   ├── FileUtils.java
│   │   │   │   │   ├── ImportantFileWriterAndroid.java
│   │   │   │   │   ├── JavaExceptionReporter.java
│   │   │   │   │   ├── JavaHandlerThread.java
│   │   │   │   │   ├── JNIUtils.java
│   │   │   │   │   ├── library_loader
│   │   │   │   │   │   ├── LegacyLinker.java
│   │   │   │   │   │   ├── LibraryLoader.java
│   │   │   │   │   │   ├── Linker.java
│   │   │   │   │   │   ├── LoaderErrors.java
│   │   │   │   │   │   ├── NativeLibraryPreloader.java
│   │   │   │   │   │   └── ProcessInitException.java
│   │   │   │   │   ├── LocaleUtils.java
│   │   │   │   │   ├── Log.java
│   │   │   │   │   ├── memory
│   │   │   │   │   │   ├── MemoryPressureCallback.java
│   │   │   │   │   │   ├── MemoryPressureMonitor.java
│   │   │   │   │   │   └── MemoryPressureUma.java
│   │   │   │   │   ├── MemoryPressureListener.java
│   │   │   │   │   ├── metrics
│   │   │   │   │   │   ├── CachedMetrics.java
│   │   │   │   │   │   ├── RecordHistogram.java
│   │   │   │   │   │   ├── RecordUserAction.java
│   │   │   │   │   │   └── StatisticsRecorderAndroid.java
│   │   │   │   │   ├── multidex
│   │   │   │   │   │   └── ChromiumMultiDexInstaller.java
│   │   │   │   │   ├── NonThreadSafe.java
│   │   │   │   │   ├── ObserverList.java
│   │   │   │   │   ├── PackageUtils.java
│   │   │   │   │   ├── PathService.java
│   │   │   │   │   ├── PathUtils.java
│   │   │   │   │   ├── PowerMonitor.java
│   │   │   │   │   ├── process_launcher
│   │   │   │   │   │   ├── ChildConnectionAllocator.java
│   │   │   │   │   │   ├── ChildProcessConnection.java
│   │   │   │   │   │   ├── ChildProcessConstants.java
│   │   │   │   │   │   ├── ChildProcessLauncher.java
│   │   │   │   │   │   ├── ChildProcessServiceDelegate.java
│   │   │   │   │   │   ├── ChildProcessService.java
│   │   │   │   │   │   ├── FileDescriptorInfo.aidl
│   │   │   │   │   │   ├── FileDescriptorInfo.java
│   │   │   │   │   │   ├── ICallbackInt.aidl
│   │   │   │   │   │   └── IChildProcessService.aidl
│   │   │   │   │   ├── Promise.java
│   │   │   │   │   ├── ResourceExtractor.java
│   │   │   │   │   ├── SecureRandomInitializer.java
│   │   │   │   │   ├── StreamUtil.java
│   │   │   │   │   ├── StrictModeContext.java
│   │   │   │   │   ├── Supplier.java
│   │   │   │   │   ├── SystemMessageHandler.java
│   │   │   │   │   ├── SysUtils.java
│   │   │   │   │   ├── ThreadUtils.java
│   │   │   │   │   ├── ThrowUncaughtException.java
│   │   │   │   │   ├── TimeUtils.java
│   │   │   │   │   ├── TimezoneUtils.java
│   │   │   │   │   ├── TraceEvent.java
│   │   │   │   │   ├── UnguessableToken.java
│   │   │   │   │   └── VisibleForTesting.java
│   │   │   │   └── templates
│   │   │   │   ├── BuildConfig.template
│   │   │   │   └── NativeLibraries.template
│   │   │   ├── java_exception_reporter.h
│   │   │   ├── java_handler_thread.h
│   │   │   ├── java_runtime.h
│   │   │   ├── javatests
│   │   │   │   └── src
│   │   │   │   └── org
│   │   │   │   └── chromium
│   │   │   │   └── base
│   │   │   │   ├── AdvancedMockContextTest.java
│   │   │   │   ├── ApiCompatibilityUtilsTest.java
│   │   │   │   ├── CommandLineInitUtilTest.java
│   │   │   │   ├── CommandLineTest.java
│   │   │   │   ├── EarlyTraceEventTest.java
│   │   │   │   ├── LocaleUtilsTest.java
│   │   │   │   ├── metrics
│   │   │   │   │   └── RecordHistogramTest.java
│   │   │   │   ├── ObserverListTest.java
│   │   │   │   └── StrictModeContextTest.java
│   │   │   ├── jni_android.h
│   │   │   ├── jni_array.h
│   │   │   ├── jni_generator
│   │   │   │   ├── android_jar.classes
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── src
│   │   │   │   │   └── org
│   │   │   │   │   └── chromium
│   │   │   │   │   └── example
│   │   │   │   │   └── jni_generator
│   │   │   │   ├── jni_exception_list.gni
│   │   │   │   ├── jni_generator_helper.h
│   │   │   │   ├── jni_generator.py
│   │   │   │   ├── jni_generator_tests.py
│   │   │   │   ├── jni_registration_generator.py
│   │   │   │   ├── PRESUBMIT.py
│   │   │   │   ├── README.md
│   │   │   │   ├── SampleForTests_jni.golden
│   │   │   │   ├── testCalledByNatives.golden
│   │   │   │   ├── testConstantsFromJavaP.golden
│   │   │   │   ├── testFromJavaPGenerics.golden
│   │   │   │   ├── testFromJavaP.golden
│   │   │   │   ├── testInnerClassNativesBothInnerAndOuter.golden
│   │   │   │   ├── testInnerClassNativesBothInnerAndOuterRegistrations.golden
│   │   │   │   ├── testInnerClassNatives.golden
│   │   │   │   ├── testInnerClassNativesMultiple.golden
│   │   │   │   ├── testInputStream.javap
│   │   │   │   ├── testMotionEvent.javap
│   │   │   │   ├── testMotionEvent.javap7
│   │   │   │   ├── testMultipleJNIAdditionalImport.golden
│   │   │   │   ├── testNativeExportsOnlyOption.golden
│   │   │   │   ├── testNatives.golden
│   │   │   │   ├── testNativesLong.golden
│   │   │   │   ├── testNativesRegistrations.golden
│   │   │   │   ├── testSingleJNIAdditionalImport.golden
│   │   │   │   └── testTracing.golden
│   │   │   ├── jni_int_wrapper.h
│   │   │   ├── jni_registrar.h
│   │   │   ├── jni_string.h
│   │   │   ├── jni_utils.h
│   │   │   ├── jni_weak_ref.h
│   │   │   ├── junit
│   │   │   │   └── src
│   │   │   │   └── org
│   │   │   │   └── chromium
│   │   │   │   └── base
│   │   │   │   ├── ApplicationStatusTest.java
│   │   │   │   ├── DiscardableReferencePoolTest.java
│   │   │   │   ├── LogTest.java
│   │   │   │   ├── memory
│   │   │   │   │   └── MemoryPressureMonitorTest.java
│   │   │   │   ├── metrics
│   │   │   │   │   └── test
│   │   │   │   │   └── ShadowRecordHistogram.java
│   │   │   │   ├── NonThreadSafeTest.java
│   │   │   │   ├── process_launcher
│   │   │   │   │   ├── ChildConnectionAllocatorTest.java
│   │   │   │   │   └── ChildProcessConnectionTest.java
│   │   │   │   └── PromiseTest.java
│   │   │   ├── library_loader
│   │   │   │   ├── anchor_functions.h
│   │   │   │   ├── anchor_functions.lds
│   │   │   │   ├── library_loader_hooks.h
│   │   │   │   ├── library_load_from_apk_status_codes.h
│   │   │   │   └── library_prefetcher.h
│   │   │   ├── linker
│   │   │   │   ├── config.gni
│   │   │   │   ├── legacy_linker_jni.h
│   │   │   │   └── linker_jni.h
│   │   │   ├── locale_utils.h
│   │   │   ├── memory_pressure_listener_android.h
│   │   │   ├── path_utils.h
│   │   │   ├── proguard
│   │   │   │   ├── chromium_apk.flags
│   │   │   │   ├── chromium_code.flags
│   │   │   │   ├── disable_all_obfuscation.flags
│   │   │   │   ├── disable_chromium_obfuscation.flags
│   │   │   │   └── enable_obfuscation.flags
│   │   │   ├── sys_utils.h
│   │   │   ├── throw_uncaught_exception.h
│   │   │   ├── timezone_utils.h
│   │   │   └── unguessable_token_android.h
│   │   ├── at_exit.h
│   │   ├── atomicops.h
│   │   ├── atomicops_internals_atomicword_compat.h
│   │   ├── atomicops_internals_portable.h
│   │   ├── atomicops_internals_x86_msvc.h
│   │   ├── atomic_ref_count.h
│   │   ├── atomic_sequence_num.h
│   │   ├── auto_reset.h
│   │   ├── barrier_closure.h
│   │   ├── base64.h
│   │   ├── base64url.h
│   │   ├── base_export.h
│   │   ├── base_paths_android.h
│   │   ├── base_paths_fuchsia.h
│   │   ├── base_paths.h
│   │   ├── base_paths_mac.h
│   │   ├── base_paths_mac.mm
│   │   ├── base_paths_posix.h
│   │   ├── base_paths_win.h
│   │   ├── base_switches.h
│   │   ├── big_endian.h
│   │   ├── bind_helpers.h
│   │   ├── bind_internal.h
│   │   ├── bind_unittest.nc
│   │   ├── bit_cast.h
│   │   ├── bits.h
│   │   ├── build_time.h
│   │   ├── callback_forward.h
│   │   ├── callback.h
│   │   ├── callback_helpers.h
│   │   ├── callback_internal.h
│   │   ├── callback_list.h
│   │   ├── callback_list_unittest.nc
│   │   ├── callback_unittest.nc
│   │   ├── cancelable_callback.h
│   │   ├── command_line.h
│   │   ├── compiler_specific.h
│   │   ├── component_export.h
│   │   ├── containers
│   │   │   ├── adapters.h
│   │   │   ├── circular_deque.h
│   │   │   ├── flat_map.h
│   │   │   ├── flat_set.h
│   │   │   ├── flat_tree.h
│   │   │   ├── hash_tables.h
│   │   │   ├── id_map.h
│   │   │   ├── linked_list.h
│   │   │   ├── mru_cache.h
│   │   │   ├── queue.h
│   │   │   ├── README.md
│   │   │   ├── ring_buffer.h
│   │   │   ├── small_map.h
│   │   │   ├── span.h
│   │   │   ├── span_unittest.nc
│   │   │   ├── stack_container.h
│   │   │   ├── stack.h
│   │   │   ├── unique_ptr_adapters.h
│   │   │   └── vector_buffer.h
│   │   ├── cpu.h
│   │   ├── critical_closure.h
│   │   ├── critical_closure_internal_ios.mm
│   │   ├── debug
│   │   │   ├── alias.h
│   │   │   ├── asan_invalid_access.h
│   │   │   ├── close_handle_hook_win.h
│   │   │   ├── crash_logging.h
│   │   │   ├── debugger.h
│   │   │   ├── dump_without_crashing.h
│   │   │   ├── elf_reader_linux.h
│   │   │   ├── gdi_debug_util_win.h
│   │   │   ├── leak_annotations.h
│   │   │   ├── leak_tracker.h
│   │   │   ├── proc_maps_linux.h
│   │   │   ├── profiler.h
│   │   │   ├── stack_trace.h
│   │   │   ├── task_annotator.h
│   │   │   └── thread_heap_usage_tracker.h
│   │   ├── deferred_sequenced_task_runner.h
│   │   ├── environment.h
│   │   ├── export_template.h
│   │   ├── feature_list.h
│   │   ├── file_descriptor_posix.h
│   │   ├── file_descriptor_store.h
│   │   ├── files
│   │   │   ├── dir_reader_fallback.h
│   │   │   ├── dir_reader_linux.h
│   │   │   ├── dir_reader_posix.h
│   │   │   ├── file_enumerator.h
│   │   │   ├── file_path.h
│   │   │   ├── file_path_watcher_fsevents.h
│   │   │   ├── file_path_watcher.h
│   │   │   ├── file_path_watcher_kqueue.h
│   │   │   ├── file_tracing.h
│   │   │   ├── file_util_mac.mm
│   │   │   ├── important_file_writer.h
│   │   │   └── platform_file.h
│   │   ├── file_version_info.h
│   │   ├── file_version_info_mac.h
│   │   ├── file_version_info_mac.mm
│   │   ├── file_version_info_win.h
│   │   ├── format_macros.h
│   │   ├── fuchsia
│   │   │   ├── async_dispatcher.h
│   │   │   ├── component_context.h
│   │   │   ├── default_job.h
│   │   │   ├── fidl_interface_request.h
│   │   │   ├── fuchsia_logging.h
│   │   │   ├── scoped_service_binding.h
│   │   │   ├── scoped_zx_handle.h
│   │   │   ├── services_directory.h
│   │   │   └── test.fidl
│   │   ├── gtest_prod_util.h
│   │   ├── guid.h
│   │   ├── hash.h
│   │   ├── i18n
│   │   │   ├── base_i18n_export.h
│   │   │   ├── base_i18n_switches.h
│   │   │   ├── bidi_line_iterator.h
│   │   │   ├── break_iterator.h
│   │   │   ├── case_conversion.h
│   │   │   ├── character_encoding.h
│   │   │   ├── char_iterator.h
│   │   │   ├── encoding_detection.h
│   │   │   ├── file_util_icu.h
│   │   │   ├── i18n_constants.h
│   │   │   ├── icu_string_conversions.h
│   │   │   ├── icu_util.h
│   │   │   ├── message_formatter.h
│   │   │   ├── number_formatting.h
│   │   │   ├── rtl.h
│   │   │   ├── streaming_utf8_validator.h
│   │   │   ├── string_compare.h
│   │   │   ├── string_search.h
│   │   │   ├── time_formatting.h
│   │   │   ├── timezone.h
│   │   │   ├── unicodestring.h
│   │   │   └── utf8_validator_tables.h
│   │   ├── ios
│   │   │   ├── block_types.h
│   │   │   ├── crb_protocol_observers.h
│   │   │   ├── crb_protocol_observers.mm
│   │   │   ├── crb_protocol_observers_unittest.mm
│   │   │   ├── device_util.h
│   │   │   ├── device_util.mm
│   │   │   ├── device_util_unittest.mm
│   │   │   ├── ios_util.h
│   │   │   ├── ios_util.mm
│   │   │   ├── ns_error_util.h
│   │   │   ├── ns_error_util.mm
│   │   │   ├── scoped_critical_action.h
│   │   │   ├── scoped_critical_action.mm
│   │   │   ├── weak_nsobject.mm
│   │   │   └── weak_nsobject_unittest.mm
│   │   ├── json
│   │   │   ├── json_parser.h
│   │   │   ├── json_reader.h
│   │   │   ├── json_value_converter.h
│   │   │   ├── json_writer.h
│   │   │   └── string_escape.h
│   │   ├── lazy_instance.h
│   │   ├── lazy_instance_helpers.h
│   │   ├── linux_util.h
│   │   ├── location.h
│   │   ├── logging_win.h
│   │   ├── mac
│   │   │   ├── authorization_util.h
│   │   │   ├── authorization_util.mm
│   │   │   ├── availability.h
│   │   │   ├── bind_objc_block.h
│   │   │   ├── bind_objc_block_unittest_arc.mm
│   │   │   ├── bind_objc_block_unittest.mm
│   │   │   ├── bundle_locations.h
│   │   │   ├── bundle_locations.mm
│   │   │   ├── call_with_eh_frame_asm.S
│   │   │   ├── call_with_eh_frame.h
│   │   │   ├── call_with_eh_frame_unittest.mm
│   │   │   ├── dispatch_source_mach.h
│   │   │   ├── foundation_util.mm
│   │   │   ├── foundation_util_unittest.mm
│   │   │   ├── launch_services_util.h
│   │   │   ├── launch_services_util.mm
│   │   │   ├── mach_logging.h
│   │   │   ├── mach_port_broker.h
│   │   │   ├── mach_port_broker.mm
│   │   │   ├── mac_logging.h
│   │   │   ├── mac_logging.mm
│   │   │   ├── mac_util.h
│   │   │   ├── mac_util.mm
│   │   │   ├── mac_util_unittest.mm
│   │   │   ├── objc_release_properties.h
│   │   │   ├── objc_release_properties.mm
│   │   │   ├── objc_release_properties_unittest.mm
│   │   │   ├── os_crash_dumps.h
│   │   │   ├── scoped_aedesc.h
│   │   │   ├── scoped_cffiledescriptorref.h
│   │   │   ├── scoped_dispatch_object.h
│   │   │   ├── scoped_ionotificationportref.h
│   │   │   ├── scoped_ioobject.h
│   │   │   ├── scoped_ioplugininterface.h
│   │   │   ├── scoped_launch_data.h
│   │   │   ├── scoped_nsautorelease_pool.h
│   │   │   ├── scoped_nsautorelease_pool.mm
│   │   │   ├── scoped_nsobject.mm
│   │   │   ├── scoped_nsobject_unittest_arc.mm
│   │   │   ├── scoped_nsobject_unittest.mm
│   │   │   ├── scoped_objc_class_swizzler.h
│   │   │   ├── scoped_objc_class_swizzler.mm
│   │   │   ├── scoped_objc_class_swizzler_unittest.mm
│   │   │   ├── scoped_sending_event.h
│   │   │   ├── scoped_sending_event.mm
│   │   │   ├── scoped_sending_event_unittest.mm
│   │   │   ├── sdk_forward_declarations.h
│   │   │   └── sdk_forward_declarations.mm
│   │   ├── macros.h
│   │   ├── md5.h
│   │   ├── memory
│   │   │   ├── aligned_memory.h
│   │   │   ├── discardable_memory.h
│   │   │   ├── free_deleter.h
│   │   │   ├── memory_pressure_listener.h
│   │   │   ├── memory_pressure_monitor_chromeos.h
│   │   │   ├── memory_pressure_monitor.h
│   │   │   ├── memory_pressure_monitor_mac.h
│   │   │   ├── memory_pressure_monitor_win.h
│   │   │   ├── protected_memory_cfi.h
│   │   │   ├── raw_scoped_refptr_mismatch_checker.h
│   │   │   ├── ref_counted_delete_on_sequence.h
│   │   │   ├── ref_counted.h
│   │   │   ├── ref_counted_unittest.nc
│   │   │   ├── shared_memory_helper.h
│   │   │   ├── shared_memory_mapping.h
│   │   │   ├── shared_memory_tracker.h
│   │   │   ├── singleton.h
│   │   │   └── weak_ptr_unittest.nc
│   │   ├── message_loop
│   │   │   ├── message_loop.h
│   │   │   ├── message_loop_task_runner.h
│   │   │   ├── message_pump_android.h
│   │   │   ├── message_pump_default.h
│   │   │   ├── message_pump_for_io.h
│   │   │   ├── message_pump_for_ui.h
│   │   │   ├── message_pump_fuchsia.h
│   │   │   ├── message_pump_glib.h
│   │   │   ├── message_pump.h
│   │   │   ├── message_pump_mac.h
│   │   │   ├── message_pump_mac.mm
│   │   │   ├── message_pump_mac_unittest.mm
│   │   │   ├── message_pump_win.h
│   │   │   ├── timer_slack.h
│   │   │   └── watchable_io_message_pump_posix.h
│   │   ├── metrics
│   │   │   ├── bucket_ranges.h
│   │   │   ├── dummy_histogram.h
│   │   │   ├── field_trial_param_associator.h
│   │   │   ├── field_trial_params.h
│   │   │   ├── field_trial_params_unittest.nc
│   │   │   ├── histogram_base.h
│   │   │   ├── histogram_delta_serialization.h
│   │   │   ├── histogram_flattener.h
│   │   │   ├── histogram_functions.h
│   │   │   ├── histogram.h
│   │   │   ├── histogram_macros.h
│   │   │   ├── histogram_macros_internal.h
│   │   │   ├── histogram_macros_local.h
│   │   │   ├── histogram_snapshot_manager.h
│   │   │   ├── histogram_unittest.nc
│   │   │   ├── metrics_hashes.h
│   │   │   ├── persistent_histogram_storage.h
│   │   │   ├── persistent_sample_map.h
│   │   │   ├── record_histogram_checker.h
│   │   │   ├── sample_map.h
│   │   │   ├── single_sample_metrics.h
│   │   │   ├── sparse_histogram.h
│   │   │   ├── user_metrics_action.h
│   │   │   └── user_metrics.h
│   │   ├── native_library.h
│   │   ├── native_library_ios.mm
│   │   ├── native_library_mac.mm
│   │   ├── nix
│   │   │   ├── mime_util_xdg.h
│   │   │   └── xdg_util.h
│   │   ├── no_destructor.h
│   │   ├── numerics
│   │   │   ├── checked_math.h
│   │   │   ├── checked_math_impl.h
│   │   │   ├── clamped_math.h
│   │   │   ├── clamped_math_impl.h
│   │   │   ├── math_constants.h
│   │   │   ├── ranges.h
│   │   │   ├── README.md
│   │   │   ├── safe_conversions_arm_impl.h
│   │   │   ├── safe_conversions.h
│   │   │   ├── safe_conversions_impl.h
│   │   │   ├── safe_math_arm_impl.h
│   │   │   ├── safe_math_clang_gcc_impl.h
│   │   │   ├── safe_math.h
│   │   │   └── safe_math_shared_impl.h
│   │   ├── observer_list.h
│   │   ├── observer_list_threadsafe.h
│   │   ├── optional.h
│   │   ├── optional_unittest.nc
│   │   ├── os_compat_android.h
│   │   ├── os_compat_nacl.h
│   │   ├── path_service.h
│   │   ├── pending_task.h
│   │   ├── pickle.h
│   │   ├── posix
│   │   │   ├── eintr_wrapper.h
│   │   │   ├── file_descriptor_shuffle.h
│   │   │   ├── global_descriptors.h
│   │   │   └── safe_strerror.h
│   │   ├── post_task_and_reply_with_result_internal.h
│   │   ├── power_monitor
│   │   │   ├── power_monitor_device_source.h
│   │   │   ├── power_monitor_device_source_ios.mm
│   │   │   ├── power_monitor_device_source_mac.mm
│   │   │   ├── power_monitor_source.h
│   │   │   └── power_observer.h
│   │   ├── PRESUBMIT.py
│   │   ├── process
│   │   │   ├── internal_aix.h
│   │   │   ├── internal_linux.h
│   │   │   ├── kill.h
│   │   │   ├── launch.h
│   │   │   ├── memory.h
│   │   │   ├── memory_mac.mm
│   │   │   ├── memory_unittest_mac.h
│   │   │   ├── memory_unittest_mac.mm
│   │   │   ├── port_provider_mac.h
│   │   │   ├── process_handle.h
│   │   │   ├── process_info.h
│   │   │   ├── process_iterator.h
│   │   │   ├── process_metrics.h
│   │   │   └── process_metrics_iocounters.h
│   │   ├── profiler
│   │   │   ├── native_stack_sampler.h
│   │   │   ├── stack_sampling_profiler.h
│   │   │   └── win32_stack_frame_unwinder.h
│   │   ├── rand_util.h
│   │   ├── run_loop.h
│   │   ├── sampling_heap_profiler
│   │   │   └── sampling_heap_profiler.h
│   │   ├── scoped_clear_errno.h
│   │   ├── scoped_observer.h
│   │   ├── sequence_checker.h
│   │   ├── sequence_checker_impl.h
│   │   ├── sequenced_task_runner.h
│   │   ├── sequenced_task_runner_helpers.h
│   │   ├── sequence_token.h
│   │   ├── sha1.h
│   │   ├── single_thread_task_runner.h
│   │   ├── stl_util.h
│   │   ├── strings
│   │   │   ├── char_traits.h
│   │   │   ├── latin1_string_conversions.h
│   │   │   ├── nullable_string16.h
│   │   │   ├── old_utf_string_conversions.h
│   │   │   ├── pattern.h
│   │   │   ├── safe_sprintf.h
│   │   │   ├── strcat.h
│   │   │   ├── string16.h
│   │   │   ├── string16_unittest.nc
│   │   │   ├── stringize_macros.h
│   │   │   ├── string_number_conversions.h
│   │   │   ├── string_piece_forward.h
│   │   │   ├── string_piece.h
│   │   │   ├── stringprintf.h
│   │   │   ├── string_split.h
│   │   │   ├── string_tokenizer.h
│   │   │   ├── string_util.h
│   │   │   ├── string_util_posix.h
│   │   │   ├── string_util_win.h
│   │   │   ├── sys_string_conversions.h
│   │   │   ├── sys_string_conversions_mac.mm
│   │   │   ├── sys_string_conversions_mac_unittest.mm
│   │   │   ├── utf_offset_string_conversions.h
│   │   │   ├── utf_string_conversions.h
│   │   │   └── utf_string_conversion_utils.h
│   │   ├── synchronization
│   │   │   ├── atomic_flag.h
│   │   │   ├── cancellation_flag.h
│   │   │   ├── condition_variable.h
│   │   │   ├── lock.h
│   │   │   ├── lock_impl.h
│   │   │   ├── spin_wait.h
│   │   │   └── waitable_event_watcher.h
│   │   ├── sys_byteorder.h
│   │   ├── sys_info.h
│   │   ├── sys_info_internal.h
│   │   ├── sys_info_ios.mm
│   │   ├── sys_info_mac.mm
│   │   ├── syslog_logging.h
│   │   ├── system_monitor
│   │   │   └── system_monitor.h
│   │   ├── task
│   │   │   ├── cancelable_task_tracker.h
│   │   │   ├── README.md
│   │   │   ├── sequence_manager
│   │   │   └── task_scheduler
│   │   ├── task_runner_util.h
│   │   ├── task_scheduler
│   │   │   ├── can_schedule_sequence_observer.h
│   │   │   ├── delayed_task_manager.h
│   │   │   ├── environment_config.h
│   │   │   ├── initialization_util.h
│   │   │   ├── lazy_task_runner.h
│   │   │   ├── platform_native_worker_pool_win.h
│   │   │   ├── post_task.h
│   │   │   ├── priority_queue.h
│   │   │   ├── scheduler_lock.h
│   │   │   ├── scheduler_lock_impl.h
│   │   │   ├── scheduler_single_thread_task_runner_manager.h
│   │   │   ├── scheduler_worker.h
│   │   │   ├── scheduler_worker_observer.h
│   │   │   ├── scheduler_worker_params.h
│   │   │   ├── scheduler_worker_pool.h
│   │   │   ├── scheduler_worker_pool_impl.h
│   │   │   ├── scheduler_worker_pool_params.h
│   │   │   ├── scheduler_worker_stack.h
│   │   │   ├── scoped_set_task_priority_for_current_thread.h
│   │   │   ├── sequence_sort_key.h
│   │   │   ├── service_thread.h
│   │   │   ├── single_thread_task_runner_thread_mode.h
│   │   │   ├── task_scheduler_impl.h
│   │   │   ├── task_tracker.h
│   │   │   ├── task_tracker_posix.h
│   │   │   ├── task_traits_details.h
│   │   │   ├── task_traits_unittest.nc
│   │   │   ├── test_task_factory.h
│   │   │   └── test_utils.h
│   │   ├── template_util.h
│   │   ├── test
│   │   │   ├── android
│   │   │   │   ├── java
│   │   │   │   │   └── src
│   │   │   │   │   └── org
│   │   │   │   │   └── chromium
│   │   │   │   │   └── base
│   │   │   │   │   ├── ContentUriTestUtils.java
│   │   │   │   │   ├── ITestCallback.aidl
│   │   │   │   │   ├── ITestController.aidl
│   │   │   │   │   ├── JavaHandlerThreadHelpers.java
│   │   │   │   │   ├── MainReturnCodeResult.java
│   │   │   │   │   ├── MultiprocessTestClientService0.java
│   │   │   │   │   ├── MultiprocessTestClientService1.java
│   │   │   │   │   ├── MultiprocessTestClientService2.java
│   │   │   │   │   ├── MultiprocessTestClientService3.java
│   │   │   │   │   ├── MultiprocessTestClientService4.java
│   │   │   │   │   ├── MultiprocessTestClientServiceDelegate.java
│   │   │   │   │   ├── MultiprocessTestClientService.java
│   │   │   │   │   └── TestUiThread.java
│   │   │   │   ├── java_handler_thread_helpers.h
│   │   │   │   ├── javatests
│   │   │   │   │   └── src
│   │   │   │   │   └── org
│   │   │   │   │   └── chromium
│   │   │   │   │   └── base
│   │   │   │   │   └── test
│   │   │   │   │   ├── BaseChromiumAndroidJUnitRunner.java
│   │   │   │   │   ├── BaseChromiumRunnerCommon.java
│   │   │   │   │   ├── BaseJUnit4ClassRunner.java
│   │   │   │   │   ├── BaseTestResult.java
│   │   │   │   │   ├── params
│   │   │   │   │   │   ├── BaseJUnit4RunnerDelegate.java
│   │   │   │   │   │   ├── BlockJUnit4RunnerDelegate.java
│   │   │   │   │   │   ├── MethodParamAnnotationRule.java
│   │   │   │   │   │   ├── MethodParamRule.java
│   │   │   │   │   │   ├── ParameterAnnotations.java
│   │   │   │   │   │   ├── ParameterizedFrameworkMethod.java
│   │   │   │   │   │   ├── ParameterizedRunnerDelegateCommon.java
│   │   │   │   │   │   ├── ParameterizedRunnerDelegateFactory.java
│   │   │   │   │   │   ├── ParameterizedRunnerDelegate.java
│   │   │   │   │   │   ├── ParameterizedRunner.java
│   │   │   │   │   │   ├── ParameterProvider.java
│   │   │   │   │   │   └── ParameterSet.java
│   │   │   │   │   ├── ScreenshotOnFailureStatement.java
│   │   │   │   │   ├── SetUpStatement.java
│   │   │   │   │   ├── SetUpTestRule.java
│   │   │   │   │   ├── TestChildProcessConnection.java
│   │   │   │   │   ├── TestListInstrumentationRunListener.java
│   │   │   │   │   ├── TestTraceEvent.java
│   │   │   │   │   └── util
│   │   │   │   │   ├── AdvancedMockContext.java
│   │   │   │   │   ├── AnnotationProcessingUtils.java
│   │   │   │   │   ├── AnnotationRule.java
│   │   │   │   │   ├── CallbackHelper.java
│   │   │   │   │   ├── CommandLineFlags.java
│   │   │   │   │   ├── DisabledTest.java
│   │   │   │   │   ├── DisableIf.java
│   │   │   │   │   ├── DisableIfSkipCheck.java
│   │   │   │   │   ├── EnormousTest.java
│   │   │   │   │   ├── Feature.java
│   │   │   │   │   ├── FlakyTest.java
│   │   │   │   │   ├── InMemorySharedPreferences.java
│   │   │   │   │   ├── InstrumentationUtils.java
│   │   │   │   │   ├── IntegrationTest.java
│   │   │   │   │   ├── Manual.java
│   │   │   │   │   ├── ManualSkipCheck.java
│   │   │   │   │   ├── Matchers.java
│   │   │   │   │   ├── MetricsUtils.java
│   │   │   │   │   ├── MinAndroidSdkLevel.java
│   │   │   │   │   ├── MinAndroidSdkLevelSkipCheck.java
│   │   │   │   │   ├── parameter
│   │   │   │   │   │   ├── CommandLineParameter.java
│   │   │   │   │   │   └── SkipCommandLineParameterization.java
│   │   │   │   │   ├── Restriction.java
│   │   │   │   │   ├── RestrictionSkipCheck.java
│   │   │   │   │   ├── RetryOnFailure.java
│   │   │   │   │   ├── ScalableTimeout.java
│   │   │   │   │   ├── SkipCheck.java
│   │   │   │   │   ├── TestFileUtil.java
│   │   │   │   │   ├── TestThread.java
│   │   │   │   │   ├── TimeoutScale.java
│   │   │   │   │   ├── UrlUtils.java
│   │   │   │   │   └── UserActionTester.java
│   │   │   │   ├── junit
│   │   │   │   │   └── src
│   │   │   │   │   └── org
│   │   │   │   │   └── chromium
│   │   │   │   │   └── base
│   │   │   │   │   └── test
│   │   │   │   │   ├── BaseRobolectricTestRunner.java
│   │   │   │   │   ├── params
│   │   │   │   │   │   ├── ExampleParameterizedTest.java
│   │   │   │   │   │   ├── ParameterizedRunnerDelegateCommonTest.java
│   │   │   │   │   │   ├── ParameterizedRunnerDelegateFactoryTest.java
│   │   │   │   │   │   ├── ParameterizedRunnerTest.java
│   │   │   │   │   │   └── ParameterizedTestNameTest.java
│   │   │   │   │   ├── SetUpStatementTest.java
│   │   │   │   │   ├── TestListInstrumentationRunListenerTest.java
│   │   │   │   │   └── util
│   │   │   │   │   ├── AnnotationProcessingUtilsTest.java
│   │   │   │   │   ├── DisableIfTest.java
│   │   │   │   │   ├── ManualSkipCheckTest.java
│   │   │   │   │   ├── MinAndroidSdkLevelSkipCheckTest.java
│   │   │   │   │   ├── RestrictionSkipCheckTest.java
│   │   │   │   │   └── SkipCheckTest.java
│   │   │   │   └── url_utils.h
│   │   │   ├── bind_test_util.h
│   │   │   ├── copy_only_int.h
│   │   │   ├── data
│   │   │   │   ├── file_util
│   │   │   │   │   ├── binary_file.bin
│   │   │   │   │   ├── binary_file_diff.bin
│   │   │   │   │   ├── binary_file_same.bin
│   │   │   │   │   ├── blank_line_crlf.txt
│   │   │   │   │   ├── blank_line.txt
│   │   │   │   │   ├── crlf.txt
│   │   │   │   │   ├── different_first.txt
│   │   │   │   │   ├── different_last.txt
│   │   │   │   │   ├── different.txt
│   │   │   │   │   ├── empty1.txt
│   │   │   │   │   ├── empty2.txt
│   │   │   │   │   ├── first1.txt
│   │   │   │   │   ├── first2.txt
│   │   │   │   │   ├── original.txt
│   │   │   │   │   ├── red.png
│   │   │   │   │   ├── same_length.txt
│   │   │   │   │   ├── same.txt
│   │   │   │   │   └── shortened.txt
│   │   │   │   ├── file_version_info_unittest
│   │   │   │   │   ├── FileVersionInfoTest1.dll
│   │   │   │   │   └── FileVersionInfoTest2.dll
│   │   │   │   ├── json
│   │   │   │   │   └── bom_feff.json
│   │   │   │   ├── pe_image
│   │   │   │   │   ├── pe_image_test_32.dll
│   │   │   │   │   └── pe_image_test_64.dll
│   │   │   │   ├── serializer_nested_test.json
│   │   │   │   ├── serializer_test.json
│   │   │   │   └── serializer_test_nowhitespace.json
│   │   │   ├── fontconfig_util_linux.h
│   │   │   ├── fuzzed_data_provider.h
│   │   │   ├── gtest_util.h
│   │   │   ├── gtest_xml_unittest_result_printer.h
│   │   │   ├── gtest_xml_util.h
│   │   │   ├── histogram_tester.h
│   │   │   ├── icu_test_util.h
│   │   │   ├── ios
│   │   │   │   ├── wait_util.h
│   │   │   │   └── wait_util.mm
│   │   │   ├── launcher
│   │   │   │   ├── test_launcher.h
│   │   │   │   ├── test_launcher_nacl_nonsfi.h
│   │   │   │   ├── test_launcher_tracer.h
│   │   │   │   ├── test_result.h
│   │   │   │   ├── test_results_tracker.h
│   │   │   │   └── unit_test_launcher.h
│   │   │   ├── malloc_wrapper.h
│   │   │   ├── mock_callback.h
│   │   │   ├── mock_callback.h.pump
│   │   │   ├── mock_chrome_application_mac.h
│   │   │   ├── mock_chrome_application_mac.mm
│   │   │   ├── mock_devices_changed_observer.h
│   │   │   ├── mock_entropy_provider.h
│   │   │   ├── mock_log.h
│   │   │   ├── move_only_int.h
│   │   │   ├── multiprocess_test.h
│   │   │   ├── native_library_test_utils.h
│   │   │   ├── null_task_runner.h
│   │   │   ├── perf_log.h
│   │   │   ├── perf_test_suite.h
│   │   │   ├── perf_time_logger.h
│   │   │   ├── power_monitor_test_base.h
│   │   │   ├── scoped_command_line.h
│   │   │   ├── scoped_environment_variable_override.h
│   │   │   ├── scoped_feature_list.h
│   │   │   ├── scoped_locale.h
│   │   │   ├── scoped_mock_time_message_loop_task_runner.h
│   │   │   ├── scoped_path_override.h
│   │   │   ├── scoped_task_environment.h
│   │   │   ├── sequenced_task_runner_test_template.h
│   │   │   ├── simple_test_clock.h
│   │   │   ├── simple_test_tick_clock.h
│   │   │   ├── task_runner_test_template.h
│   │   │   ├── test_discardable_memory_allocator.h
│   │   │   ├── test_file_util.h
│   │   │   ├── test_io_thread.h
│   │   │   ├── test_listener_ios.h
│   │   │   ├── test_listener_ios.mm
│   │   │   ├── test_message_loop.h
│   │   │   ├── test_mock_time_task_runner.h
│   │   │   ├── test_pending_task.h
│   │   │   ├── test_reg_util_win.h
│   │   │   ├── test_shared_memory_util.h
│   │   │   ├── test_shortcut_win.h
│   │   │   ├── test_simple_task_runner.h
│   │   │   ├── test_suite.h
│   │   │   ├── test_support_android.h
│   │   │   ├── test_support_ios.h
│   │   │   ├── test_support_ios.mm
│   │   │   ├── test_switches.h
│   │   │   ├── test_timeouts.h
│   │   │   ├── test_ui_thread_android.h
│   │   │   ├── thread_test_helper.h
│   │   │   ├── trace_event_analyzer.h
│   │   │   ├── trace_to_file.h
│   │   │   ├── user_action_tester.h
│   │   │   └── values_test_util.h
│   │   ├── third_party
│   │   │   ├── dmg_fp
│   │   │   │   ├── const_hexdig.patch
│   │   │   │   ├── dmg_fp.h
│   │   │   │   ├── exp_length.patch
│   │   │   │   ├── gcc_64_bit.patch
│   │   │   │   ├── gcc_warnings.patch
│   │   │   │   ├── LICENSE
│   │   │   │   ├── mac_wextra.patch
│   │   │   │   ├── msvc_warnings.patch
│   │   │   │   └── README.chromium
│   │   │   ├── dynamic_annotations
│   │   │   │   ├── dynamic_annotations.c
│   │   │   │   ├── dynamic_annotations.h
│   │   │   │   ├── LICENSE
│   │   │   │   └── README.chromium
│   │   │   ├── icu
│   │   │   │   ├── icu_utf.h
│   │   │   │   ├── LICENSE
│   │   │   │   └── README.chromium
│   │   │   ├── libevent
│   │   │   │   ├── aix
│   │   │   │   │   ├── config.h
│   │   │   │   │   └── event-config.h
│   │   │   │   ├── android
│   │   │   │   │   ├── config.h
│   │   │   │   │   └── event-config.h
│   │   │   │   ├── autogen.sh
│   │   │   │   ├── buffer.c
│   │   │   │   ├── ChangeLog
│   │   │   │   ├── chromium.patch
│   │   │   │   ├── compat
│   │   │   │   │   └── sys
│   │   │   │   │   ├── _libevent_time.h
│   │   │   │   │   └── queue.h
│   │   │   │   ├── configure.in
│   │   │   │   ├── devpoll.c
│   │   │   │   ├── Doxyfile
│   │   │   │   ├── epoll.c
│   │   │   │   ├── epoll_sub.c
│   │   │   │   ├── evbuffer.c
│   │   │   │   ├── evdns.3
│   │   │   │   ├── evdns.c
│   │   │   │   ├── evdns.h
│   │   │   │   ├── event.3
│   │   │   │   ├── event.c
│   │   │   │   ├── event-config.h
│   │   │   │   ├── event.h
│   │   │   │   ├── event-internal.h
│   │   │   │   ├── event_rpcgen.py
│   │   │   │   ├── event_tagging.c
│   │   │   │   ├── evport.c
│   │   │   │   ├── evrpc.c
│   │   │   │   ├── evrpc.h
│   │   │   │   ├── evrpc-internal.h
│   │   │   │   ├── evsignal.h
│   │   │   │   ├── evutil.c
│   │   │   │   ├── evutil.h
│   │   │   │   ├── freebsd
│   │   │   │   │   ├── config.h
│   │   │   │   │   └── event-config.h
│   │   │   │   ├── http.c
│   │   │   │   ├── http-internal.h
│   │   │   │   ├── kqueue.c
│   │   │   │   ├── LICENSE
│   │   │   │   ├── linux
│   │   │   │   │   ├── config.h
│   │   │   │   │   └── event-config.h
│   │   │   │   ├── log.c
│   │   │   │   ├── log.h
│   │   │   │   ├── m4
│   │   │   │   ├── mac
│   │   │   │   │   ├── config.h
│   │   │   │   │   └── event-config.h
│   │   │   │   ├── Makefile.am
│   │   │   │   ├── Makefile.nmake
│   │   │   │   ├── min_heap.h
│   │   │   │   ├── nacl_nonsfi
│   │   │   │   │   ├── config.h
│   │   │   │   │   ├── event-config.h
│   │   │   │   │   ├── random.c
│   │   │   │   │   └── signal_stub.c
│   │   │   │   ├── poll.c
│   │   │   │   ├── README
│   │   │   │   ├── README.chromium
│   │   │   │   ├── sample
│   │   │   │   │   ├── event-test.c
│   │   │   │   │   ├── Makefile.am
│   │   │   │   │   ├── signal-test.c
│   │   │   │   │   └── time-test.c
│   │   │   │   ├── select.c
│   │   │   │   ├── signal.c
│   │   │   │   ├── solaris
│   │   │   │   │   ├── config.h
│   │   │   │   │   └── event-config.h
│   │   │   │   ├── stamp-h.in
│   │   │   │   ├── strlcpy.c
│   │   │   │   ├── strlcpy-internal.h
│   │   │   │   ├── test
│   │   │   │   │   ├── bench.c
│   │   │   │   │   ├── Makefile.am
│   │   │   │   │   ├── Makefile.nmake
│   │   │   │   │   ├── regress.c
│   │   │   │   │   ├── regress_dns.c
│   │   │   │   │   ├── regress.h
│   │   │   │   │   ├── regress.rpc
│   │   │   │   │   ├── regress_rpc.c
│   │   │   │   │   ├── test-eof.c
│   │   │   │   │   ├── test-init.c
│   │   │   │   │   ├── test.sh
│   │   │   │   │   ├── test-time.c
│   │   │   │   │   └── test-weof.c
│   │   │   │   └── whatsnew-14.txt
│   │   │   ├── nspr
│   │   │   │   ├── LICENSE
│   │   │   │   ├── prtime.h
│   │   │   │   └── README.chromium
│   │   │   ├── superfasthash
│   │   │   │   ├── LICENSE
│   │   │   │   ├── README.chromium
│   │   │   │   └── superfasthash.c
│   │   │   ├── symbolize
│   │   │   │   ├── config.h
│   │   │   │   ├── demangle.h
│   │   │   │   ├── glog
│   │   │   │   │   ├── logging.h
│   │   │   │   │   └── raw_logging.h
│   │   │   │   ├── LICENSE
│   │   │   │   ├── README.chromium
│   │   │   │   ├── symbolize.h
│   │   │   │   └── utilities.h
│   │   │   ├── valgrind
│   │   │   │   ├── LICENSE
│   │   │   │   ├── memcheck.h
│   │   │   │   ├── README.chromium
│   │   │   │   └── valgrind.h
│   │   │   ├── xdg_mime
│   │   │   │   ├── compile.patch
│   │   │   │   ├── free_pointer_later.patch
│   │   │   │   ├── function_casts.patch
│   │   │   │   ├── LICENSE
│   │   │   │   ├── README
│   │   │   │   ├── README.chromium
│   │   │   │   ├── xdgmimealias.c
│   │   │   │   ├── xdgmimealias.h
│   │   │   │   ├── xdgmime.c
│   │   │   │   ├── xdgmimecache.c
│   │   │   │   ├── xdgmimecache.h
│   │   │   │   ├── xdgmimeglob.c
│   │   │   │   ├── xdgmimeglob.h
│   │   │   │   ├── xdgmime.h
│   │   │   │   ├── xdgmimeicon.c
│   │   │   │   ├── xdgmimeicon.h
│   │   │   │   ├── xdgmimeint.c
│   │   │   │   ├── xdgmimeint.h
│   │   │   │   ├── xdgmimemagic.c
│   │   │   │   ├── xdgmimemagic.h
│   │   │   │   ├── xdgmimeparent.c
│   │   │   │   └── xdgmimeparent.h
│   │   │   └── xdg_user_dirs
│   │   │   ├── LICENSE
│   │   │   ├── README.chromium
│   │   │   └── xdg_user_dir_lookup.h
│   │   ├── thread_annotations_unittest.nc
│   │   ├── threading
│   │   │   ├── platform_thread.h
│   │   │   ├── platform_thread_internal_posix.h
│   │   │   ├── platform_thread_mac.mm
│   │   │   ├── post_task_and_reply_impl.h
│   │   │   ├── scoped_blocking_call.h
│   │   │   ├── sequenced_task_runner_handle.h
│   │   │   ├── sequence_local_storage_map.h
│   │   │   ├── sequence_local_storage_slot.h
│   │   │   ├── simple_thread.h
│   │   │   ├── thread_checker.h
│   │   │   ├── thread_checker_impl.h
│   │   │   ├── thread_collision_warner.h
│   │   │   ├── thread_id_name_manager.h
│   │   │   ├── thread_local.h
│   │   │   ├── thread_restrictions.h
│   │   │   ├── thread_task_runner_handle.h
│   │   │   └── watchdog.h
│   │   ├── time
│   │   │   ├── clock.h
│   │   │   ├── default_clock.h
│   │   │   ├── default_tick_clock.h
│   │   │   ├── tick_clock.h
│   │   │   ├── time.h
│   │   │   └── time_to_iso8601.h
│   │   ├── timer
│   │   │   ├── elapsed_timer.h
│   │   │   ├── hi_res_timer_manager.h
│   │   │   ├── mock_timer.h
│   │   │   └── timer.h
│   │   ├── trace_event
│   │   │   ├── auto_open_close_event.h
│   │   │   ├── blame_context.h
│   │   │   ├── category_registry.h
│   │   │   ├── cfi_backtrace_android.h
│   │   │   ├── common
│   │   │   ├── etw_manifest
│   │   │   │   └── chrome_events_win.man
│   │   │   ├── event_name_filter.h
│   │   │   ├── heap_profiler_allocation_context.h
│   │   │   ├── heap_profiler_allocation_context_tracker.h
│   │   │   ├── heap_profiler_allocation_register.h
│   │   │   ├── heap_profiler_event_filter.h
│   │   │   ├── heap_profiler.h
│   │   │   ├── heap_profiler_heap_dump_writer.h
│   │   │   ├── heap_profiler_serialization_state.h
│   │   │   ├── heap_profiler_stack_frame_deduplicator.h
│   │   │   ├── heap_profiler_type_name_deduplicator.h
│   │   │   ├── java_heap_dump_provider_android.h
│   │   │   ├── malloc_dump_provider.h
│   │   │   ├── memory_allocator_dump_guid.h
│   │   │   ├── memory_allocator_dump.h
│   │   │   ├── memory_dump_manager_test_utils.h
│   │   │   ├── memory_dump_provider.h
│   │   │   ├── memory_dump_request_args.h
│   │   │   ├── memory_dump_scheduler.h
│   │   │   ├── memory_infra_background_whitelist.h
│   │   │   ├── memory_peak_detector.h
│   │   │   ├── sharded_allocation_register.h
│   │   │   ├── trace_buffer.h
│   │   │   ├── trace_category.h
│   │   │   ├── trace_config_category_filter.h
│   │   │   ├── trace_config.h
│   │   │   ├── trace_config_memory_test_util.h
│   │   │   ├── trace_event_argument.h
│   │   │   ├── trace_event_etw_export_win.h
│   │   │   ├── trace_event_filter.h
│   │   │   ├── trace_event_filter_test_utils.h
│   │   │   ├── trace_event.h
│   │   │   ├── trace_event_impl.h
│   │   │   ├── trace_event_memory_overhead.h
│   │   │   ├── trace_event_system_stats_monitor.h
│   │   │   ├── trace_log.h
│   │   │   └── tracing_agent.h
│   │   ├── tuple.h
│   │   ├── unguessable_token.h
│   │   ├── value_iterators.h
│   │   ├── version.h
│   │   ├── vlog.h
│   │   └── win
│   │   ├── async_operation.h
│   │   ├── com_init_check_hook.h
│   │   ├── com_init_util.h
│   │   ├── core_winrt_util.h
│   │   ├── current_module.h
│   │   ├── enum_variant.h
│   │   ├── event_trace_consumer.h
│   │   ├── event_trace_controller.h
│   │   ├── event_trace_provider.h
│   │   ├── i18n.h
│   │   ├── iunknown_impl.h
│   │   ├── message_window.h
│   │   ├── object_watcher.h
│   │   ├── patch_util.h
│   │   ├── pe_image.h
│   │   ├── process_startup_helper.h
│   │   ├── resource_util.h
│   │   ├── scoped_co_mem.h
│   │   ├── scoped_com_initializer.h
│   │   ├── scoped_gdi_object.h
│   │   ├── scoped_handle_verifier.h
│   │   ├── scoped_hdc.h
│   │   ├── scoped_hglobal.h
│   │   ├── scoped_propvariant.h
│   │   ├── scoped_select_object.h
│   │   ├── scoped_windows_thread_environment.h
│   │   ├── scoped_winrt_initializer.h
│   │   ├── shortcut.h
│   │   ├── startup_information.h
│   │   ├── typed_event_handler.h
│   │   ├── wait_chain.h
│   │   ├── win_client_metrics.h
│   │   ├── windows_full.h
│   │   ├── windows_types.h
│   │   ├── windows_version.h
│   │   ├── winrt_storage_util.h
│   │   ├── win_util.h
│   │   └── wrapped_window_proc.h
│   ├── call
│   │   ├── audio_send_stream.h
│   │   ├── audio_state.h
│   │   ├── bitrate_allocator.h
│   │   ├── bitrate_constraints.h
│   │   ├── call_config.h
│   │   ├── callfactory.h
│   │   ├── degraded_call.h
│   │   ├── fake_network_pipe.h
│   │   ├── flexfec_receive_stream.h
│   │   ├── flexfec_receive_stream_impl.h
│   │   ├── rampup_tests.h
│   │   ├── receive_time_calculator.h
│   │   ├── rtcp_demuxer.h
│   │   ├── rtcp_packet_sink_interface.h
│   │   ├── rtp_bitrate_configurator.h
│   │   ├── rtp_config.h
│   │   ├── rtp_demuxer.h
│   │   ├── rtp_packet_sink_interface.h
│   │   ├── rtp_rtcp_demuxer_helper.h
│   │   ├── rtp_stream_receiver_controller.h
│   │   ├── rtp_transport_controller_send.h
│   │   ├── rtx_receive_stream.h
│   │   ├── ssrc_binding_observer.h
│   │   ├── syncable.h
│   │   ├── test
│   │   │   ├── mock_audio_send_stream.h
│   │   │   ├── mock_bitrate_allocator.h
│   │   │   ├── mock_rtp_packet_sink_interface.h
│   │   │   └── mock_rtp_transport_controller_send.h
│   │   └── video_config.h
│   ├── common_audio
│   │   ├── audio_converter.h
│   │   ├── audio_ring_buffer.h
│   │   ├── channel_buffer.h
│   │   ├── fft4g.c
│   │   ├── fft4g.h
│   │   ├── fir_filter_c.h
│   │   ├── fir_filter_factory.h
│   │   ├── fir_filter.h
│   │   ├── fir_filter_neon.h
│   │   ├── fir_filter_sse.h
│   │   ├── include
│   │   │   └── audio_util.h
│   │   ├── lapped_transform.h
│   │   ├── mocks
│   │   │   └── mock_smoothing_filter.h
│   │   ├── real_fourier.h
│   │   ├── real_fourier_ooura.h
│   │   ├── resampler
│   │   │   ├── include
│   │   │   │   ├── push_resampler.h
│   │   │   │   └── resampler.h
│   │   │   ├── push_sinc_resampler.h
│   │   │   ├── sinc_resampler.h
│   │   │   └── sinusoidal_linear_chirp_source.h
│   │   ├── ring_buffer.c
│   │   ├── ring_buffer.h
│   │   ├── signal_processing
│   │   │   ├── auto_correlation.c
│   │   │   ├── auto_corr_to_refl_coef.c
│   │   │   ├── complex_bit_reverse_arm.S
│   │   │   ├── complex_bit_reverse.c
│   │   │   ├── complex_bit_reverse_mips.c
│   │   │   ├── complex_fft.c
│   │   │   ├── complex_fft_mips.c
│   │   │   ├── complex_fft_tables.h
│   │   │   ├── copy_set_operations.c
│   │   │   ├── cross_correlation.c
│   │   │   ├── cross_correlation_mips.c
│   │   │   ├── cross_correlation_neon.c
│   │   │   ├── division_operations.c
│   │   │   ├── dot_product_with_scale.h
│   │   │   ├── downsample_fast.c
│   │   │   ├── downsample_fast_mips.c
│   │   │   ├── downsample_fast_neon.c
│   │   │   ├── energy.c
│   │   │   ├── filter_ar.c
│   │   │   ├── filter_ar_fast_q12_armv7.S
│   │   │   ├── filter_ar_fast_q12.c
│   │   │   ├── filter_ar_fast_q12_mips.c
│   │   │   ├── filter_ma_fast_q12.c
│   │   │   ├── get_hanning_window.c
│   │   │   ├── get_scaling_square.c
│   │   │   ├── ilbc_specific_functions.c
│   │   │   ├── include
│   │   │   │   ├── real_fft.h
│   │   │   │   ├── signal_processing_library.h
│   │   │   │   ├── spl_inl_armv7.h
│   │   │   │   ├── spl_inl.h
│   │   │   │   └── spl_inl_mips.h
│   │   │   ├── levinson_durbin.c
│   │   │   ├── lpc_to_refl_coef.c
│   │   │   ├── min_max_operations.c
│   │   │   ├── min_max_operations_mips.c
│   │   │   ├── min_max_operations_neon.c
│   │   │   ├── randomization_functions.c
│   │   │   ├── real_fft.c
│   │   │   ├── refl_coef_to_lpc.c
│   │   │   ├── resample_48khz.c
│   │   │   ├── resample_by_2.c
│   │   │   ├── resample_by_2_internal.c
│   │   │   ├── resample_by_2_internal.h
│   │   │   ├── resample_by_2_mips.c
│   │   │   ├── resample.c
│   │   │   ├── resample_fractional.c
│   │   │   ├── spl_init.c
│   │   │   ├── spl_inl.c
│   │   │   ├── splitting_filter.c
│   │   │   ├── spl_sqrt.c
│   │   │   ├── spl_sqrt_floor_arm.S
│   │   │   ├── spl_sqrt_floor.c
│   │   │   ├── spl_sqrt_floor_mips.c
│   │   │   ├── sqrt_of_one_minus_x_squared.c
│   │   │   ├── vector_scaling_operations.c
│   │   │   └── vector_scaling_operations_mips.c
│   │   ├── smoothing_filter.h
│   │   ├── sparse_fir_filter.h
│   │   ├── vad
│   │   │   ├── include
│   │   │   │   ├── vad.h
│   │   │   │   └── webrtc_vad.h
│   │   │   ├── mock
│   │   │   │   └── mock_vad.h
│   │   │   ├── vad_core.c
│   │   │   ├── vad_core.h
│   │   │   ├── vad_filterbank.c
│   │   │   ├── vad_filterbank.h
│   │   │   ├── vad_gmm.c
│   │   │   ├── vad_gmm.h
│   │   │   ├── vad_sp.c
│   │   │   ├── vad_sp.h
│   │   │   ├── vad_unittest.h
│   │   │   └── webrtc_vad.c
│   │   ├── wav_file.h
│   │   ├── wav_header.h
│   │   └── window_generator.h
│   ├── common_types.h
│   ├── common_video
│   │   ├── h264
│   │   │   ├── h264_bitstream_parser.h
│   │   │   ├── h264_common.h
│   │   │   ├── pps_parser.h
│   │   │   ├── profile_level_id.h
│   │   │   ├── sps_parser.h
│   │   │   └── sps_vui_rewriter.h
│   │   ├── include
│   │   │   ├── bitrate_adjuster.h
│   │   │   ├── frame_callback.h
│   │   │   ├── i420_buffer_pool.h
│   │   │   ├── incoming_video_stream.h
│   │   │   ├── video_bitrate_allocator.h
│   │   │   ├── video_frame_buffer.h
│   │   │   └── video_frame.h
│   │   ├── libyuv
│   │   │   └── include
│   │   │   └── webrtc_libyuv.h
│   │   └── video_render_frames.h
│   ├── examples
│   │   ├── aarproject
│   │   │   ├── app
│   │   │   │   ├── build.gradle
│   │   │   │   └── proguard-rules.pro
│   │   │   ├── build.gradle
│   │   │   ├── gradle.properties
│   │   │   ├── local.properties
│   │   │   └── settings.gradle
│   │   ├── androidapp
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── ant.properties
│   │   │   ├── build.xml
│   │   │   ├── project.properties
│   │   │   ├── README
│   │   │   ├── res
│   │   │   │   ├── drawable-hdpi
│   │   │   │   │   ├── disconnect.png
│   │   │   │   │   ├── ic_action_full_screen.png
│   │   │   │   │   ├── ic_action_return_from_full_screen.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_loopback_call.png
│   │   │   │   ├── drawable-ldpi
│   │   │   │   │   ├── disconnect.png
│   │   │   │   │   ├── ic_action_full_screen.png
│   │   │   │   │   ├── ic_action_return_from_full_screen.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_loopback_call.png
│   │   │   │   ├── drawable-mdpi
│   │   │   │   │   ├── disconnect.png
│   │   │   │   │   ├── ic_action_full_screen.png
│   │   │   │   │   ├── ic_action_return_from_full_screen.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_loopback_call.png
│   │   │   │   ├── drawable-xhdpi
│   │   │   │   │   ├── disconnect.png
│   │   │   │   │   ├── ic_action_full_screen.png
│   │   │   │   │   ├── ic_action_return_from_full_screen.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_loopback_call.png
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_call.xml
│   │   │   │   │   ├── activity_connect.xml
│   │   │   │   │   ├── fragment_call.xml
│   │   │   │   │   └── fragment_hud.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── connect_menu.xml
│   │   │   │   ├── values
│   │   │   │   │   ├── arrays.xml
│   │   │   │   │   └── strings.xml
│   │   │   │   ├── values-v17
│   │   │   │   │   └── styles.xml
│   │   │   │   ├── values-v21
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── preferences.xml
│   │   │   ├── src
│   │   │   │   └── org
│   │   │   │   └── appspot
│   │   │   │   └── apprtc
│   │   │   │   ├── AppRTCAudioManager.java
│   │   │   │   ├── AppRTCBluetoothManager.java
│   │   │   │   ├── AppRTCClient.java
│   │   │   │   ├── AppRTCProximitySensor.java
│   │   │   │   ├── CallActivity.java
│   │   │   │   ├── CallFragment.java
│   │   │   │   ├── CaptureQualityController.java
│   │   │   │   ├── ConnectActivity.java
│   │   │   │   ├── CpuMonitor.java
│   │   │   │   ├── DirectRTCClient.java
│   │   │   │   ├── HudFragment.java
│   │   │   │   ├── RecordedAudioToFileController.java
│   │   │   │   ├── RoomParametersFetcher.java
│   │   │   │   ├── SettingsActivity.java
│   │   │   │   ├── SettingsFragment.java
│   │   │   │   ├── TCPChannelClient.java
│   │   │   │   ├── UnhandledExceptionHandler.java
│   │   │   │   ├── util
│   │   │   │   │   ├── AppRTCUtils.java
│   │   │   │   │   └── AsyncHttpURLConnection.java
│   │   │   │   ├── WebSocketChannelClient.java
│   │   │   │   └── WebSocketRTCClient.java
│   │   │   ├── start_loopback_stubbed_camera_saved_video_out.py
│   │   │   └── third_party
│   │   │   └── autobanh
│   │   │   ├── lib
│   │   │   │   └── autobanh.jar
│   │   │   ├── LICENSE
│   │   │   ├── LICENSE.md
│   │   │   └── NOTICE
│   │   ├── androidjunit
│   │   │   ├── README
│   │   │   └── src
│   │   │   └── org
│   │   │   └── appspot
│   │   │   └── apprtc
│   │   │   ├── BluetoothManagerTest.java
│   │   │   ├── DirectRTCClientTest.java
│   │   │   └── TCPChannelClientTest.java
│   │   ├── androidnativeapi
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── org
│   │   │   │   └── webrtc
│   │   │   │   └── examples
│   │   │   │   └── androidnativeapi
│   │   │   │   ├── CallClient.java
│   │   │   │   └── MainActivity.java
│   │   │   ├── jni
│   │   │   │   └── androidcallclient.h
│   │   │   └── res
│   │   │   ├── layout
│   │   │   │   └── activity_main.xml
│   │   │   └── values
│   │   │   └── strings.xml
│   │   ├── androidtests
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── ant.properties
│   │   │   ├── build.xml
│   │   │   ├── gradle_project_test.py
│   │   │   ├── project.properties
│   │   │   ├── README
│   │   │   ├── src
│   │   │   │   └── org
│   │   │   │   └── appspot
│   │   │   │   └── apprtc
│   │   │   │   └── test
│   │   │   │   ├── CallActivityStubbedInputOutputTest.java
│   │   │   │   └── PeerConnectionClientTest.java
│   │   │   ├── third_party
│   │   │   │   └── README.webrtc
│   │   │   └── video_quality_loopback_test.py
│   │   ├── objc
│   │   │   ├── AppRTCMobile
│   │   │   │   ├── ARDAppClient.h
│   │   │   │   ├── ARDAppClient+Internal.h
│   │   │   │   ├── ARDAppClient.m
│   │   │   │   ├── ARDAppEngineClient.h
│   │   │   │   ├── ARDAppEngineClient.m
│   │   │   │   ├── ARDBitrateTracker.h
│   │   │   │   ├── ARDBitrateTracker.m
│   │   │   │   ├── ARDCaptureController.h
│   │   │   │   ├── ARDCaptureController.m
│   │   │   │   ├── ARDJoinResponse.h
│   │   │   │   ├── ARDJoinResponse+Internal.h
│   │   │   │   ├── ARDJoinResponse.m
│   │   │   │   ├── ARDMessageResponse.h
│   │   │   │   ├── ARDMessageResponse+Internal.h
│   │   │   │   ├── ARDMessageResponse.m
│   │   │   │   ├── ARDRoomServerClient.h
│   │   │   │   ├── ARDSettingsModel.h
│   │   │   │   ├── ARDSettingsModel.m
│   │   │   │   ├── ARDSettingsModel+Private.h
│   │   │   │   ├── ARDSettingsStore.h
│   │   │   │   ├── ARDSettingsStore.m
│   │   │   │   ├── ARDSignalingChannel.h
│   │   │   │   ├── ARDSignalingMessage.h
│   │   │   │   ├── ARDSignalingMessage.m
│   │   │   │   ├── ARDStatsBuilder.h
│   │   │   │   ├── ARDStatsBuilder.m
│   │   │   │   ├── ARDTURNClient.h
│   │   │   │   ├── ARDTURNClient+Internal.h
│   │   │   │   ├── ARDTURNClient.m
│   │   │   │   ├── ARDWebSocketChannel.h
│   │   │   │   ├── ARDWebSocketChannel.m
│   │   │   │   ├── common
│   │   │   │   │   ├── ARDUtilities.h
│   │   │   │   │   └── ARDUtilities.m
│   │   │   │   ├── ios
│   │   │   │   │   ├── ARDAppDelegate.h
│   │   │   │   │   ├── ARDAppDelegate.m
│   │   │   │   │   ├── ARDFileCaptureController.h
│   │   │   │   │   ├── ARDFileCaptureController.m
│   │   │   │   │   ├── ARDMainViewController.h
│   │   │   │   │   ├── ARDMainViewController.m
│   │   │   │   │   ├── ARDMainView.h
│   │   │   │   │   ├── ARDMainView.m
│   │   │   │   │   ├── ARDSettingsViewController.h
│   │   │   │   │   ├── ARDSettingsViewController.m
│   │   │   │   │   ├── ARDStatsView.h
│   │   │   │   │   ├── ARDStatsView.m
│   │   │   │   │   ├── ARDVideoCallViewController.h
│   │   │   │   │   ├── ARDVideoCallViewController.m
│   │   │   │   │   ├── ARDVideoCallView.h
│   │   │   │   │   ├── ARDVideoCallView.m
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── main.m
│   │   │   │   │   ├── resources
│   │   │   │   │   │   ├── foreman.mp4
│   │   │   │   │   │   ├── ic_call_end_black_24dp@2x.png
│   │   │   │   │   │   ├── ic_call_end_black_24dp.png
│   │   │   │   │   │   ├── ic_clear_black_24dp@2x.png
│   │   │   │   │   │   ├── ic_clear_black_24dp.png
│   │   │   │   │   │   ├── ic_settings_black_24dp@2x.png
│   │   │   │   │   │   ├── ic_settings_black_24dp.png
│   │   │   │   │   │   ├── ic_surround_sound_black_24dp@2x.png
│   │   │   │   │   │   ├── ic_surround_sound_black_24dp.png
│   │   │   │   │   │   ├── ic_switch_video_black_24dp@2x.png
│   │   │   │   │   │   ├── ic_switch_video_black_24dp.png
│   │   │   │   │   │   ├── iPhone5@2x.png
│   │   │   │   │   │   ├── iPhone6@2x.png
│   │   │   │   │   │   ├── iPhone6p@3x.png
│   │   │   │   │   │   ├── mozart.mp3
│   │   │   │   │   │   └── Roboto-Regular.ttf
│   │   │   │   │   ├── RTCVideoCodecInfo+HumanReadable.h
│   │   │   │   │   ├── RTCVideoCodecInfo+HumanReadable.m
│   │   │   │   │   ├── UIImage+ARDUtilities.h
│   │   │   │   │   └── UIImage+ARDUtilities.m
│   │   │   │   ├── mac
│   │   │   │   │   ├── APPRTCAppDelegate.h
│   │   │   │   │   ├── APPRTCAppDelegate.m
│   │   │   │   │   ├── APPRTCViewController.h
│   │   │   │   │   ├── APPRTCViewController.m
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   └── main.m
│   │   │   │   ├── RTCIceCandidate+JSON.h
│   │   │   │   ├── RTCIceCandidate+JSON.m
│   │   │   │   ├── RTCIceServer+JSON.h
│   │   │   │   ├── RTCIceServer+JSON.m
│   │   │   │   ├── RTCMediaConstraints+JSON.h
│   │   │   │   ├── RTCMediaConstraints+JSON.m
│   │   │   │   ├── RTCSessionDescription+JSON.h
│   │   │   │   ├── RTCSessionDescription+JSON.m
│   │   │   │   ├── tests
│   │   │   │   │   ├── ARDAppClient_xctest.mm
│   │   │   │   │   ├── ARDFileCaptureController_xctest.mm
│   │   │   │   │   └── ARDSettingsModel_xctest.mm
│   │   │   │   └── third_party
│   │   │   │   └── SocketRocket
│   │   │   │   ├── LICENSE
│   │   │   │   ├── SRWebSocket.h
│   │   │   │   └── SRWebSocket.m
│   │   │   ├── Icon-120.png
│   │   │   ├── Icon-180.png
│   │   │   ├── Icon.png
│   │   │   └── README
│   │   ├── objcnativeapi
│   │   │   ├── Info.plist
│   │   │   └── objc
│   │   │   ├── main.m
│   │   │   ├── NADAppDelegate.h
│   │   │   ├── NADAppDelegate.m
│   │   │   ├── NADViewController.h
│   │   │   ├── NADViewController.mm
│   │   │   ├── objccallclient.h
│   │   │   └── objccallclient.mm
│   │   ├── peerconnection
│   │   │   ├── client
│   │   │   │   ├── conductor.h
│   │   │   │   ├── defaults.h
│   │   │   │   ├── flagdefs.h
│   │   │   │   ├── linux
│   │   │   │   │   └── main_wnd.h
│   │   │   │   ├── main_wnd.h
│   │   │   │   └── peer_connection_client.h
│   │   │   └── server
│   │   │   ├── data_socket.h
│   │   │   ├── peer_channel.h
│   │   │   ├── server_test.html
│   │   │   └── utils.h
│   │   ├── relayserver
│   │   ├── stunprober
│   │   ├── stunserver
│   │   ├── turnserver
│   │   └── unityplugin
│   │   ├── ANDROID_INSTRUCTION
│   │   ├── classreferenceholder.h
│   │   ├── java
│   │   │   └── src
│   │   │   └── org
│   │   │   └── webrtc
│   │   │   └── UnityUtility.java
│   │   ├── README
│   │   ├── simple_peer_connection.h
│   │   ├── unity_plugin_apis.h
│   │   └── video_observer.h
│   ├── infra
│   │   └── config
│   │   ├── cq.cfg
│   │   └── README.md
│   ├── json
│   │   ├── assertions.h
│   │   ├── autolink.h
│   │   ├── config.h
│   │   ├── features.h
│   │   ├── forwards.h
│   │   ├── json.h
│   │   ├── reader.h
│   │   ├── value.h
│   │   └── writer.h
│   ├── libyuv
│   │   ├── basic_types.h
│   │   ├── compare.h
│   │   ├── compare_row.h
│   │   ├── convert_argb.h
│   │   ├── convert_from_argb.h
│   │   ├── convert_from.h
│   │   ├── convert.h
│   │   ├── cpu_id.h
│   │   ├── include
│   │   │   ├── libyuv
│   │   │   │   ├── basic_types.h
│   │   │   │   ├── compare.h
│   │   │   │   ├── compare_row.h
│   │   │   │   ├── convert_argb.h
│   │   │   │   ├── convert_from_argb.h
│   │   │   │   ├── convert_from.h
│   │   │   │   ├── convert.h
│   │   │   │   ├── cpu_id.h
│   │   │   │   ├── macros_msa.h
│   │   │   │   ├── mjpeg_decoder.h
│   │   │   │   ├── planar_functions.h
│   │   │   │   ├── rotate_argb.h
│   │   │   │   ├── rotate.h
│   │   │   │   ├── rotate_row.h
│   │   │   │   ├── row.h
│   │   │   │   ├── scale_argb.h
│   │   │   │   ├── scale.h
│   │   │   │   ├── scale_row.h
│   │   │   │   ├── version.h
│   │   │   │   └── video_common.h
│   │   │   └── libyuv.h
│   │   ├── macros_msa.h
│   │   ├── mjpeg_decoder.h
│   │   ├── planar_functions.h
│   │   ├── rotate_argb.h
│   │   ├── rotate.h
│   │   ├── rotate_row.h
│   │   ├── row.h
│   │   ├── scale_argb.h
│   │   ├── scale.h
│   │   ├── scale_row.h
│   │   ├── version.h
│   │   └── video_common.h
│   ├── libyuv.h
│   ├── logging
│   │   └── rtc_event_log
│   │   ├── encoder
│   │   │   ├── rtc_event_log_encoder.h
│   │   │   └── rtc_event_log_encoder_legacy.h
│   │   ├── events
│   │   │   ├── rtc_event_alr_state.h
│   │   │   ├── rtc_event_audio_network_adaptation.h
│   │   │   ├── rtc_event_audio_playout.h
│   │   │   ├── rtc_event_audio_receive_stream_config.h
│   │   │   ├── rtc_event_audio_send_stream_config.h
│   │   │   ├── rtc_event_bwe_update_delay_based.h
│   │   │   ├── rtc_event_bwe_update_loss_based.h
│   │   │   ├── rtc_event.h
│   │   │   ├── rtc_event_ice_candidate_pair_config.h
│   │   │   ├── rtc_event_ice_candidate_pair.h
│   │   │   ├── rtc_event_probe_cluster_created.h
│   │   │   ├── rtc_event_probe_result_failure.h
│   │   │   ├── rtc_event_probe_result_success.h
│   │   │   ├── rtc_event_rtcp_packet_incoming.h
│   │   │   ├── rtc_event_rtcp_packet_outgoing.h
│   │   │   ├── rtc_event_rtp_packet_incoming.h
│   │   │   ├── rtc_event_rtp_packet_outgoing.h
│   │   │   ├── rtc_event_video_receive_stream_config.h
│   │   │   └── rtc_event_video_send_stream_config.h
│   │   ├── icelogger.h
│   │   ├── mock
│   │   │   └── mock_rtc_event_log.h
│   │   ├── output
│   │   │   └── rtc_event_log_output_file.h
│   │   ├── rtc_event_log2.proto
│   │   ├── rtc_event_log_factory.h
│   │   ├── rtc_event_log_factory_interface.h
│   │   ├── rtc_event_log.h
│   │   ├── rtc_event_log_parser.h
│   │   ├── rtc_event_log_parser_new.h
│   │   ├── rtc_event_log.proto
│   │   ├── rtc_event_log_unittest_helper.h
│   │   └── rtc_stream_config.h
│   ├── media
│   │   ├── base
│   │   │   ├── adaptedvideotracksource.h
│   │   │   ├── audiosource.h
│   │   │   ├── codec.h
│   │   │   ├── cryptoparams.h
│   │   │   ├── device.h
│   │   │   ├── fakeframesource.h
│   │   │   ├── fakemediaengine.h
│   │   │   ├── fakenetworkinterface.h
│   │   │   ├── fakertp.h
│   │   │   ├── fakevideocapturer.h
│   │   │   ├── fakevideorenderer.h
│   │   │   ├── h264_profile_level_id.h
│   │   │   ├── mediachannel.h
│   │   │   ├── mediaconfig.h
│   │   │   ├── mediaconstants.h
│   │   │   ├── mediaengine.h
│   │   │   ├── rtpdataengine.h
│   │   │   ├── rtputils.h
│   │   │   ├── streamparams.h
│   │   │   ├── testutils.h
│   │   │   ├── turnutils.h
│   │   │   ├── videoadapter.h
│   │   │   ├── videobroadcaster.h
│   │   │   ├── videocapturerfactory.h
│   │   │   ├── videocapturer.h
│   │   │   ├── videocommon.h
│   │   │   └── videosourcebase.h
│   │   ├── engine
│   │   │   ├── adm_helpers.h
│   │   │   ├── apm_helpers.h
│   │   │   ├── constants.h
│   │   │   ├── convert_legacy_video_factory.h
│   │   │   ├── fakewebrtccall.h
│   │   │   ├── fakewebrtcdeviceinfo.h
│   │   │   ├── fakewebrtcvcmfactory.h
│   │   │   ├── fakewebrtcvideocapturemodule.h
│   │   │   ├── fakewebrtcvideoengine.h
│   │   │   ├── internaldecoderfactory.h
│   │   │   ├── internalencoderfactory.h
│   │   │   ├── multiplexcodecfactory.h
│   │   │   ├── nullwebrtcvideoengine.h
│   │   │   ├── payload_type_mapper.h
│   │   │   ├── scopedvideodecoder.h
│   │   │   ├── scopedvideoencoder.h
│   │   │   ├── simulcast_encoder_adapter.h
│   │   │   ├── simulcast.h
│   │   │   ├── videodecodersoftwarefallbackwrapper.h
│   │   │   ├── videoencodersoftwarefallbackwrapper.h
│   │   │   ├── vp8_encoder_simulcast_proxy.h
│   │   │   ├── webrtcmediaengine.h
│   │   │   ├── webrtcvideocapturerfactory.h
│   │   │   ├── webrtcvideocapturer.h
│   │   │   ├── webrtcvideoengine.h
│   │   │   └── webrtcvoiceengine.h
│   │   └── sctp
│   │   ├── sctptransport.h
│   │   └── sctptransportinternal.h
│   ├── modules
│   │   ├── audio_coding
│   │   │   ├── acm2
│   │   │   │   ├── acm_codec_database.cc
│   │   │   │   ├── acm_codec_database.h
│   │   │   │   ├── acm_receiver.cc
│   │   │   │   ├── acm_receiver.h
│   │   │   │   ├── acm_receiver_unittest.cc
│   │   │   │   ├── acm_receive_test.cc
│   │   │   │   ├── acm_receive_test.h
│   │   │   │   ├── acm_resampler.cc
│   │   │   │   ├── acm_resampler.h
│   │   │   │   ├── acm_send_test.cc
│   │   │   │   ├── acm_send_test.h
│   │   │   │   ├── audio_coding_module.cc
│   │   │   │   ├── audio_coding_module_unittest.cc
│   │   │   │   ├── call_statistics.cc
│   │   │   │   ├── call_statistics.h
│   │   │   │   ├── call_statistics_unittest.cc
│   │   │   │   ├── codec_manager.cc
│   │   │   │   ├── codec_manager.h
│   │   │   │   ├── codec_manager_unittest.cc
│   │   │   │   ├── rent_a_codec.cc
│   │   │   │   ├── rent_a_codec.h
│   │   │   │   └── rent_a_codec_unittest.cc
│   │   │   ├── audio_coding.gni
│   │   │   ├── audio_network_adaptor
│   │   │   │   ├── audio_network_adaptor_config.cc
│   │   │   │   ├── audio_network_adaptor_impl.cc
│   │   │   │   ├── audio_network_adaptor_impl.h
│   │   │   │   ├── audio_network_adaptor_impl_unittest.cc
│   │   │   │   ├── bitrate_controller.cc
│   │   │   │   ├── bitrate_controller.h
│   │   │   │   ├── bitrate_controller_unittest.cc
│   │   │   │   ├── channel_controller.cc
│   │   │   │   ├── channel_controller.h
│   │   │   │   ├── channel_controller_unittest.cc
│   │   │   │   ├── config.proto
│   │   │   │   ├── controller.cc
│   │   │   │   ├── controller.h
│   │   │   │   ├── controller_manager.cc
│   │   │   │   ├── controller_manager.h
│   │   │   │   ├── controller_manager_unittest.cc
│   │   │   │   ├── debug_dump.proto
│   │   │   │   ├── debug_dump_writer.cc
│   │   │   │   ├── debug_dump_writer.h
│   │   │   │   ├── dtx_controller.cc
│   │   │   │   ├── dtx_controller.h
│   │   │   │   ├── dtx_controller_unittest.cc
│   │   │   │   ├── event_log_writer.cc
│   │   │   │   ├── event_log_writer.h
│   │   │   │   ├── event_log_writer_unittest.cc
│   │   │   │   ├── fec_controller_plr_based.cc
│   │   │   │   ├── fec_controller_plr_based.h
│   │   │   │   ├── fec_controller_plr_based_unittest.cc
│   │   │   │   ├── fec_controller_rplr_based.cc
│   │   │   │   ├── fec_controller_rplr_based.h
│   │   │   │   ├── fec_controller_rplr_based_unittest.cc
│   │   │   │   ├── frame_length_controller.cc
│   │   │   │   ├── frame_length_controller.h
│   │   │   │   ├── frame_length_controller_unittest.cc
│   │   │   │   ├── include
│   │   │   │   │   ├── audio_network_adaptor_config.h
│   │   │   │   │   └── audio_network_adaptor.h
│   │   │   │   ├── mock
│   │   │   │   │   ├── mock_audio_network_adaptor.h
│   │   │   │   │   ├── mock_controller.h
│   │   │   │   │   ├── mock_controller_manager.h
│   │   │   │   │   └── mock_debug_dump_writer.h
│   │   │   │   ├── parse_ana_dump.py
│   │   │   │   └── util
│   │   │   │   ├── threshold_curve.h
│   │   │   │   └── threshold_curve_unittest.cc
│   │   │   ├── BUILD.gn
│   │   │   ├── codecs
│   │   │   │   ├── audio_decoder.h
│   │   │   │   ├── audio_encoder.h
│   │   │   │   ├── audio_format_conversion.cc
│   │   │   │   ├── audio_format_conversion.h
│   │   │   │   ├── builtin_audio_decoder_factory_unittest.cc
│   │   │   │   ├── builtin_audio_encoder_factory_unittest.cc
│   │   │   │   ├── cng
│   │   │   │   │   ├── audio_encoder_cng.cc
│   │   │   │   │   ├── audio_encoder_cng.h
│   │   │   │   │   ├── audio_encoder_cng_unittest.cc
│   │   │   │   │   ├── cng_unittest.cc
│   │   │   │   │   ├── webrtc_cng.cc
│   │   │   │   │   └── webrtc_cng.h
│   │   │   │   ├── g711
│   │   │   │   │   ├── audio_decoder_pcm.cc
│   │   │   │   │   ├── audio_decoder_pcm.h
│   │   │   │   │   ├── audio_encoder_pcm.cc
│   │   │   │   │   ├── audio_encoder_pcm.h
│   │   │   │   │   ├── g711.c
│   │   │   │   │   ├── g711.h
│   │   │   │   │   ├── g711_interface.c
│   │   │   │   │   ├── g711_interface.h
│   │   │   │   │   ├── OWNERS
│   │   │   │   │   └── test
│   │   │   │   │   └── testG711.cc
│   │   │   │   ├── g722
│   │   │   │   │   ├── audio_decoder_g722.cc
│   │   │   │   │   ├── audio_decoder_g722.h
│   │   │   │   │   ├── audio_encoder_g722.cc
│   │   │   │   │   ├── audio_encoder_g722.h
│   │   │   │   │   ├── g722_decode.c
│   │   │   │   │   ├── g722_enc_dec.h
│   │   │   │   │   ├── g722_encode.c
│   │   │   │   │   ├── g722_interface.c
│   │   │   │   │   ├── g722_interface.h
│   │   │   │   │   └── test
│   │   │   │   │   └── testG722.cc
│   │   │   │   ├── ilbc
│   │   │   │   │   ├── abs_quant.c
│   │   │   │   │   ├── abs_quant.h
│   │   │   │   │   ├── abs_quant_loop.c
│   │   │   │   │   ├── abs_quant_loop.h
│   │   │   │   │   ├── audio_decoder_ilbc.cc
│   │   │   │   │   ├── audio_decoder_ilbc.h
│   │   │   │   │   ├── audio_encoder_ilbc.cc
│   │   │   │   │   ├── audio_encoder_ilbc.h
│   │   │   │   │   ├── augmented_cb_corr.c
│   │   │   │   │   ├── augmented_cb_corr.h
│   │   │   │   │   ├── bw_expand.c
│   │   │   │   │   ├── bw_expand.h
│   │   │   │   │   ├── cb_construct.c
│   │   │   │   │   ├── cb_construct.h
│   │   │   │   │   ├── cb_mem_energy_augmentation.c
│   │   │   │   │   ├── cb_mem_energy_augmentation.h
│   │   │   │   │   ├── cb_mem_energy.c
│   │   │   │   │   ├── cb_mem_energy_calc.c
│   │   │   │   │   ├── cb_mem_energy_calc.h
│   │   │   │   │   ├── cb_mem_energy.h
│   │   │   │   │   ├── cb_search.c
│   │   │   │   │   ├── cb_search_core.c
│   │   │   │   │   ├── cb_search_core.h
│   │   │   │   │   ├── cb_search.h
│   │   │   │   │   ├── cb_update_best_index.c
│   │   │   │   │   ├── cb_update_best_index.h
│   │   │   │   │   ├── chebyshev.c
│   │   │   │   │   ├── chebyshev.h
│   │   │   │   │   ├── comp_corr.c
│   │   │   │   │   ├── comp_corr.h
│   │   │   │   │   ├── complexityMeasures.m
│   │   │   │   │   ├── constants.c
│   │   │   │   │   ├── constants.h
│   │   │   │   │   ├── create_augmented_vec.c
│   │   │   │   │   ├── create_augmented_vec.h
│   │   │   │   │   ├── decode.c
│   │   │   │   │   ├── decode.h
│   │   │   │   │   ├── decode_residual.c
│   │   │   │   │   ├── decode_residual.h
│   │   │   │   │   ├── decoder_interpolate_lsf.c
│   │   │   │   │   ├── decoder_interpolate_lsf.h
│   │   │   │   │   ├── defines.h
│   │   │   │   │   ├── do_plc.c
│   │   │   │   │   ├── do_plc.h
│   │   │   │   │   ├── encode.c
│   │   │   │   │   ├── encode.h
│   │   │   │   │   ├── energy_inverse.c
│   │   │   │   │   ├── energy_inverse.h
│   │   │   │   │   ├── enhancer.c
│   │   │   │   │   ├── enhancer.h
│   │   │   │   │   ├── enhancer_interface.c
│   │   │   │   │   ├── enhancer_interface.h
│   │   │   │   │   ├── enh_upsample.c
│   │   │   │   │   ├── enh_upsample.h
│   │   │   │   │   ├── filtered_cb_vecs.c
│   │   │   │   │   ├── filtered_cb_vecs.h
│   │   │   │   │   ├── frame_classify.c
│   │   │   │   │   ├── frame_classify.h
│   │   │   │   │   ├── gain_dequant.c
│   │   │   │   │   ├── gain_dequant.h
│   │   │   │   │   ├── gain_quant.c
│   │   │   │   │   ├── gain_quant.h
│   │   │   │   │   ├── get_cd_vec.c
│   │   │   │   │   ├── get_cd_vec.h
│   │   │   │   │   ├── get_lsp_poly.c
│   │   │   │   │   ├── get_lsp_poly.h
│   │   │   │   │   ├── get_sync_seq.c
│   │   │   │   │   ├── get_sync_seq.h
│   │   │   │   │   ├── hp_input.c
│   │   │   │   │   ├── hp_input.h
│   │   │   │   │   ├── hp_output.c
│   │   │   │   │   ├── hp_output.h
│   │   │   │   │   ├── ilbc.c
│   │   │   │   │   ├── ilbc.h
│   │   │   │   │   ├── ilbc_unittest.cc
│   │   │   │   │   ├── index_conv_dec.c
│   │   │   │   │   ├── index_conv_dec.h
│   │   │   │   │   ├── index_conv_enc.c
│   │   │   │   │   ├── index_conv_enc.h
│   │   │   │   │   ├── init_decode.c
│   │   │   │   │   ├── init_decode.h
│   │   │   │   │   ├── init_encode.c
│   │   │   │   │   ├── init_encode.h
│   │   │   │   │   ├── interpolate.c
│   │   │   │   │   ├── interpolate.h
│   │   │   │   │   ├── interpolate_samples.c
│   │   │   │   │   ├── interpolate_samples.h
│   │   │   │   │   ├── lpc_encode.c
│   │   │   │   │   ├── lpc_encode.h
│   │   │   │   │   ├── lsf_check.c
│   │   │   │   │   ├── lsf_check.h
│   │   │   │   │   ├── lsf_interpolate_to_poly_dec.c
│   │   │   │   │   ├── lsf_interpolate_to_poly_dec.h
│   │   │   │   │   ├── lsf_interpolate_to_poly_enc.c
│   │   │   │   │   ├── lsf_interpolate_to_poly_enc.h
│   │   │   │   │   ├── lsf_to_lsp.c
│   │   │   │   │   ├── lsf_to_lsp.h
│   │   │   │   │   ├── lsf_to_poly.c
│   │   │   │   │   ├── lsf_to_poly.h
│   │   │   │   │   ├── lsp_to_lsf.c
│   │   │   │   │   ├── lsp_to_lsf.h
│   │   │   │   │   ├── my_corr.c
│   │   │   │   │   ├── my_corr.h
│   │   │   │   │   ├── nearest_neighbor.c
│   │   │   │   │   ├── nearest_neighbor.h
│   │   │   │   │   ├── pack_bits.c
│   │   │   │   │   ├── pack_bits.h
│   │   │   │   │   ├── poly_to_lsf.c
│   │   │   │   │   ├── poly_to_lsf.h
│   │   │   │   │   ├── poly_to_lsp.c
│   │   │   │   │   ├── poly_to_lsp.h
│   │   │   │   │   ├── refiner.c
│   │   │   │   │   ├── refiner.h
│   │   │   │   │   ├── simple_interpolate_lsf.c
│   │   │   │   │   ├── simple_interpolate_lsf.h
│   │   │   │   │   ├── simple_lpc_analysis.c
│   │   │   │   │   ├── simple_lpc_analysis.h
│   │   │   │   │   ├── simple_lsf_dequant.c
│   │   │   │   │   ├── simple_lsf_dequant.h
│   │   │   │   │   ├── simple_lsf_quant.c
│   │   │   │   │   ├── simple_lsf_quant.h
│   │   │   │   │   ├── smooth.c
│   │   │   │   │   ├── smooth.h
│   │   │   │   │   ├── smooth_out_data.c
│   │   │   │   │   ├── smooth_out_data.h
│   │   │   │   │   ├── sort_sq.c
│   │   │   │   │   ├── sort_sq.h
│   │   │   │   │   ├── split_vq.c
│   │   │   │   │   ├── split_vq.h
│   │   │   │   │   ├── state_construct.c
│   │   │   │   │   ├── state_construct.h
│   │   │   │   │   ├── state_search.c
│   │   │   │   │   ├── state_search.h
│   │   │   │   │   ├── swap_bytes.c
│   │   │   │   │   ├── swap_bytes.h
│   │   │   │   │   ├── test
│   │   │   │   │   │   ├── empty.cc
│   │   │   │   │   │   ├── iLBC_test.c
│   │   │   │   │   │   ├── iLBC_testLib.c
│   │   │   │   │   │   ├── iLBC_testprogram.c
│   │   │   │   │   │   └── iLBCtestscript.txt
│   │   │   │   │   ├── unpack_bits.c
│   │   │   │   │   ├── unpack_bits.h
│   │   │   │   │   ├── vq3.c
│   │   │   │   │   ├── vq3.h
│   │   │   │   │   ├── vq4.c
│   │   │   │   │   ├── vq4.h
│   │   │   │   │   ├── window32_w32.c
│   │   │   │   │   ├── window32_w32.h
│   │   │   │   │   ├── xcorr_coef.c
│   │   │   │   │   └── xcorr_coef.h
│   │   │   │   ├── isac
│   │   │   │   │   ├── audio_decoder_isac_t.h
│   │   │   │   │   ├── audio_decoder_isac_t_impl.h
│   │   │   │   │   ├── audio_encoder_isac_t.h
│   │   │   │   │   ├── audio_encoder_isac_t_impl.h
│   │   │   │   │   ├── bandwidth_info.h
│   │   │   │   │   ├── empty.cc
│   │   │   │   │   ├── fix
│   │   │   │   │   │   ├── include
│   │   │   │   │   │   │   ├── audio_decoder_isacfix.h
│   │   │   │   │   │   │   ├── audio_encoder_isacfix.h
│   │   │   │   │   │   │   └── isacfix.h
│   │   │   │   │   │   ├── source
│   │   │   │   │   │   │   ├── arith_routines.c
│   │   │   │   │   │   │   ├── arith_routines_hist.c
│   │   │   │   │   │   │   ├── arith_routines_logist.c
│   │   │   │   │   │   │   ├── arith_routins.h
│   │   │   │   │   │   │   ├── audio_decoder_isacfix.cc
│   │   │   │   │   │   │   ├── audio_encoder_isacfix.cc
│   │   │   │   │   │   │   ├── bandwidth_estimator.c
│   │   │   │   │   │   │   ├── bandwidth_estimator.h
│   │   │   │   │   │   │   ├── codec.h
│   │   │   │   │   │   │   ├── decode_bwe.c
│   │   │   │   │   │   │   ├── decode.c
│   │   │   │   │   │   │   ├── decode_plc.c
│   │   │   │   │   │   │   ├── encode.c
│   │   │   │   │   │   │   ├── entropy_coding.c
│   │   │   │   │   │   │   ├── entropy_coding.h
│   │   │   │   │   │   │   ├── entropy_coding_mips.c
│   │   │   │   │   │   │   ├── entropy_coding_neon.c
│   │   │   │   │   │   │   ├── fft.c
│   │   │   │   │   │   │   ├── fft.h
│   │   │   │   │   │   │   ├── filterbank_internal.h
│   │   │   │   │   │   │   ├── filterbanks.c
│   │   │   │   │   │   │   ├── filterbanks_mips.c
│   │   │   │   │   │   │   ├── filterbanks_neon.c
│   │   │   │   │   │   │   ├── filterbanks_unittest.cc
│   │   │   │   │   │   │   ├── filterbank_tables.c
│   │   │   │   │   │   │   ├── filterbank_tables.h
│   │   │   │   │   │   │   ├── filters.c
│   │   │   │   │   │   │   ├── filters_mips.c
│   │   │   │   │   │   │   ├── filters_neon.c
│   │   │   │   │   │   │   ├── filters_unittest.cc
│   │   │   │   │   │   │   ├── initialize.c
│   │   │   │   │   │   │   ├── isacfix.c
│   │   │   │   │   │   │   ├── isac_fix_type.h
│   │   │   │   │   │   │   ├── lattice_armv7.S
│   │   │   │   │   │   │   ├── lattice.c
│   │   │   │   │   │   │   ├── lattice_c.c
│   │   │   │   │   │   │   ├── lattice_mips.c
│   │   │   │   │   │   │   ├── lattice_neon.c
│   │   │   │   │   │   │   ├── lpc_masking_model.c
│   │   │   │   │   │   │   ├── lpc_masking_model.h
│   │   │   │   │   │   │   ├── lpc_masking_model_mips.c
│   │   │   │   │   │   │   ├── lpc_masking_model_unittest.cc
│   │   │   │   │   │   │   ├── lpc_tables.c
│   │   │   │   │   │   │   ├── lpc_tables.h
│   │   │   │   │   │   │   ├── pitch_estimator.c
│   │   │   │   │   │   │   ├── pitch_estimator_c.c
│   │   │   │   │   │   │   ├── pitch_estimator.h
│   │   │   │   │   │   │   ├── pitch_estimator_mips.c
│   │   │   │   │   │   │   ├── pitch_filter_armv6.S
│   │   │   │   │   │   │   ├── pitch_filter.c
│   │   │   │   │   │   │   ├── pitch_filter_c.c
│   │   │   │   │   │   │   ├── pitch_filter_mips.c
│   │   │   │   │   │   │   ├── pitch_gain_tables.c
│   │   │   │   │   │   │   ├── pitch_gain_tables.h
│   │   │   │   │   │   │   ├── pitch_lag_tables.c
│   │   │   │   │   │   │   ├── pitch_lag_tables.h
│   │   │   │   │   │   │   ├── settings.h
│   │   │   │   │   │   │   ├── spectrum_ar_model_tables.c
│   │   │   │   │   │   │   ├── spectrum_ar_model_tables.h
│   │   │   │   │   │   │   ├── structs.h
│   │   │   │   │   │   │   ├── transform.c
│   │   │   │   │   │   │   ├── transform_mips.c
│   │   │   │   │   │   │   ├── transform_neon.c
│   │   │   │   │   │   │   ├── transform_tables.c
│   │   │   │   │   │   │   └── transform_unittest.cc
│   │   │   │   │   │   └── test
│   │   │   │   │   │   ├── isac_speed_test.cc
│   │   │   │   │   │   ├── kenny.cc
│   │   │   │   │   │   └── QA
│   │   │   │   │   │   ├── ChannelFiles.txt
│   │   │   │   │   │   ├── diffiSACPLC.txt
│   │   │   │   │   │   ├── diffiSAC.txt
│   │   │   │   │   │   ├── InputFilesFew.txt
│   │   │   │   │   │   ├── InputFiles.txt
│   │   │   │   │   │   ├── ListOfTestCases.xls
│   │   │   │   │   │   ├── runiSACfault.txt
│   │   │   │   │   │   ├── runiSACfixfloat.txt
│   │   │   │   │   │   ├── runiSACLongtest.txt
│   │   │   │   │   │   ├── runiSACNB.txt
│   │   │   │   │   │   ├── runiSACPLC.txt
│   │   │   │   │   │   └── runiSACRate.txt
│   │   │   │   │   ├── locked_bandwidth_info.cc
│   │   │   │   │   ├── locked_bandwidth_info.h
│   │   │   │   │   ├── main
│   │   │   │   │   │   ├── include
│   │   │   │   │   │   │   ├── audio_decoder_isac.h
│   │   │   │   │   │   │   ├── audio_encoder_isac.h
│   │   │   │   │   │   │   └── isac.h
│   │   │   │   │   │   ├── source
│   │   │   │   │   │   │   ├── arith_routines.c
│   │   │   │   │   │   │   ├── arith_routines.h
│   │   │   │   │   │   │   ├── arith_routines_hist.c
│   │   │   │   │   │   │   ├── arith_routines_logist.c
│   │   │   │   │   │   │   ├── audio_decoder_isac.cc
│   │   │   │   │   │   │   ├── audio_encoder_isac.cc
│   │   │   │   │   │   │   ├── audio_encoder_isac_unittest.cc
│   │   │   │   │   │   │   ├── bandwidth_estimator.c
│   │   │   │   │   │   │   ├── bandwidth_estimator.h
│   │   │   │   │   │   │   ├── codec.h
│   │   │   │   │   │   │   ├── crc.c
│   │   │   │   │   │   │   ├── crc.h
│   │   │   │   │   │   │   ├── decode_bwe.c
│   │   │   │   │   │   │   ├── decode.c
│   │   │   │   │   │   │   ├── encode.c
│   │   │   │   │   │   │   ├── encode_lpc_swb.c
│   │   │   │   │   │   │   ├── encode_lpc_swb.h
│   │   │   │   │   │   │   ├── entropy_coding.c
│   │   │   │   │   │   │   ├── entropy_coding.h
│   │   │   │   │   │   │   ├── fft.c
│   │   │   │   │   │   │   ├── fft.h
│   │   │   │   │   │   │   ├── filterbanks.c
│   │   │   │   │   │   │   ├── filter_functions.c
│   │   │   │   │   │   │   ├── filter_functions.h
│   │   │   │   │   │   │   ├── intialize.c
│   │   │   │   │   │   │   ├── isac.c
│   │   │   │   │   │   │   ├── isac_float_type.h
│   │   │   │   │   │   │   ├── isac_unittest.cc
│   │   │   │   │   │   │   ├── isac_vad.c
│   │   │   │   │   │   │   ├── isac_vad.h
│   │   │   │   │   │   │   ├── lattice.c
│   │   │   │   │   │   │   ├── lpc_analysis.c
│   │   │   │   │   │   │   ├── lpc_analysis.h
│   │   │   │   │   │   │   ├── lpc_gain_swb_tables.c
│   │   │   │   │   │   │   ├── lpc_gain_swb_tables.h
│   │   │   │   │   │   │   ├── lpc_shape_swb12_tables.c
│   │   │   │   │   │   │   ├── lpc_shape_swb12_tables.h
│   │   │   │   │   │   │   ├── lpc_shape_swb16_tables.c
│   │   │   │   │   │   │   ├── lpc_shape_swb16_tables.h
│   │   │   │   │   │   │   ├── lpc_tables.c
│   │   │   │   │   │   │   ├── lpc_tables.h
│   │   │   │   │   │   │   ├── os_specific_inline.h
│   │   │   │   │   │   │   ├── pitch_estimator.c
│   │   │   │   │   │   │   ├── pitch_estimator.h
│   │   │   │   │   │   │   ├── pitch_filter.c
│   │   │   │   │   │   │   ├── pitch_filter.h
│   │   │   │   │   │   │   ├── pitch_gain_tables.c
│   │   │   │   │   │   │   ├── pitch_gain_tables.h
│   │   │   │   │   │   │   ├── pitch_lag_tables.c
│   │   │   │   │   │   │   ├── pitch_lag_tables.h
│   │   │   │   │   │   │   ├── settings.h
│   │   │   │   │   │   │   ├── spectrum_ar_model_tables.c
│   │   │   │   │   │   │   ├── spectrum_ar_model_tables.h
│   │   │   │   │   │   │   ├── structs.h
│   │   │   │   │   │   │   └── transform.c
│   │   │   │   │   │   ├── test
│   │   │   │   │   │   │   ├── QA
│   │   │   │   │   │   │   │   ├── runiSACfault.txt
│   │   │   │   │   │   │   │   ├── runiSACfixfloat.txt
│   │   │   │   │   │   │   │   └── runiSACLongtest.txt
│   │   │   │   │   │   │   ├── ReleaseTest-API
│   │   │   │   │   │   │   │   └── ReleaseTest-API.cc
│   │   │   │   │   │   │   ├── simpleKenny.c
│   │   │   │   │   │   │   └── SwitchingSampRate
│   │   │   │   │   │   │   └── SwitchingSampRate.cc
│   │   │   │   │   │   └── util
│   │   │   │   │   │   ├── utility.c
│   │   │   │   │   │   └── utility.h
│   │   │   │   │   └── unittest.cc
│   │   │   │   ├── legacy_encoded_audio_frame.cc
│   │   │   │   ├── legacy_encoded_audio_frame.h
│   │   │   │   ├── legacy_encoded_audio_frame_unittest.cc
│   │   │   │   ├── opus
│   │   │   │   │   ├── audio_decoder_opus.cc
│   │   │   │   │   ├── audio_decoder_opus.h
│   │   │   │   │   ├── audio_encoder_opus.cc
│   │   │   │   │   ├── audio_encoder_opus.h
│   │   │   │   │   ├── audio_encoder_opus_unittest.cc
│   │   │   │   │   ├── opus_bandwidth_unittest.cc
│   │   │   │   │   ├── opus_complexity_unittest.cc
│   │   │   │   │   ├── opus_fec_test.cc
│   │   │   │   │   ├── opus_inst.h
│   │   │   │   │   ├── opus_interface.c
│   │   │   │   │   ├── opus_interface.h
│   │   │   │   │   ├── opus_speed_test.cc
│   │   │   │   │   └── opus_unittest.cc
│   │   │   │   ├── OWNERS
│   │   │   │   ├── pcm16b
│   │   │   │   │   ├── audio_decoder_pcm16b.cc
│   │   │   │   │   ├── audio_decoder_pcm16b.h
│   │   │   │   │   ├── audio_encoder_pcm16b.cc
│   │   │   │   │   ├── audio_encoder_pcm16b.h
│   │   │   │   │   ├── pcm16b.c
│   │   │   │   │   ├── pcm16b_common.cc
│   │   │   │   │   ├── pcm16b_common.h
│   │   │   │   │   └── pcm16b.h
│   │   │   │   ├── red
│   │   │   │   │   ├── audio_encoder_copy_red.cc
│   │   │   │   │   ├── audio_encoder_copy_red.h
│   │   │   │   │   └── audio_encoder_copy_red_unittest.cc
│   │   │   │   └── tools
│   │   │   │   ├── audio_codec_speed_test.cc
│   │   │   │   └── audio_codec_speed_test.h
│   │   │   ├── DEPS
│   │   │   ├── include
│   │   │   │   ├── audio_coding_module.h
│   │   │   │   └── audio_coding_module_typedefs.h
│   │   │   ├── neteq
│   │   │   │   ├── accelerate.cc
│   │   │   │   ├── accelerate.h
│   │   │   │   ├── audio_decoder_unittest.cc
│   │   │   │   ├── audio_multi_vector.cc
│   │   │   │   ├── audio_multi_vector.h
│   │   │   │   ├── audio_multi_vector_unittest.cc
│   │   │   │   ├── audio_vector.cc
│   │   │   │   ├── audio_vector.h
│   │   │   │   ├── audio_vector_unittest.cc
│   │   │   │   ├── background_noise.cc
│   │   │   │   ├── background_noise.h
│   │   │   │   ├── background_noise_unittest.cc
│   │   │   │   ├── buffer_level_filter.cc
│   │   │   │   ├── buffer_level_filter.h
│   │   │   │   ├── buffer_level_filter_unittest.cc
│   │   │   │   ├── comfort_noise.cc
│   │   │   │   ├── comfort_noise.h
│   │   │   │   ├── comfort_noise_unittest.cc
│   │   │   │   ├── cross_correlation.cc
│   │   │   │   ├── cross_correlation.h
│   │   │   │   ├── decision_logic.cc
│   │   │   │   ├── decision_logic_fax.cc
│   │   │   │   ├── decision_logic_fax.h
│   │   │   │   ├── decision_logic.h
│   │   │   │   ├── decision_logic_normal.cc
│   │   │   │   ├── decision_logic_normal.h
│   │   │   │   ├── decision_logic_unittest.cc
│   │   │   │   ├── decoder_database.cc
│   │   │   │   ├── decoder_database.h
│   │   │   │   ├── decoder_database_unittest.cc
│   │   │   │   ├── defines.h
│   │   │   │   ├── delay_manager.cc
│   │   │   │   ├── delay_manager.h
│   │   │   │   ├── delay_manager_unittest.cc
│   │   │   │   ├── delay_peak_detector.cc
│   │   │   │   ├── delay_peak_detector.h
│   │   │   │   ├── delay_peak_detector_unittest.cc
│   │   │   │   ├── dsp_helper.cc
│   │   │   │   ├── dsp_helper.h
│   │   │   │   ├── dsp_helper_unittest.cc
│   │   │   │   ├── dtmf_buffer.cc
│   │   │   │   ├── dtmf_buffer.h
│   │   │   │   ├── dtmf_buffer_unittest.cc
│   │   │   │   ├── dtmf_tone_generator.cc
│   │   │   │   ├── dtmf_tone_generator.h
│   │   │   │   ├── dtmf_tone_generator_unittest.cc
│   │   │   │   ├── expand.cc
│   │   │   │   ├── expand.h
│   │   │   │   ├── expand_uma_logger.cc
│   │   │   │   ├── expand_uma_logger.h
│   │   │   │   ├── expand_unittest.cc
│   │   │   │   ├── include
│   │   │   │   │   └── neteq.h
│   │   │   │   ├── merge.cc
│   │   │   │   ├── merge.h
│   │   │   │   ├── merge_unittest.cc
│   │   │   │   ├── mock
│   │   │   │   │   ├── mock_buffer_level_filter.h
│   │   │   │   │   ├── mock_decoder_database.h
│   │   │   │   │   ├── mock_delay_manager.h
│   │   │   │   │   ├── mock_delay_peak_detector.h
│   │   │   │   │   ├── mock_dtmf_buffer.h
│   │   │   │   │   ├── mock_dtmf_tone_generator.h
│   │   │   │   │   ├── mock_expand.h
│   │   │   │   │   ├── mock_external_decoder_pcm16b.h
│   │   │   │   │   ├── mock_packet_buffer.h
│   │   │   │   │   ├── mock_red_payload_splitter.h
│   │   │   │   │   └── mock_statistics_calculator.h
│   │   │   │   ├── nack_tracker.cc
│   │   │   │   ├── nack_tracker.h
│   │   │   │   ├── nack_tracker_unittest.cc
│   │   │   │   ├── neteq.cc
│   │   │   │   ├── neteq_decoder_enum.cc
│   │   │   │   ├── neteq_decoder_enum.h
│   │   │   │   ├── neteq_external_decoder_unittest.cc
│   │   │   │   ├── neteq_impl.cc
│   │   │   │   ├── neteq_impl.h
│   │   │   │   ├── neteq_impl_unittest.cc
│   │   │   │   ├── neteq_network_stats_unittest.cc
│   │   │   │   ├── neteq_stereo_unittest.cc
│   │   │   │   ├── neteq_unittest.cc
│   │   │   │   ├── neteq_unittest.proto
│   │   │   │   ├── normal.cc
│   │   │   │   ├── normal.h
│   │   │   │   ├── normal_unittest.cc
│   │   │   │   ├── packet_buffer.cc
│   │   │   │   ├── packet_buffer.h
│   │   │   │   ├── packet_buffer_unittest.cc
│   │   │   │   ├── packet.cc
│   │   │   │   ├── packet.h
│   │   │   │   ├── post_decode_vad.cc
│   │   │   │   ├── post_decode_vad.h
│   │   │   │   ├── post_decode_vad_unittest.cc
│   │   │   │   ├── preemptive_expand.cc
│   │   │   │   ├── preemptive_expand.h
│   │   │   │   ├── random_vector.cc
│   │   │   │   ├── random_vector.h
│   │   │   │   ├── random_vector_unittest.cc
│   │   │   │   ├── red_payload_splitter.cc
│   │   │   │   ├── red_payload_splitter.h
│   │   │   │   ├── red_payload_splitter_unittest.cc
│   │   │   │   ├── rtcp.cc
│   │   │   │   ├── rtcp.h
│   │   │   │   ├── statistics_calculator.cc
│   │   │   │   ├── statistics_calculator.h
│   │   │   │   ├── statistics_calculator_unittest.cc
│   │   │   │   ├── sync_buffer.cc
│   │   │   │   ├── sync_buffer.h
│   │   │   │   ├── sync_buffer_unittest.cc
│   │   │   │   ├── test
│   │   │   │   │   ├── delay_tool
│   │   │   │   │   │   ├── parse_delay_file.m
│   │   │   │   │   │   └── plot_neteq_delay.m
│   │   │   │   │   ├── neteq_ilbc_quality_test.cc
│   │   │   │   │   ├── neteq_isac_quality_test.cc
│   │   │   │   │   ├── neteq_opus_quality_test.cc
│   │   │   │   │   ├── neteq_pcm16b_quality_test.cc
│   │   │   │   │   ├── neteq_pcmu_quality_test.cc
│   │   │   │   │   ├── neteq_performance_unittest.cc
│   │   │   │   │   └── neteq_speed_test.cc
│   │   │   │   ├── tick_timer.cc
│   │   │   │   ├── tick_timer.h
│   │   │   │   ├── tick_timer_unittest.cc
│   │   │   │   ├── timestamp_scaler.cc
│   │   │   │   ├── timestamp_scaler.h
│   │   │   │   ├── timestamp_scaler_unittest.cc
│   │   │   │   ├── time_stretch.cc
│   │   │   │   ├── time_stretch.h
│   │   │   │   ├── time_stretch_unittest.cc
│   │   │   │   └── tools
│   │   │   │   ├── audio_checksum.h
│   │   │   │   ├── audio_loop.cc
│   │   │   │   ├── audio_loop.h
│   │   │   │   ├── audio_sink.cc
│   │   │   │   ├── audio_sink.h
│   │   │   │   ├── constant_pcm_packet_source.cc
│   │   │   │   ├── constant_pcm_packet_source.h
│   │   │   │   ├── DEPS
│   │   │   │   ├── encode_neteq_input.cc
│   │   │   │   ├── encode_neteq_input.h
│   │   │   │   ├── fake_decode_from_file.cc
│   │   │   │   ├── fake_decode_from_file.h
│   │   │   │   ├── input_audio_file.cc
│   │   │   │   ├── input_audio_file.h
│   │   │   │   ├── input_audio_file_unittest.cc
│   │   │   │   ├── neteq_delay_analyzer.cc
│   │   │   │   ├── neteq_delay_analyzer.h
│   │   │   │   ├── neteq_external_decoder_test.cc
│   │   │   │   ├── neteq_external_decoder_test.h
│   │   │   │   ├── neteq_input.cc
│   │   │   │   ├── neteq_input.h
│   │   │   │   ├── neteq_packet_source_input.cc
│   │   │   │   ├── neteq_packet_source_input.h
│   │   │   │   ├── neteq_performance_test.cc
│   │   │   │   ├── neteq_performance_test.h
│   │   │   │   ├── neteq_quality_test.cc
│   │   │   │   ├── neteq_quality_test.h
│   │   │   │   ├── neteq_replacement_input.cc
│   │   │   │   ├── neteq_replacement_input.h
│   │   │   │   ├── neteq_rtpplay.cc
│   │   │   │   ├── neteq_stats_getter.cc
│   │   │   │   ├── neteq_stats_getter.h
│   │   │   │   ├── neteq_test.cc
│   │   │   │   ├── neteq_test.h
│   │   │   │   ├── output_audio_file.h
│   │   │   │   ├── output_wav_file.h
│   │   │   │   ├── packet.cc
│   │   │   │   ├── packet.h
│   │   │   │   ├── packet_source.cc
│   │   │   │   ├── packet_source.h
│   │   │   │   ├── packet_unittest.cc
│   │   │   │   ├── resample_input_audio_file.cc
│   │   │   │   ├── resample_input_audio_file.h
│   │   │   │   ├── rtc_event_log_source.cc
│   │   │   │   ├── rtc_event_log_source.h
│   │   │   │   ├── rtp_analyze.cc
│   │   │   │   ├── rtpcat.cc
│   │   │   │   ├── rtp_encode.cc
│   │   │   │   ├── rtp_file_source.cc
│   │   │   │   ├── rtp_file_source.h
│   │   │   │   ├── rtp_generator.cc
│   │   │   │   ├── rtp_generator.h
│   │   │   │   └── rtp_jitter.cc
│   │   │   ├── OWNERS
│   │   │   └── test
│   │   │   ├── ACMTest.h
│   │   │   ├── APITest.cc
│   │   │   ├── APITest.h
│   │   │   ├── Channel.cc
│   │   │   ├── Channel.h
│   │   │   ├── delay_test.cc
│   │   │   ├── EncodeDecodeTest.cc
│   │   │   ├── EncodeDecodeTest.h
│   │   │   ├── insert_packet_with_timing.cc
│   │   │   ├── iSACTest.cc
│   │   │   ├── iSACTest.h
│   │   │   ├── opus_test.cc
│   │   │   ├── opus_test.h
│   │   │   ├── PacketLossTest.cc
│   │   │   ├── PacketLossTest.h
│   │   │   ├── PCMFile.cc
│   │   │   ├── PCMFile.h
│   │   │   ├── RTPFile.cc
│   │   │   ├── RTPFile.h
│   │   │   ├── target_delay_unittest.cc
│   │   │   ├── TestAllCodecs.cc
│   │   │   ├── TestAllCodecs.h
│   │   │   ├── Tester.cc
│   │   │   ├── TestRedFec.cc
│   │   │   ├── TestRedFec.h
│   │   │   ├── TestStereo.cc
│   │   │   ├── TestStereo.h
│   │   │   ├── TestVADDTX.cc
│   │   │   ├── TestVADDTX.h
│   │   │   ├── TwoWayCommunication.cc
│   │   │   ├── TwoWayCommunication.h
│   │   │   ├── utility.cc
│   │   │   └── utility.h
│   │   ├── audio_device
│   │   │   ├── android
│   │   │   │   ├── aaudio_player.cc
│   │   │   │   ├── aaudio_player.h
│   │   │   │   ├── aaudio_recorder.cc
│   │   │   │   ├── aaudio_recorder.h
│   │   │   │   ├── aaudio_wrapper.cc
│   │   │   │   ├── aaudio_wrapper.h
│   │   │   │   ├── audio_common.h
│   │   │   │   ├── audio_device_template.h
│   │   │   │   ├── audio_device_unittest.cc
│   │   │   │   ├── audio_manager.cc
│   │   │   │   ├── audio_manager.h
│   │   │   │   ├── audio_manager_unittest.cc
│   │   │   │   ├── audio_record_jni.cc
│   │   │   │   ├── audio_record_jni.h
│   │   │   │   ├── audio_track_jni.cc
│   │   │   │   ├── audio_track_jni.h
│   │   │   │   ├── build_info.cc
│   │   │   │   ├── build_info.h
│   │   │   │   ├── ensure_initialized.cc
│   │   │   │   ├── ensure_initialized.h
│   │   │   │   ├── java
│   │   │   │   │   └── src
│   │   │   │   │   └── org
│   │   │   │   │   └── webrtc
│   │   │   │   │   └── voiceengine
│   │   │   │   │   ├── BuildInfo.java
│   │   │   │   │   ├── WebRtcAudioEffects.java
│   │   │   │   │   ├── WebRtcAudioManager.java
│   │   │   │   │   ├── WebRtcAudioRecord.java
│   │   │   │   │   ├── WebRtcAudioTrack.java
│   │   │   │   │   └── WebRtcAudioUtils.java
│   │   │   │   ├── opensles_common.cc
│   │   │   │   ├── opensles_common.h
│   │   │   │   ├── opensles_player.cc
│   │   │   │   ├── opensles_player.h
│   │   │   │   ├── opensles_recorder.cc
│   │   │   │   └── opensles_recorder.h
│   │   │   ├── audio_device_buffer.cc
│   │   │   ├── audio_device_buffer.h
│   │   │   ├── audio_device_config.h
│   │   │   ├── audio_device_data_observer.cc
│   │   │   ├── audio_device_generic.cc
│   │   │   ├── audio_device_generic.h
│   │   │   ├── audio_device_impl.cc
│   │   │   ├── audio_device_impl.h
│   │   │   ├── audio_device_name.cc
│   │   │   ├── audio_device_name.h
│   │   │   ├── audio_device_unittest.cc
│   │   │   ├── BUILD.gn
│   │   │   ├── DEPS
│   │   │   ├── dummy
│   │   │   │   ├── audio_device_dummy.cc
│   │   │   │   ├── audio_device_dummy.h
│   │   │   │   ├── file_audio_device.cc
│   │   │   │   ├── file_audio_device_factory.cc
│   │   │   │   ├── file_audio_device_factory.h
│   │   │   │   └── file_audio_device.h
│   │   │   ├── fine_audio_buffer.cc
│   │   │   ├── fine_audio_buffer.h
│   │   │   ├── fine_audio_buffer_unittest.cc
│   │   │   ├── include
│   │   │   │   ├── audio_device_data_observer.h
│   │   │   │   ├── audio_device_default.h
│   │   │   │   ├── audio_device_defines.h
│   │   │   │   ├── audio_device.h
│   │   │   │   ├── fake_audio_device.h
│   │   │   │   ├── mock_audio_device.h
│   │   │   │   ├── mock_audio_transport.h
│   │   │   │   ├── test_audio_device.cc
│   │   │   │   ├── test_audio_device.h
│   │   │   │   └── test_audio_device_unittest.cc
│   │   │   ├── ios
│   │   │   │   ├── audio_device_ios.h
│   │   │   │   ├── audio_device_ios.mm
│   │   │   │   ├── audio_device_not_implemented_ios.mm
│   │   │   │   ├── audio_device_unittest_ios.mm
│   │   │   │   ├── audio_session_observer.h
│   │   │   │   ├── objc
│   │   │   │   │   ├── RTCAudioSessionConfiguration.h
│   │   │   │   │   ├── RTCAudioSessionDelegateAdapter.h
│   │   │   │   │   ├── RTCAudioSessionDelegateAdapter.mm
│   │   │   │   │   └── RTCAudioSession.h
│   │   │   │   ├── voice_processing_audio_unit.h
│   │   │   │   └── voice_processing_audio_unit.mm
│   │   │   ├── linux
│   │   │   │   ├── alsasymboltable_linux.cc
│   │   │   │   ├── alsasymboltable_linux.h
│   │   │   │   ├── audio_device_alsa_linux.cc
│   │   │   │   ├── audio_device_alsa_linux.h
│   │   │   │   ├── audio_device_pulse_linux.cc
│   │   │   │   ├── audio_device_pulse_linux.h
│   │   │   │   ├── audio_mixer_manager_alsa_linux.cc
│   │   │   │   ├── audio_mixer_manager_alsa_linux.h
│   │   │   │   ├── audio_mixer_manager_pulse_linux.cc
│   │   │   │   ├── audio_mixer_manager_pulse_linux.h
│   │   │   │   ├── latebindingsymboltable_linux.cc
│   │   │   │   ├── latebindingsymboltable_linux.h
│   │   │   │   ├── pulseaudiosymboltable_linux.cc
│   │   │   │   └── pulseaudiosymboltable_linux.h
│   │   │   ├── mac
│   │   │   │   ├── audio_device_mac.cc
│   │   │   │   ├── audio_device_mac.h
│   │   │   │   ├── audio_mixer_manager_mac.cc
│   │   │   │   ├── audio_mixer_manager_mac.h
│   │   │   │   └── portaudio
│   │   │   │   ├── pa_memorybarrier.h
│   │   │   │   ├── pa_ringbuffer.c
│   │   │   │   └── pa_ringbuffer.h
│   │   │   ├── mock_audio_device_buffer.h
│   │   │   ├── OWNERS
│   │   │   └── win
│   │   │   ├── audio_device_core_win.cc
│   │   │   ├── audio_device_core_win.h
│   │   │   ├── core_audio_utility_win.cc
│   │   │   ├── core_audio_utility_win.h
│   │   │   └── core_audio_utility_win_unittest.cc
│   │   ├── audio_mixer
│   │   │   ├── audio_frame_manipulator.cc
│   │   │   ├── audio_frame_manipulator.h
│   │   │   ├── audio_frame_manipulator_unittest.cc
│   │   │   ├── audio_mixer_impl.cc
│   │   │   ├── audio_mixer_impl.h
│   │   │   ├── audio_mixer_impl_unittest.cc
│   │   │   ├── audio_mixer_test.cc
│   │   │   ├── BUILD.gn
│   │   │   ├── default_output_rate_calculator.cc
│   │   │   ├── default_output_rate_calculator.h
│   │   │   ├── DEPS
│   │   │   ├── frame_combiner.cc
│   │   │   ├── frame_combiner.h
│   │   │   ├── frame_combiner_unittest.cc
│   │   │   ├── gain_change_calculator.cc
│   │   │   ├── gain_change_calculator.h
│   │   │   ├── output_rate_calculator.h
│   │   │   ├── OWNERS
│   │   │   ├── sine_wave_generator.cc
│   │   │   └── sine_wave_generator.h
│   │   ├── audio_processing
│   │   │   ├── aec
│   │   │   │   ├── aec_common.h
│   │   │   │   ├── aec_core.cc
│   │   │   │   ├── aec_core.h
│   │   │   │   ├── aec_core_mips.cc
│   │   │   │   ├── aec_core_neon.cc
│   │   │   │   ├── aec_core_optimized_methods.h
│   │   │   │   ├── aec_core_sse2.cc
│   │   │   │   ├── aec_resampler.cc
│   │   │   │   ├── aec_resampler.h
│   │   │   │   ├── echo_cancellation.cc
│   │   │   │   ├── echo_cancellation.h
│   │   │   │   ├── echo_cancellation_unittest.cc
│   │   │   │   └── system_delay_unittest.cc
│   │   │   ├── aec3
│   │   │   │   ├── adaptive_fir_filter.cc
│   │   │   │   ├── adaptive_fir_filter.h
│   │   │   │   ├── adaptive_fir_filter_unittest.cc
│   │   │   │   ├── aec3_common.cc
│   │   │   │   ├── aec3_common.h
│   │   │   │   ├── aec3_fft.cc
│   │   │   │   ├── aec3_fft.h
│   │   │   │   ├── aec3_fft_unittest.cc
│   │   │   │   ├── aec_state.cc
│   │   │   │   ├── aec_state.h
│   │   │   │   ├── aec_state_unittest.cc
│   │   │   │   ├── block_framer.cc
│   │   │   │   ├── block_framer.h
│   │   │   │   ├── block_framer_unittest.cc
│   │   │   │   ├── block_processor.cc
│   │   │   │   ├── block_processor.h
│   │   │   │   ├── block_processor_metrics.cc
│   │   │   │   ├── block_processor_metrics.h
│   │   │   │   ├── block_processor_metrics_unittest.cc
│   │   │   │   ├── block_processor_unittest.cc
│   │   │   │   ├── BUILD.gn
│   │   │   │   ├── cascaded_biquad_filter.cc
│   │   │   │   ├── cascaded_biquad_filter.h
│   │   │   │   ├── cascaded_biquad_filter_unittest.cc
│   │   │   │   ├── coherence_gain.cc
│   │   │   │   ├── coherence_gain.h
│   │   │   │   ├── comfort_noise_generator.cc
│   │   │   │   ├── comfort_noise_generator.h
│   │   │   │   ├── comfort_noise_generator_unittest.cc
│   │   │   │   ├── decimator.cc
│   │   │   │   ├── decimator.h
│   │   │   │   ├── decimator_unittest.cc
│   │   │   │   ├── delay_estimate.h
│   │   │   │   ├── downsampled_render_buffer.cc
│   │   │   │   ├── downsampled_render_buffer.h
│   │   │   │   ├── echo_audibility.cc
│   │   │   │   ├── echo_audibility.h
│   │   │   │   ├── echo_canceller3.cc
│   │   │   │   ├── echo_canceller3.h
│   │   │   │   ├── echo_canceller3_unittest.cc
│   │   │   │   ├── echo_path_delay_estimator.cc
│   │   │   │   ├── echo_path_delay_estimator.h
│   │   │   │   ├── echo_path_delay_estimator_unittest.cc
│   │   │   │   ├── echo_path_variability.cc
│   │   │   │   ├── echo_path_variability.h
│   │   │   │   ├── echo_path_variability_unittest.cc
│   │   │   │   ├── echo_remover.cc
│   │   │   │   ├── echo_remover.h
│   │   │   │   ├── echo_remover_metrics.cc
│   │   │   │   ├── echo_remover_metrics.h
│   │   │   │   ├── echo_remover_metrics_unittest.cc
│   │   │   │   ├── echo_remover_unittest.cc
│   │   │   │   ├── erle_estimator.cc
│   │   │   │   ├── erle_estimator.h
│   │   │   │   ├── erle_estimator_unittest.cc
│   │   │   │   ├── erl_estimator.cc
│   │   │   │   ├── erl_estimator.h
│   │   │   │   ├── erl_estimator_unittest.cc
│   │   │   │   ├── fft_buffer.cc
│   │   │   │   ├── fft_buffer.h
│   │   │   │   ├── fft_data.h
│   │   │   │   ├── fft_data_unittest.cc
│   │   │   │   ├── filter_analyzer.cc
│   │   │   │   ├── filter_analyzer.h
│   │   │   │   ├── frame_blocker.cc
│   │   │   │   ├── frame_blocker.h
│   │   │   │   ├── frame_blocker_unittest.cc
│   │   │   │   ├── main_filter_update_gain.cc
│   │   │   │   ├── main_filter_update_gain.h
│   │   │   │   ├── main_filter_update_gain_unittest.cc
│   │   │   │   ├── matched_filter.cc
│   │   │   │   ├── matched_filter.h
│   │   │   │   ├── matched_filter_lag_aggregator.cc
│   │   │   │   ├── matched_filter_lag_aggregator.h
│   │   │   │   ├── matched_filter_lag_aggregator_unittest.cc
│   │   │   │   ├── matched_filter_unittest.cc
│   │   │   │   ├── matrix_buffer.cc
│   │   │   │   ├── matrix_buffer.h
│   │   │   │   ├── mock
│   │   │   │   │   ├── mock_block_processor.h
│   │   │   │   │   ├── mock_echo_remover.h
│   │   │   │   │   ├── mock_render_delay_buffer.h
│   │   │   │   │   └── mock_render_delay_controller.h
│   │   │   │   ├── render_buffer.cc
│   │   │   │   ├── render_buffer.h
│   │   │   │   ├── render_buffer_unittest.cc
│   │   │   │   ├── render_delay_buffer.cc
│   │   │   │   ├── render_delay_buffer.h
│   │   │   │   ├── render_delay_buffer_unittest.cc
│   │   │   │   ├── render_delay_controller.cc
│   │   │   │   ├── render_delay_controller.h
│   │   │   │   ├── render_delay_controller_metrics.cc
│   │   │   │   ├── render_delay_controller_metrics.h
│   │   │   │   ├── render_delay_controller_metrics_unittest.cc
│   │   │   │   ├── render_delay_controller_unittest.cc
│   │   │   │   ├── render_signal_analyzer.cc
│   │   │   │   ├── render_signal_analyzer.h
│   │   │   │   ├── render_signal_analyzer_unittest.cc
│   │   │   │   ├── residual_echo_estimator.cc
│   │   │   │   ├── residual_echo_estimator.h
│   │   │   │   ├── residual_echo_estimator_unittest.cc
│   │   │   │   ├── shadow_filter_update_gain.cc
│   │   │   │   ├── shadow_filter_update_gain.h
│   │   │   │   ├── shadow_filter_update_gain_unittest.cc
│   │   │   │   ├── skew_estimator.cc
│   │   │   │   ├── skew_estimator.h
│   │   │   │   ├── skew_estimator_unittest.cc
│   │   │   │   ├── stationarity_estimator.cc
│   │   │   │   ├── stationarity_estimator.h
│   │   │   │   ├── subtractor.cc
│   │   │   │   ├── subtractor.h
│   │   │   │   ├── subtractor_output.h
│   │   │   │   ├── subtractor_unittest.cc
│   │   │   │   ├── suppression_filter.cc
│   │   │   │   ├── suppression_filter.h
│   │   │   │   ├── suppression_filter_unittest.cc
│   │   │   │   ├── suppression_gain.cc
│   │   │   │   ├── suppression_gain.h
│   │   │   │   ├── suppression_gain_limiter.cc
│   │   │   │   ├── suppression_gain_limiter.h
│   │   │   │   ├── suppression_gain_unittest.cc
│   │   │   │   ├── vector_buffer.cc
│   │   │   │   ├── vector_buffer.h
│   │   │   │   ├── vector_math.h
│   │   │   │   └── vector_math_unittest.cc
│   │   │   ├── aec_dump
│   │   │   │   ├── aec_dump_factory.h
│   │   │   │   ├── aec_dump_impl.cc
│   │   │   │   ├── aec_dump_impl.h
│   │   │   │   ├── aec_dump_integration_test.cc
│   │   │   │   ├── aec_dump_unittest.cc
│   │   │   │   ├── BUILD.gn
│   │   │   │   ├── capture_stream_info.cc
│   │   │   │   ├── capture_stream_info.h
│   │   │   │   ├── mock_aec_dump.cc
│   │   │   │   ├── mock_aec_dump.h
│   │   │   │   ├── null_aec_dump_factory.cc
│   │   │   │   ├── write_to_file_task.cc
│   │   │   │   └── write_to_file_task.h
│   │   │   ├── aecm
│   │   │   │   ├── aecm_core.cc
│   │   │   │   ├── aecm_core_c.cc
│   │   │   │   ├── aecm_core.h
│   │   │   │   ├── aecm_core_mips.cc
│   │   │   │   ├── aecm_core_neon.cc
│   │   │   │   ├── aecm_defines.h
│   │   │   │   ├── echo_control_mobile.cc
│   │   │   │   └── echo_control_mobile.h
│   │   │   ├── agc
│   │   │   │   ├── agc.cc
│   │   │   │   ├── agc.h
│   │   │   │   ├── agc_manager_direct.cc
│   │   │   │   ├── agc_manager_direct.h
│   │   │   │   ├── agc_manager_direct_unittest.cc
│   │   │   │   ├── gain_map_internal.h
│   │   │   │   ├── legacy
│   │   │   │   │   ├── analog_agc.c
│   │   │   │   │   ├── analog_agc.h
│   │   │   │   │   ├── digital_agc.c
│   │   │   │   │   ├── digital_agc.h
│   │   │   │   │   └── gain_control.h
│   │   │   │   ├── loudness_histogram.cc
│   │   │   │   ├── loudness_histogram.h
│   │   │   │   ├── loudness_histogram_unittest.cc
│   │   │   │   ├── mock_agc.h
│   │   │   │   ├── utility.cc
│   │   │   │   └── utility.h
│   │   │   ├── agc2
│   │   │   │   ├── adaptive_agc.cc
│   │   │   │   ├── adaptive_agc.h
│   │   │   │   ├── adaptive_digital_gain_applier.cc
│   │   │   │   ├── adaptive_digital_gain_applier.h
│   │   │   │   ├── adaptive_digital_gain_applier_unittest.cc
│   │   │   │   ├── adaptive_mode_level_estimator.cc
│   │   │   │   ├── adaptive_mode_level_estimator.h
│   │   │   │   ├── adaptive_mode_level_estimator_unittest.cc
│   │   │   │   ├── agc2_common.h
│   │   │   │   ├── agc2_testing_common.cc
│   │   │   │   ├── agc2_testing_common.h
│   │   │   │   ├── agc2_testing_common_unittest.cc
│   │   │   │   ├── biquad_filter.cc
│   │   │   │   ├── biquad_filter.h
│   │   │   │   ├── biquad_filter_unittest.cc
│   │   │   │   ├── BUILD.gn
│   │   │   │   ├── compute_interpolated_gain_curve.cc
│   │   │   │   ├── compute_interpolated_gain_curve.h
│   │   │   │   ├── down_sampler.cc
│   │   │   │   ├── down_sampler.h
│   │   │   │   ├── fixed_digital_level_estimator.cc
│   │   │   │   ├── fixed_digital_level_estimator.h
│   │   │   │   ├── fixed_digital_level_estimator_unittest.cc
│   │   │   │   ├── fixed_gain_controller.cc
│   │   │   │   ├── fixed_gain_controller.h
│   │   │   │   ├── fixed_gain_controller_unittest.cc
│   │   │   │   ├── gain_applier.cc
│   │   │   │   ├── gain_applier.h
│   │   │   │   ├── gain_applier_unittest.cc
│   │   │   │   ├── gain_curve_applier.cc
│   │   │   │   ├── gain_curve_applier.h
│   │   │   │   ├── gain_curve_applier_unittest.cc
│   │   │   │   ├── interpolated_gain_curve.cc
│   │   │   │   ├── interpolated_gain_curve.h
│   │   │   │   ├── interpolated_gain_curve_unittest.cc
│   │   │   │   ├── limiter.cc
│   │   │   │   ├── limiter.h
│   │   │   │   ├── limiter_unittest.cc
│   │   │   │   ├── noise_level_estimator.cc
│   │   │   │   ├── noise_level_estimator.h
│   │   │   │   ├── noise_level_estimator_unittest.cc
│   │   │   │   ├── noise_spectrum_estimator.cc
│   │   │   │   ├── noise_spectrum_estimator.h
│   │   │   │   ├── rnn_vad
│   │   │   │   │   ├── BUILD.gn
│   │   │   │   │   ├── common.h
│   │   │   │   │   ├── DEPS
│   │   │   │   │   ├── features_extraction.cc
│   │   │   │   │   ├── features_extraction.h
│   │   │   │   │   ├── features_extraction_unittest.cc
│   │   │   │   │   ├── fft_util.cc
│   │   │   │   │   ├── fft_util.h
│   │   │   │   │   ├── fft_util_unittest.cc
│   │   │   │   │   ├── lp_residual.cc
│   │   │   │   │   ├── lp_residual.h
│   │   │   │   │   ├── lp_residual_unittest.cc
│   │   │   │   │   ├── pitch_info.h
│   │   │   │   │   ├── pitch_search.cc
│   │   │   │   │   ├── pitch_search.h
│   │   │   │   │   ├── pitch_search_internal.cc
│   │   │   │   │   ├── pitch_search_internal.h
│   │   │   │   │   ├── pitch_search_internal_unittest.cc
│   │   │   │   │   ├── pitch_search_unittest.cc
│   │   │   │   │   ├── ring_buffer.h
│   │   │   │   │   ├── ring_buffer_unittest.cc
│   │   │   │   │   ├── rnn.cc
│   │   │   │   │   ├── rnn.h
│   │   │   │   │   ├── rnn_unittest.cc
│   │   │   │   │   ├── rnn_vad_tool.cc
│   │   │   │   │   ├── rnn_vad_unittest.cc
│   │   │   │   │   ├── sequence_buffer.h
│   │   │   │   │   ├── sequence_buffer_unittest.cc
│   │   │   │   │   ├── spectral_features.cc
│   │   │   │   │   ├── spectral_features.h
│   │   │   │   │   ├── spectral_features_internal.cc
│   │   │   │   │   ├── spectral_features_internal.h
│   │   │   │   │   ├── spectral_features_internal_unittest.cc
│   │   │   │   │   ├── spectral_features_unittest.cc
│   │   │   │   │   ├── symmetric_matrix_buffer.h
│   │   │   │   │   ├── symmetric_matrix_buffer_unittest.cc
│   │   │   │   │   ├── test_utils.cc
│   │   │   │   │   └── test_utils.h
│   │   │   │   ├── saturation_protector.cc
│   │   │   │   ├── saturation_protector.h
│   │   │   │   ├── saturation_protector_unittest.cc
│   │   │   │   ├── signal_classifier.cc
│   │   │   │   ├── signal_classifier.h
│   │   │   │   ├── signal_classifier_unittest.cc
│   │   │   │   ├── vector_float_frame.cc
│   │   │   │   └── vector_float_frame.h
│   │   │   ├── audio_buffer.cc
│   │   │   ├── audio_buffer.h
│   │   │   ├── audio_buffer_unittest.cc
│   │   │   ├── audio_frame_view_unittest.cc
│   │   │   ├── audio_generator
│   │   │   │   ├── file_audio_generator.cc
│   │   │   │   ├── file_audio_generator.h
│   │   │   │   └── file_audio_generator_unittest.cc
│   │   │   ├── audio_processing_impl.cc
│   │   │   ├── audio_processing_impl.h
│   │   │   ├── audio_processing_impl_locking_unittest.cc
│   │   │   ├── audio_processing_impl_unittest.cc
│   │   │   ├── audio_processing_performance_unittest.cc
│   │   │   ├── audio_processing_unittest.cc
│   │   │   ├── beamformer
│   │   │   │   ├── array_util.cc
│   │   │   │   ├── array_util.h
│   │   │   │   ├── array_util_unittest.cc
│   │   │   │   ├── complex_matrix.h
│   │   │   │   ├── complex_matrix_unittest.cc
│   │   │   │   ├── covariance_matrix_generator.cc
│   │   │   │   ├── covariance_matrix_generator.h
│   │   │   │   ├── covariance_matrix_generator_unittest.cc
│   │   │   │   ├── matrix.h
│   │   │   │   ├── matrix_test_helpers.h
│   │   │   │   ├── matrix_unittest.cc
│   │   │   │   ├── mock_nonlinear_beamformer.h
│   │   │   │   ├── nonlinear_beamformer.cc
│   │   │   │   ├── nonlinear_beamformer.h
│   │   │   │   ├── nonlinear_beamformer_test.cc
│   │   │   │   └── nonlinear_beamformer_unittest.cc
│   │   │   ├── BUILD.gn
│   │   │   ├── common.h
│   │   │   ├── config_unittest.cc
│   │   │   ├── debug.proto
│   │   │   ├── DEPS
│   │   │   ├── echo_cancellation_bit_exact_unittest.cc
│   │   │   ├── echo_cancellation_impl.cc
│   │   │   ├── echo_cancellation_impl.h
│   │   │   ├── echo_cancellation_impl_unittest.cc
│   │   │   ├── echo_control_mobile_impl.cc
│   │   │   ├── echo_control_mobile_impl.h
│   │   │   ├── echo_control_mobile_unittest.cc
│   │   │   ├── echo_detector
│   │   │   │   ├── circular_buffer.cc
│   │   │   │   ├── circular_buffer.h
│   │   │   │   ├── circular_buffer_unittest.cc
│   │   │   │   ├── mean_variance_estimator.cc
│   │   │   │   ├── mean_variance_estimator.h
│   │   │   │   ├── mean_variance_estimator_unittest.cc
│   │   │   │   ├── moving_max.cc
│   │   │   │   ├── moving_max.h
│   │   │   │   ├── moving_max_unittest.cc
│   │   │   │   ├── normalized_covariance_estimator.cc
│   │   │   │   ├── normalized_covariance_estimator.h
│   │   │   │   └── normalized_covariance_estimator_unittest.cc
│   │   │   ├── gain_control_for_experimental_agc.cc
│   │   │   ├── gain_control_for_experimental_agc.h
│   │   │   ├── gain_control_impl.cc
│   │   │   ├── gain_control_impl.h
│   │   │   ├── gain_controller2.cc
│   │   │   ├── gain_controller2.h
│   │   │   ├── gain_controller2_unittest.cc
│   │   │   ├── gain_control_unittest.cc
│   │   │   ├── include
│   │   │   │   ├── aec_dump.cc
│   │   │   │   ├── aec_dump.h
│   │   │   │   ├── audio_frame_view.h
│   │   │   │   ├── audio_generator_factory.cc
│   │   │   │   ├── audio_generator_factory.h
│   │   │   │   ├── audio_generator.h
│   │   │   │   ├── audio_processing.cc
│   │   │   │   ├── audio_processing.h
│   │   │   │   ├── audio_processing_statistics.cc
│   │   │   │   ├── audio_processing_statistics.h
│   │   │   │   ├── config.cc
│   │   │   │   ├── config.h
│   │   │   │   └── mock_audio_processing.h
│   │   │   ├── intelligibility
│   │   │   │   ├── intelligibility_enhancer.cc
│   │   │   │   ├── intelligibility_enhancer.h
│   │   │   │   ├── intelligibility_enhancer_unittest.cc
│   │   │   │   ├── intelligibility_utils.cc
│   │   │   │   ├── intelligibility_utils.h
│   │   │   │   ├── intelligibility_utils_unittest.cc
│   │   │   │   └── test
│   │   │   │   └── intelligibility_proc.cc
│   │   │   ├── level_estimator_impl.cc
│   │   │   ├── level_estimator_impl.h
│   │   │   ├── level_estimator_unittest.cc
│   │   │   ├── logging
│   │   │   │   ├── apm_data_dumper.cc
│   │   │   │   └── apm_data_dumper.h
│   │   │   ├── low_cut_filter.cc
│   │   │   ├── low_cut_filter.h
│   │   │   ├── low_cut_filter_unittest.cc
│   │   │   ├── noise_suppression_impl.cc
│   │   │   ├── noise_suppression_impl.h
│   │   │   ├── noise_suppression_unittest.cc
│   │   │   ├── ns
│   │   │   │   ├── defines.h
│   │   │   │   ├── noise_suppression.c
│   │   │   │   ├── noise_suppression.h
│   │   │   │   ├── noise_suppression_x.c
│   │   │   │   ├── noise_suppression_x.h
│   │   │   │   ├── ns_core.c
│   │   │   │   ├── ns_core.h
│   │   │   │   ├── nsx_core.c
│   │   │   │   ├── nsx_core_c.c
│   │   │   │   ├── nsx_core.h
│   │   │   │   ├── nsx_core_mips.c
│   │   │   │   ├── nsx_core_neon.c
│   │   │   │   ├── nsx_defines.h
│   │   │   │   └── windows_private.h
│   │   │   ├── OWNERS
│   │   │   ├── render_queue_item_verifier.h
│   │   │   ├── residual_echo_detector.cc
│   │   │   ├── residual_echo_detector.h
│   │   │   ├── residual_echo_detector_unittest.cc
│   │   │   ├── rms_level.cc
│   │   │   ├── rms_level.h
│   │   │   ├── rms_level_unittest.cc
│   │   │   ├── splitting_filter.cc
│   │   │   ├── splitting_filter.h
│   │   │   ├── splitting_filter_unittest.cc
│   │   │   ├── test
│   │   │   │   ├── aec_dump_based_simulator.cc
│   │   │   │   ├── aec_dump_based_simulator.h
│   │   │   │   ├── android
│   │   │   │   │   └── apmtest
│   │   │   │   │   ├── AndroidManifest.xml
│   │   │   │   │   ├── default.properties
│   │   │   │   │   ├── jni
│   │   │   │   │   │   └── main.c
│   │   │   │   │   └── res
│   │   │   │   │   └── values
│   │   │   │   │   └── strings.xml
│   │   │   │   ├── apmtest.m
│   │   │   │   ├── audio_buffer_tools.cc
│   │   │   │   ├── audio_buffer_tools.h
│   │   │   │   ├── audio_processing_simulator.cc
│   │   │   │   ├── audio_processing_simulator.h
│   │   │   │   ├── audioproc_float_impl.cc
│   │   │   │   ├── audioproc_float_impl.h
│   │   │   │   ├── audioproc_float_main.cc
│   │   │   │   ├── bitexactness_tools.cc
│   │   │   │   ├── bitexactness_tools.h
│   │   │   │   ├── conversational_speech
│   │   │   │   │   ├── BUILD.gn
│   │   │   │   │   ├── config.cc
│   │   │   │   │   ├── config.h
│   │   │   │   │   ├── generator.cc
│   │   │   │   │   ├── generator_unittest.cc
│   │   │   │   │   ├── mock_wavreader.cc
│   │   │   │   │   ├── mock_wavreader_factory.cc
│   │   │   │   │   ├── mock_wavreader_factory.h
│   │   │   │   │   ├── mock_wavreader.h
│   │   │   │   │   ├── multiend_call.cc
│   │   │   │   │   ├── multiend_call.h
│   │   │   │   │   ├── OWNERS
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── simulator.cc
│   │   │   │   │   ├── simulator.h
│   │   │   │   │   ├── timing.cc
│   │   │   │   │   ├── timing.h
│   │   │   │   │   ├── wavreader_abstract_factory.h
│   │   │   │   │   ├── wavreader_factory.cc
│   │   │   │   │   ├── wavreader_factory.h
│   │   │   │   │   └── wavreader_interface.h
│   │   │   │   ├── debug_dump_replayer.cc
│   │   │   │   ├── debug_dump_replayer.h
│   │   │   │   ├── debug_dump_test.cc
│   │   │   │   ├── echo_canceller_test_tools.cc
│   │   │   │   ├── echo_canceller_test_tools.h
│   │   │   │   ├── echo_canceller_test_tools_unittest.cc
│   │   │   │   ├── fake_recording_device.cc
│   │   │   │   ├── fake_recording_device.h
│   │   │   │   ├── fake_recording_device_unittest.cc
│   │   │   │   ├── performance_timer.cc
│   │   │   │   ├── performance_timer.h
│   │   │   │   ├── protobuf_utils.cc
│   │   │   │   ├── protobuf_utils.h
│   │   │   │   ├── py_quality_assessment
│   │   │   │   │   ├── apm_configs
│   │   │   │   │   │   └── default.json
│   │   │   │   │   ├── apm_quality_assessment_boxplot.py
│   │   │   │   │   ├── apm_quality_assessment_export.py
│   │   │   │   │   ├── apm_quality_assessment_gencfgs.py
│   │   │   │   │   ├── apm_quality_assessment_optimize.py
│   │   │   │   │   ├── apm_quality_assessment.py
│   │   │   │   │   ├── apm_quality_assessment.sh
│   │   │   │   │   ├── apm_quality_assessment_unittest.py
│   │   │   │   │   ├── BUILD.gn
│   │   │   │   │   ├── output
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── OWNERS
│   │   │   │   │   ├── quality_assessment
│   │   │   │   │   │   ├── annotations.py
│   │   │   │   │   │   ├── annotations_unittest.py
│   │   │   │   │   │   ├── apm_configs
│   │   │   │   │   │   │   └── default.json
│   │   │   │   │   │   ├── apm_vad.cc
│   │   │   │   │   │   ├── audioproc_wrapper.py
│   │   │   │   │   │   ├── collect_data.py
│   │   │   │   │   │   ├── data_access.py
│   │   │   │   │   │   ├── echo_path_simulation_factory.py
│   │   │   │   │   │   ├── echo_path_simulation.py
│   │   │   │   │   │   ├── echo_path_simulation_unittest.py
│   │   │   │   │   │   ├── eval_scores_factory.py
│   │   │   │   │   │   ├── eval_scores.py
│   │   │   │   │   │   ├── eval_scores_unittest.py
│   │   │   │   │   │   ├── evaluation.py
│   │   │   │   │   │   ├── exceptions.py
│   │   │   │   │   │   ├── export.py
│   │   │   │   │   │   ├── export_unittest.py
│   │   │   │   │   │   ├── external_vad.py
│   │   │   │   │   │   ├── fake_external_vad.py
│   │   │   │   │   │   ├── fake_polqa.cc
│   │   │   │   │   │   ├── __init__.py
│   │   │   │   │   │   ├── input_mixer.py
│   │   │   │   │   │   ├── input_mixer_unittest.py
│   │   │   │   │   │   ├── input_signal_creator.py
│   │   │   │   │   │   ├── results.css
│   │   │   │   │   │   ├── results.js
│   │   │   │   │   │   ├── signal_processing.py
│   │   │   │   │   │   ├── signal_processing_unittest.py
│   │   │   │   │   │   ├── simulation.py
│   │   │   │   │   │   ├── simulation_unittest.py
│   │   │   │   │   │   ├── sound_level.cc
│   │   │   │   │   │   ├── test_data_generation_factory.py
│   │   │   │   │   │   ├── test_data_generation.py
│   │   │   │   │   │   ├── test_data_generation_unittest.py
│   │   │   │   │   │   └── vad.cc
│   │   │   │   │   └── README.md
│   │   │   │   ├── simulator_buffers.cc
│   │   │   │   ├── simulator_buffers.h
│   │   │   │   ├── test_utils.cc
│   │   │   │   ├── test_utils.h
│   │   │   │   ├── unittest.proto
│   │   │   │   ├── wav_based_simulator.cc
│   │   │   │   └── wav_based_simulator.h
│   │   │   ├── three_band_filter_bank.cc
│   │   │   ├── three_band_filter_bank.h
│   │   │   ├── transient
│   │   │   │   ├── click_annotate.cc
│   │   │   │   ├── common.h
│   │   │   │   ├── daubechies_8_wavelet_coeffs.h
│   │   │   │   ├── dyadic_decimator.h
│   │   │   │   ├── dyadic_decimator_unittest.cc
│   │   │   │   ├── file_utils.cc
│   │   │   │   ├── file_utils.h
│   │   │   │   ├── file_utils_unittest.cc
│   │   │   │   ├── moving_moments.cc
│   │   │   │   ├── moving_moments.h
│   │   │   │   ├── moving_moments_unittest.cc
│   │   │   │   ├── test
│   │   │   │   │   ├── plotDetection.m
│   │   │   │   │   ├── readDetection.m
│   │   │   │   │   └── readPCM.m
│   │   │   │   ├── transient_detector.cc
│   │   │   │   ├── transient_detector.h
│   │   │   │   ├── transient_detector_unittest.cc
│   │   │   │   ├── transient_suppression_test.cc
│   │   │   │   ├── transient_suppressor.cc
│   │   │   │   ├── transient_suppressor.h
│   │   │   │   ├── transient_suppressor_unittest.cc
│   │   │   │   ├── wpd_node.cc
│   │   │   │   ├── wpd_node.h
│   │   │   │   ├── wpd_node_unittest.cc
│   │   │   │   ├── wpd_tree.cc
│   │   │   │   ├── wpd_tree.h
│   │   │   │   └── wpd_tree_unittest.cc
│   │   │   ├── typing_detection.cc
│   │   │   ├── typing_detection.h
│   │   │   ├── utility
│   │   │   │   ├── block_mean_calculator.cc
│   │   │   │   ├── block_mean_calculator.h
│   │   │   │   ├── block_mean_calculator_unittest.cc
│   │   │   │   ├── delay_estimator.cc
│   │   │   │   ├── delay_estimator.h
│   │   │   │   ├── delay_estimator_internal.h
│   │   │   │   ├── delay_estimator_unittest.cc
│   │   │   │   ├── delay_estimator_wrapper.cc
│   │   │   │   ├── delay_estimator_wrapper.h
│   │   │   │   ├── ooura_fft.cc
│   │   │   │   ├── ooura_fft.h
│   │   │   │   ├── ooura_fft_mips.cc
│   │   │   │   ├── ooura_fft_neon.cc
│   │   │   │   ├── ooura_fft_sse2.cc
│   │   │   │   ├── ooura_fft_tables_common.h
│   │   │   │   └── ooura_fft_tables_neon_sse2.h
│   │   │   ├── vad
│   │   │   │   ├── BUILD.gn
│   │   │   │   ├── common.h
│   │   │   │   ├── gmm.cc
│   │   │   │   ├── gmm.h
│   │   │   │   ├── gmm_unittest.cc
│   │   │   │   ├── noise_gmm_tables.h
│   │   │   │   ├── pitch_based_vad.cc
│   │   │   │   ├── pitch_based_vad.h
│   │   │   │   ├── pitch_based_vad_unittest.cc
│   │   │   │   ├── pitch_internal.cc
│   │   │   │   ├── pitch_internal.h
│   │   │   │   ├── pitch_internal_unittest.cc
│   │   │   │   ├── pole_zero_filter.cc
│   │   │   │   ├── pole_zero_filter.h
│   │   │   │   ├── pole_zero_filter_unittest.cc
│   │   │   │   ├── standalone_vad.cc
│   │   │   │   ├── standalone_vad.h
│   │   │   │   ├── standalone_vad_unittest.cc
│   │   │   │   ├── vad_audio_proc.cc
│   │   │   │   ├── vad_audio_proc.h
│   │   │   │   ├── vad_audio_proc_internal.h
│   │   │   │   ├── vad_audio_proc_unittest.cc
│   │   │   │   ├── vad_circular_buffer.cc
│   │   │   │   ├── vad_circular_buffer.h
│   │   │   │   ├── vad_circular_buffer_unittest.cc
│   │   │   │   ├── vad_with_level.h
│   │   │   │   ├── voice_activity_detector.cc
│   │   │   │   ├── voice_activity_detector.h
│   │   │   │   ├── voice_activity_detector_unittest.cc
│   │   │   │   └── voice_gmm_tables.h
│   │   │   ├── voice_detection_impl.cc
│   │   │   ├── voice_detection_impl.h
│   │   │   └── voice_detection_unittest.cc
│   │   ├── bitrate_controller
│   │   │   ├── bitrate_controller_impl.cc
│   │   │   ├── bitrate_controller_impl.h
│   │   │   ├── bitrate_controller_unittest.cc
│   │   │   ├── BUILD.gn
│   │   │   ├── DEPS
│   │   │   ├── include
│   │   │   │   ├── bitrate_controller.h
│   │   │   │   └── mock
│   │   │   │   └── mock_bitrate_controller.h
│   │   │   ├── OWNERS
│   │   │   ├── send_side_bandwidth_estimation.cc
│   │   │   ├── send_side_bandwidth_estimation.h
│   │   │   └── send_side_bandwidth_estimation_unittest.cc
│   │   ├── BUILD.gn
│   │   ├── congestion_controller
│   │   │   ├── acknowledged_bitrate_estimator.cc
│   │   │   ├── acknowledged_bitrate_estimator.h
│   │   │   ├── acknowledged_bitrate_estimator_unittest.cc
│   │   │   ├── bbr
│   │   │   │   ├── bandwidth_sampler.cc
│   │   │   │   ├── bandwidth_sampler.h
│   │   │   │   ├── bandwidth_sampler_unittest.cc
│   │   │   │   ├── bbr_factory.cc
│   │   │   │   ├── bbr_factory.h
│   │   │   │   ├── bbr_network_controller.cc
│   │   │   │   ├── bbr_network_controller.h
│   │   │   │   ├── bbr_network_controller_unittest.cc
│   │   │   │   ├── BUILD.gn
│   │   │   │   ├── data_transfer_tracker.cc
│   │   │   │   ├── data_transfer_tracker.h
│   │   │   │   ├── data_transfer_tracker_unittest.cc
│   │   │   │   ├── packet_number_indexed_queue.h
│   │   │   │   ├── packet_number_indexed_queue_unittest.cc
│   │   │   │   ├── rtt_stats.cc
│   │   │   │   ├── rtt_stats.h
│   │   │   │   ├── rtt_stats_unittest.cc
│   │   │   │   ├── windowed_filter.h
│   │   │   │   └── windowed_filter_unittest.cc
│   │   │   ├── bitrate_estimator.cc
│   │   │   ├── bitrate_estimator.h
│   │   │   ├── BUILD.gn
│   │   │   ├── congestion_controller_unittests_helper.cc
│   │   │   ├── congestion_controller_unittests_helper.h
│   │   │   ├── delay_based_bwe.cc
│   │   │   ├── delay_based_bwe.h
│   │   │   ├── delay_based_bwe_unittest.cc
│   │   │   ├── delay_based_bwe_unittest_helper.cc
│   │   │   ├── delay_based_bwe_unittest_helper.h
│   │   │   ├── delay_increase_detector_interface.h
│   │   │   ├── DEPS
│   │   │   ├── goog_cc
│   │   │   │   ├── acknowledged_bitrate_estimator.cc
│   │   │   │   ├── acknowledged_bitrate_estimator.h
│   │   │   │   ├── acknowledged_bitrate_estimator_unittest.cc
│   │   │   │   ├── alr_detector.cc
│   │   │   │   ├── alr_detector.h
│   │   │   │   ├── alr_detector_unittest.cc
│   │   │   │   ├── bitrate_estimator.cc
│   │   │   │   ├── bitrate_estimator.h
│   │   │   │   ├── BUILD.gn
│   │   │   │   ├── delay_based_bwe.cc
│   │   │   │   ├── delay_based_bwe.h
│   │   │   │   ├── delay_based_bwe_unittest.cc
│   │   │   │   ├── delay_based_bwe_unittest_helper.cc
│   │   │   │   ├── delay_based_bwe_unittest_helper.h
│   │   │   │   ├── delay_increase_detector_interface.h
│   │   │   │   ├── goog_cc_factory.cc
│   │   │   │   ├── goog_cc_network_control.cc
│   │   │   │   ├── goog_cc_network_control.h
│   │   │   │   ├── include
│   │   │   │   │   └── goog_cc_factory.h
│   │   │   │   ├── median_slope_estimator.cc
│   │   │   │   ├── median_slope_estimator.h
│   │   │   │   ├── median_slope_estimator_unittest.cc
│   │   │   │   ├── probe_bitrate_estimator.cc
│   │   │   │   ├── probe_bitrate_estimator.h
│   │   │   │   ├── probe_bitrate_estimator_unittest.cc
│   │   │   │   ├── probe_controller.cc
│   │   │   │   ├── probe_controller.h
│   │   │   │   ├── probe_controller_unittest.cc
│   │   │   │   ├── trendline_estimator.cc
│   │   │   │   ├── trendline_estimator.h
│   │   │   │   └── trendline_estimator_unittest.cc
│   │   │   ├── include
│   │   │   │   ├── mock
│   │   │   │   │   └── mock_congestion_observer.h
│   │   │   │   ├── network_changed_observer.h
│   │   │   │   ├── receive_side_congestion_controller.h
│   │   │   │   ├── send_side_congestion_controller.h
│   │   │   │   └── send_side_congestion_controller_interface.h
│   │   │   ├── median_slope_estimator.cc
│   │   │   ├── median_slope_estimator.h
│   │   │   ├── median_slope_estimator_unittest.cc
│   │   │   ├── OWNERS
│   │   │   ├── probe_bitrate_estimator.cc
│   │   │   ├── probe_bitrate_estimator.h
│   │   │   ├── probe_bitrate_estimator_unittest.cc
│   │   │   ├── probe_controller.cc
│   │   │   ├── probe_controller.h
│   │   │   ├── probe_controller_unittest.cc
│   │   │   ├── receive_side_congestion_controller.cc
│   │   │   ├── receive_side_congestion_controller_unittest.cc
│   │   │   ├── rtp
│   │   │   │   ├── BUILD.gn
│   │   │   │   ├── congestion_controller_unittests_helper.cc
│   │   │   │   ├── congestion_controller_unittests_helper.h
│   │   │   │   ├── include
│   │   │   │   │   └── send_side_congestion_controller.h
│   │   │   │   ├── pacer_controller.cc
│   │   │   │   ├── pacer_controller.h
│   │   │   │   ├── send_side_congestion_controller.cc
│   │   │   │   ├── send_side_congestion_controller_unittest.cc
│   │   │   │   ├── send_time_history.cc
│   │   │   │   ├── send_time_history.h
│   │   │   │   ├── send_time_history_unittest.cc
│   │   │   │   ├── transport_feedback_adapter.cc
│   │   │   │   ├── transport_feedback_adapter.h
│   │   │   │   └── transport_feedback_adapter_unittest.cc
│   │   │   ├── send_side_congestion_controller.cc
│   │   │   ├── send_side_congestion_controller_unittest.cc
│   │   │   ├── send_time_history.cc
│   │   │   ├── send_time_history.h
│   │   │   ├── send_time_history_unittest.cc
│   │   │   ├── transport_feedback_adapter.cc
│   │   │   ├── transport_feedback_adapter.h
│   │   │   ├── transport_feedback_adapter_unittest.cc
│   │   │   ├── trendline_estimator.cc
│   │   │   ├── trendline_estimator.h
│   │   │   └── trendline_estimator_unittest.cc
│   │   ├── desktop_capture
│   │   │   ├── blank_detector_desktop_capturer_wrapper.cc
│   │   │   ├── blank_detector_desktop_capturer_wrapper.h
│   │   │   ├── blank_detector_desktop_capturer_wrapper_unittest.cc
│   │   │   ├── BUILD.gn
│   │   │   ├── capture_result_desktop_capturer_wrapper.cc
│   │   │   ├── capture_result_desktop_capturer_wrapper.h
│   │   │   ├── cropped_desktop_frame.cc
│   │   │   ├── cropped_desktop_frame.h
│   │   │   ├── cropped_desktop_frame_unittest.cc
│   │   │   ├── cropping_window_capturer.cc
│   │   │   ├── cropping_window_capturer.h
│   │   │   ├── cropping_window_capturer_win.cc
│   │   │   ├── DEPS
│   │   │   ├── desktop_and_cursor_composer.cc
│   │   │   ├── desktop_and_cursor_composer.h
│   │   │   ├── desktop_and_cursor_composer_unittest.cc
│   │   │   ├── desktop_capture_options.cc
│   │   │   ├── desktop_capture_options.h
│   │   │   ├── desktop_capturer.cc
│   │   │   ├── desktop_capturer_differ_wrapper.cc
│   │   │   ├── desktop_capturer_differ_wrapper.h
│   │   │   ├── desktop_capturer_differ_wrapper_unittest.cc
│   │   │   ├── desktop_capturer.h
│   │   │   ├── desktop_capturer_wrapper.cc
│   │   │   ├── desktop_capturer_wrapper.h
│   │   │   ├── desktop_capture_types.h
│   │   │   ├── desktop_frame.cc
│   │   │   ├── desktop_frame_generator.cc
│   │   │   ├── desktop_frame_generator.h
│   │   │   ├── desktop_frame.h
│   │   │   ├── desktop_frame_rotation.cc
│   │   │   ├── desktop_frame_rotation.h
│   │   │   ├── desktop_frame_rotation_unittest.cc
│   │   │   ├── desktop_frame_win.cc
│   │   │   ├── desktop_frame_win.h
│   │   │   ├── desktop_geometry.cc
│   │   │   ├── desktop_geometry.h
│   │   │   ├── desktop_geometry_unittest.cc
│   │   │   ├── desktop_region.cc
│   │   │   ├── desktop_region.h
│   │   │   ├── desktop_region_unittest.cc
│   │   │   ├── differ_block.cc
│   │   │   ├── differ_block.h
│   │   │   ├── differ_block_unittest.cc
│   │   │   ├── differ_vector_sse2.cc
│   │   │   ├── differ_vector_sse2.h
│   │   │   ├── fake_desktop_capturer.cc
│   │   │   ├── fake_desktop_capturer.h
│   │   │   ├── fallback_desktop_capturer_wrapper.cc
│   │   │   ├── fallback_desktop_capturer_wrapper.h
│   │   │   ├── fallback_desktop_capturer_wrapper_unittest.cc
│   │   │   ├── mac
│   │   │   │   ├── desktop_configuration.h
│   │   │   │   ├── desktop_configuration.mm
│   │   │   │   ├── desktop_configuration_monitor.cc
│   │   │   │   ├── desktop_configuration_monitor.h
│   │   │   │   ├── desktop_frame_cgimage.h
│   │   │   │   ├── desktop_frame_cgimage.mm
│   │   │   │   ├── desktop_frame_iosurface.h
│   │   │   │   ├── desktop_frame_iosurface.mm
│   │   │   │   ├── desktop_frame_provider.h
│   │   │   │   ├── desktop_frame_provider.mm
│   │   │   │   ├── full_screen_chrome_window_detector.cc
│   │   │   │   ├── full_screen_chrome_window_detector.h
│   │   │   │   ├── screen_capturer_mac.h
│   │   │   │   ├── screen_capturer_mac.mm
│   │   │   │   ├── window_list_utils.cc
│   │   │   │   └── window_list_utils.h
│   │   │   ├── mock_desktop_capturer_callback.cc
│   │   │   ├── mock_desktop_capturer_callback.h
│   │   │   ├── mouse_cursor.cc
│   │   │   ├── mouse_cursor.h
│   │   │   ├── mouse_cursor_monitor.h
│   │   │   ├── mouse_cursor_monitor_mac.mm
│   │   │   ├── mouse_cursor_monitor_null.cc
│   │   │   ├── mouse_cursor_monitor_unittest.cc
│   │   │   ├── mouse_cursor_monitor_win.cc
│   │   │   ├── mouse_cursor_monitor_x11.cc
│   │   │   ├── OWNERS
│   │   │   ├── resolution_tracker.cc
│   │   │   ├── resolution_tracker.h
│   │   │   ├── rgba_color.cc
│   │   │   ├── rgba_color.h
│   │   │   ├── rgba_color_unittest.cc
│   │   │   ├── screen_capture_frame_queue.h
│   │   │   ├── screen_capturer_darwin.mm
│   │   │   ├── screen_capturer_helper.cc
│   │   │   ├── screen_capturer_helper.h
│   │   │   ├── screen_capturer_helper_unittest.cc
│   │   │   ├── screen_capturer_integration_test.cc
│   │   │   ├── screen_capturer_mac_unittest.cc
│   │   │   ├── screen_capturer_null.cc
│   │   │   ├── screen_capturer_unittest.cc
│   │   │   ├── screen_capturer_win.cc
│   │   │   ├── screen_capturer_x11.cc
│   │   │   ├── screen_drawer.cc
│   │   │   ├── screen_drawer.h
│   │   │   ├── screen_drawer_linux.cc
│   │   │   ├── screen_drawer_lock_posix.cc
│   │   │   ├── screen_drawer_lock_posix.h
│   │   │   ├── screen_drawer_mac.cc
│   │   │   ├── screen_drawer_unittest.cc
│   │   │   ├── screen_drawer_win.cc
│   │   │   ├── shared_desktop_frame.cc
│   │   │   ├── shared_desktop_frame.h
│   │   │   ├── shared_memory.cc
│   │   │   ├── shared_memory.h
│   │   │   ├── test_utils.cc
│   │   │   ├── test_utils.h
│   │   │   ├── test_utils_unittest.cc
│   │   │   ├── win
│   │   │   │   ├── cursor.cc
│   │   │   │   ├── cursor.h
│   │   │   │   ├── cursor_test_data
│   │   │   │   │   ├── 1_24bpp.cur
│   │   │   │   │   ├── 1_32bpp.cur
│   │   │   │   │   ├── 1_8bpp.cur
│   │   │   │   │   ├── 2_1bpp.cur
│   │   │   │   │   ├── 2_32bpp.cur
│   │   │   │   │   ├── 3_32bpp.cur
│   │   │   │   │   └── 3_4bpp.cur
│   │   │   │   ├── cursor_unittest.cc
│   │   │   │   ├── cursor_unittest_resources.h
│   │   │   │   ├── cursor_unittest_resources.rc
│   │   │   │   ├── d3d_device.cc
│   │   │   │   ├── d3d_device.h
│   │   │   │   ├── desktop.cc
│   │   │   │   ├── desktop.h
│   │   │   │   ├── display_configuration_monitor.cc
│   │   │   │   ├── display_configuration_monitor.h
│   │   │   │   ├── dxgi_adapter_duplicator.cc
│   │   │   │   ├── dxgi_adapter_duplicator.h
│   │   │   │   ├── dxgi_context.cc
│   │   │   │   ├── dxgi_context.h
│   │   │   │   ├── dxgi_duplicator_controller.cc
│   │   │   │   ├── dxgi_duplicator_controller.h
│   │   │   │   ├── dxgi_frame.cc
│   │   │   │   ├── dxgi_frame.h
│   │   │   │   ├── dxgi_output_duplicator.cc
│   │   │   │   ├── dxgi_output_duplicator.h
│   │   │   │   ├── dxgi_texture.cc
│   │   │   │   ├── dxgi_texture.h
│   │   │   │   ├── dxgi_texture_mapping.cc
│   │   │   │   ├── dxgi_texture_mapping.h
│   │   │   │   ├── dxgi_texture_staging.cc
│   │   │   │   ├── dxgi_texture_staging.h
│   │   │   │   ├── scoped_gdi_object.h
│   │   │   │   ├── scoped_thread_desktop.cc
│   │   │   │   ├── scoped_thread_desktop.h
│   │   │   │   ├── screen_capturer_win_directx.cc
│   │   │   │   ├── screen_capturer_win_directx.h
│   │   │   │   ├── screen_capturer_win_directx_unittest.cc
│   │   │   │   ├── screen_capturer_win_gdi.cc
│   │   │   │   ├── screen_capturer_win_gdi.h
│   │   │   │   ├── screen_capturer_win_magnifier.cc
│   │   │   │   ├── screen_capturer_win_magnifier.h
│   │   │   │   ├── screen_capture_utils.cc
│   │   │   │   ├── screen_capture_utils.h
│   │   │   │   ├── screen_capture_utils_unittest.cc
│   │   │   │   ├── window_capture_utils.cc
│   │   │   │   └── window_capture_utils.h
│   │   │   ├── window_capturer_mac.mm
│   │   │   ├── window_capturer_null.cc
│   │   │   ├── window_capturer_unittest.cc
│   │   │   ├── window_capturer_win.cc
│   │   │   ├── window_capturer_x11.cc
│   │   │   ├── window_finder.cc
│   │   │   ├── window_finder.h
│   │   │   ├── window_finder_mac.h
│   │   │   ├── window_finder_mac.mm
│   │   │   ├── window_finder_unittest.cc
│   │   │   ├── window_finder_win.cc
│   │   │   ├── window_finder_win.h
│   │   │   ├── window_finder_x11.cc
│   │   │   ├── window_finder_x11.h
│   │   │   └── x11
│   │   │   ├── shared_x_display.cc
│   │   │   ├── shared_x_display.h
│   │   │   ├── window_list_utils.cc
│   │   │   ├── window_list_utils.h
│   │   │   ├── x_atom_cache.cc
│   │   │   ├── x_atom_cache.h
│   │   │   ├── x_error_trap.cc
│   │   │   ├── x_error_trap.h
│   │   │   ├── x_server_pixel_buffer.cc
│   │   │   └── x_server_pixel_buffer.h
│   │   ├── include
│   │   │   ├── DEPS
│   │   │   ├── module_common_types.h
│   │   │   ├── module_common_types_public.h
│   │   │   ├── module_fec_types.h
│   │   │   └── module.h
│   │   ├── module_common_types_unittest.cc
│   │   ├── OWNERS
│   │   ├── pacing
│   │   │   ├── alr_detector.cc
│   │   │   ├── alr_detector.h
│   │   │   ├── alr_detector_unittest.cc
│   │   │   ├── bitrate_prober.cc
│   │   │   ├── bitrate_prober.h
│   │   │   ├── bitrate_prober_unittest.cc
│   │   │   ├── BUILD.gn
│   │   │   ├── DEPS
│   │   │   ├── interval_budget.cc
│   │   │   ├── interval_budget.h
│   │   │   ├── interval_budget_unittest.cc
│   │   │   ├── mock
│   │   │   │   └── mock_paced_sender.h
│   │   │   ├── OWNERS
│   │   │   ├── paced_sender.cc
│   │   │   ├── paced_sender.h
│   │   │   ├── paced_sender_unittest.cc
│   │   │   ├── pacer.h
│   │   │   ├── packet_queue.cc
│   │   │   ├── packet_queue.h
│   │   │   ├── packet_queue_interface.cc
│   │   │   ├── packet_queue_interface.h
│   │   │   ├── packet_router.cc
│   │   │   ├── packet_router.h
│   │   │   ├── packet_router_unittest.cc
│   │   │   ├── round_robin_packet_queue.cc
│   │   │   └── round_robin_packet_queue.h
│   │   ├── remote_bitrate_estimator
│   │   │   ├── aimd_rate_control.cc
│   │   │   ├── aimd_rate_control.h
│   │   │   ├── aimd_rate_control_unittest.cc
│   │   │   ├── BUILD.gn
│   │   │   ├── bwe_defines.cc
│   │   │   ├── bwe_simulations.cc
│   │   │   ├── DEPS
│   │   │   ├── include
│   │   │   │   ├── bwe_defines.h
│   │   │   │   └── remote_bitrate_estimator.h
│   │   │   ├── inter_arrival.cc
│   │   │   ├── inter_arrival.h
│   │   │   ├── inter_arrival_unittest.cc
│   │   │   ├── overuse_detector.cc
│   │   │   ├── overuse_detector.h
│   │   │   ├── overuse_detector_unittest.cc
│   │   │   ├── overuse_estimator.cc
│   │   │   ├── overuse_estimator.h
│   │   │   ├── OWNERS
│   │   │   ├── remote_bitrate_estimator_abs_send_time.cc
│   │   │   ├── remote_bitrate_estimator_abs_send_time.h
│   │   │   ├── remote_bitrate_estimator_abs_send_time_unittest.cc
│   │   │   ├── remote_bitrate_estimator_single_stream.cc
│   │   │   ├── remote_bitrate_estimator_single_stream.h
│   │   │   ├── remote_bitrate_estimator_single_stream_unittest.cc
│   │   │   ├── remote_bitrate_estimators_test.cc
│   │   │   ├── remote_bitrate_estimator_unittest_helper.cc
│   │   │   ├── remote_bitrate_estimator_unittest_helper.h
│   │   │   ├── remote_estimator_proxy.cc
│   │   │   ├── remote_estimator_proxy.h
│   │   │   ├── remote_estimator_proxy_unittest.cc
│   │   │   ├── test
│   │   │   │   ├── bbr_paced_sender.cc
│   │   │   │   ├── bbr_paced_sender.h
│   │   │   │   ├── bwe.cc
│   │   │   │   ├── bwe.h
│   │   │   │   ├── bwe_test_baselinefile.cc
│   │   │   │   ├── bwe_test_baselinefile.h
│   │   │   │   ├── bwe_test.cc
│   │   │   │   ├── bwe_test_fileutils.cc
│   │   │   │   ├── bwe_test_fileutils.h
│   │   │   │   ├── bwe_test_framework.cc
│   │   │   │   ├── bwe_test_framework.h
│   │   │   │   ├── bwe_test_framework_unittest.cc
│   │   │   │   ├── bwe_test.h
│   │   │   │   ├── bwe_test_logging.cc
│   │   │   │   ├── bwe_test_logging.h
│   │   │   │   ├── bwe_unittest.cc
│   │   │   │   ├── estimators
│   │   │   │   │   ├── bbr.cc
│   │   │   │   │   ├── bbr.h
│   │   │   │   │   ├── congestion_window.cc
│   │   │   │   │   ├── congestion_window.h
│   │   │   │   │   ├── congestion_window_unittest.cc
│   │   │   │   │   ├── max_bandwidth_filter.cc
│   │   │   │   │   ├── max_bandwidth_filter.h
│   │   │   │   │   ├── max_bandwidth_filter_unittest.cc
│   │   │   │   │   ├── min_rtt_filter.h
│   │   │   │   │   ├── min_rtt_filter_unittest.cc
│   │   │   │   │   ├── nada.cc
│   │   │   │   │   ├── nada.h
│   │   │   │   │   ├── nada_unittest.cc
│   │   │   │   │   ├── remb.cc
│   │   │   │   │   ├── remb.h
│   │   │   │   │   ├── send_side.cc
│   │   │   │   │   ├── send_side.h
│   │   │   │   │   ├── tcp.cc
│   │   │   │   │   └── tcp.h
│   │   │   │   ├── metric_recorder.cc
│   │   │   │   ├── metric_recorder.h
│   │   │   │   ├── metric_recorder_unittest.cc
│   │   │   │   ├── packet.h
│   │   │   │   ├── packet_receiver.cc
│   │   │   │   ├── packet_receiver.h
│   │   │   │   ├── packet_sender.cc
│   │   │   │   ├── packet_sender.h
│   │   │   │   ├── plot_bars.sh
│   │   │   │   └── plot_dynamics.py
│   │   │   └── tools
│   │   │   ├── bwe_rtp.cc
│   │   │   ├── bwe_rtp.h
│   │   │   ├── bwe_rtp_play.cc
│   │   │   └── rtp_to_text.cc
│   │   ├── rtp_rtcp
│   │   │   ├── BUILD.gn
│   │   │   ├── DEPS
│   │   │   ├── include
│   │   │   │   ├── flexfec_receiver.h
│   │   │   │   ├── flexfec_sender.h
│   │   │   │   ├── receive_statistics.h
│   │   │   │   ├── remote_ntp_time_estimator.h
│   │   │   │   ├── rtp_cvo.h
│   │   │   │   ├── rtp_header_extension_map.h
│   │   │   │   ├── rtp_header_parser.h
│   │   │   │   ├── rtp_payload_registry.h
│   │   │   │   ├── rtp_receiver.h
│   │   │   │   ├── rtp_rtcp_defines.cc
│   │   │   │   ├── rtp_rtcp_defines.h
│   │   │   │   ├── rtp_rtcp.h
│   │   │   │   └── ulpfec_receiver.h
│   │   │   ├── mocks
│   │   │   │   ├── mock_recovered_packet_receiver.cc
│   │   │   │   ├── mock_recovered_packet_receiver.h
│   │   │   │   ├── mock_rtcp_bandwidth_observer.cc
│   │   │   │   ├── mock_rtcp_bandwidth_observer.h
│   │   │   │   ├── mock_rtcp_rtt_stats.cc
│   │   │   │   ├── mock_rtcp_rtt_stats.h
│   │   │   │   ├── mock_rtp_rtcp.cc
│   │   │   │   └── mock_rtp_rtcp.h
│   │   │   ├── OWNERS
│   │   │   ├── source
│   │   │   │   ├── byte_io.h
│   │   │   │   ├── byte_io_unittest.cc
│   │   │   │   ├── dtmf_queue.cc
│   │   │   │   ├── dtmf_queue.h
│   │   │   │   ├── fec_private_tables_bursty.cc
│   │   │   │   ├── fec_private_tables_bursty.h
│   │   │   │   ├── fec_private_tables_bursty_unittest.cc
│   │   │   │   ├── fec_private_tables_random.cc
│   │   │   │   ├── fec_private_tables_random.h
│   │   │   │   ├── fec_test_helper.cc
│   │   │   │   ├── fec_test_helper.h
│   │   │   │   ├── flexfec_header_reader_writer.cc
│   │   │   │   ├── flexfec_header_reader_writer.h
│   │   │   │   ├── flexfec_header_reader_writer_unittest.cc
│   │   │   │   ├── flexfec_receiver.cc
│   │   │   │   ├── flexfec_receiver_unittest.cc
│   │   │   │   ├── flexfec_sender.cc
│   │   │   │   ├── flexfec_sender_unittest.cc
│   │   │   │   ├── forward_error_correction.cc
│   │   │   │   ├── forward_error_correction.h
│   │   │   │   ├── forward_error_correction_internal.cc
│   │   │   │   ├── forward_error_correction_internal.h
│   │   │   │   ├── nack_rtx_unittest.cc
│   │   │   │   ├── packet_loss_stats.cc
│   │   │   │   ├── packet_loss_stats.h
│   │   │   │   ├── packet_loss_stats_unittest.cc
│   │   │   │   ├── playout_delay_oracle.cc
│   │   │   │   ├── playout_delay_oracle.h
│   │   │   │   ├── playout_delay_oracle_unittest.cc
│   │   │   │   ├── receive_statistics_impl.cc
│   │   │   │   ├── receive_statistics_impl.h
│   │   │   │   ├── receive_statistics_unittest.cc
│   │   │   │   ├── remote_ntp_time_estimator.cc
│   │   │   │   ├── remote_ntp_time_estimator_unittest.cc
│   │   │   │   ├── rtcp_nack_stats.cc
│   │   │   │   ├── rtcp_nack_stats.h
│   │   │   │   ├── rtcp_nack_stats_unittest.cc
│   │   │   │   ├── rtcp_packet
│   │   │   │   │   ├── app.cc
│   │   │   │   │   ├── app.h
│   │   │   │   │   ├── app_unittest.cc
│   │   │   │   │   ├── bye.cc
│   │   │   │   │   ├── bye.h
│   │   │   │   │   ├── bye_unittest.cc
│   │   │   │   │   ├── common_header.cc
│   │   │   │   │   ├── common_header.h
│   │   │   │   │   ├── common_header_unittest.cc
│   │   │   │   │   ├── compound_packet.cc
│   │   │   │   │   ├── compound_packet.h
│   │   │   │   │   ├── compound_packet_unittest.cc
│   │   │   │   │   ├── dlrr.cc
│   │   │   │   │   ├── dlrr.h
│   │   │   │   │   ├── dlrr_unittest.cc
│   │   │   │   │   ├── extended_jitter_report.cc
│   │   │   │   │   ├── extended_jitter_report.h
│   │   │   │   │   ├── extended_jitter_report_unittest.cc
│   │   │   │   │   ├── extended_reports.cc
│   │   │   │   │   ├── extended_reports.h
│   │   │   │   │   ├── extended_reports_unittest.cc
│   │   │   │   │   ├── fir.cc
│   │   │   │   │   ├── fir.h
│   │   │   │   │   ├── fir_unittest.cc
│   │   │   │   │   ├── nack.cc
│   │   │   │   │   ├── nack.h
│   │   │   │   │   ├── nack_unittest.cc
│   │   │   │   │   ├── pli.cc
│   │   │   │   │   ├── pli.h
│   │   │   │   │   ├── pli_unittest.cc
│   │   │   │   │   ├── psfb.cc
│   │   │   │   │   ├── psfb.h
│   │   │   │   │   ├── rapid_resync_request.cc
│   │   │   │   │   ├── rapid_resync_request.h
│   │   │   │   │   ├── rapid_resync_request_unittest.cc
│   │   │   │   │   ├── receiver_report.cc
│   │   │   │   │   ├── receiver_report.h
│   │   │   │   │   ├── receiver_report_unittest.cc
│   │   │   │   │   ├── remb.cc
│   │   │   │   │   ├── remb.h
│   │   │   │   │   ├── remb_unittest.cc
│   │   │   │   │   ├── report_block.cc
│   │   │   │   │   ├── report_block.h
│   │   │   │   │   ├── report_block_unittest.cc
│   │   │   │   │   ├── rrtr.cc
│   │   │   │   │   ├── rrtr.h
│   │   │   │   │   ├── rrtr_unittest.cc
│   │   │   │   │   ├── rtpfb.cc
│   │   │   │   │   ├── rtpfb.h
│   │   │   │   │   ├── sdes.cc
│   │   │   │   │   ├── sdes.h
│   │   │   │   │   ├── sdes_unittest.cc
│   │   │   │   │   ├── sender_report.cc
│   │   │   │   │   ├── sender_report.h
│   │   │   │   │   ├── sender_report_unittest.cc
│   │   │   │   │   ├── target_bitrate.cc
│   │   │   │   │   ├── target_bitrate.h
│   │   │   │   │   ├── target_bitrate_unittest.cc
│   │   │   │   │   ├── tmmb_item.cc
│   │   │   │   │   ├── tmmb_item.h
│   │   │   │   │   ├── tmmbn.cc
│   │   │   │   │   ├── tmmbn.h
│   │   │   │   │   ├── tmmbn_unittest.cc
│   │   │   │   │   ├── tmmbr.cc
│   │   │   │   │   ├── tmmbr.h
│   │   │   │   │   ├── tmmbr_unittest.cc
│   │   │   │   │   ├── transport_feedback.cc
│   │   │   │   │   ├── transport_feedback.h
│   │   │   │   │   ├── transport_feedback_unittest.cc
│   │   │   │   │   ├── voip_metric.cc
│   │   │   │   │   ├── voip_metric.h
│   │   │   │   │   └── voip_metric_unittest.cc
│   │   │   │   ├── rtcp_packet.cc
│   │   │   │   ├── rtcp_packet.h
│   │   │   │   ├── rtcp_packet_unittest.cc
│   │   │   │   ├── rtcp_receiver.cc
│   │   │   │   ├── rtcp_receiver.h
│   │   │   │   ├── rtcp_receiver_unittest.cc
│   │   │   │   ├── rtcp_sender.cc
│   │   │   │   ├── rtcp_sender.h
│   │   │   │   ├── rtcp_sender_unittest.cc
│   │   │   │   ├── rtcp_transceiver.cc
│   │   │   │   ├── rtcp_transceiver_config.cc
│   │   │   │   ├── rtcp_transceiver_config.h
│   │   │   │   ├── rtcp_transceiver.h
│   │   │   │   ├── rtcp_transceiver_impl.cc
│   │   │   │   ├── rtcp_transceiver_impl.h
│   │   │   │   ├── rtcp_transceiver_impl_unittest.cc
│   │   │   │   ├── rtcp_transceiver_unittest.cc
│   │   │   │   ├── rtp_fec_unittest.cc
│   │   │   │   ├── rtp_format.cc
│   │   │   │   ├── rtp_format.h
│   │   │   │   ├── rtp_format_h264.cc
│   │   │   │   ├── rtp_format_h264.h
│   │   │   │   ├── rtp_format_h264_unittest.cc
│   │   │   │   ├── rtp_format_video_generic.cc
│   │   │   │   ├── rtp_format_video_generic.h
│   │   │   │   ├── rtp_format_video_generic_unittest.cc
│   │   │   │   ├── rtp_format_vp8.cc
│   │   │   │   ├── rtp_format_vp8.h
│   │   │   │   ├── rtp_format_vp8_test_helper.cc
│   │   │   │   ├── rtp_format_vp8_test_helper.h
│   │   │   │   ├── rtp_format_vp8_unittest.cc
│   │   │   │   ├── rtp_format_vp9.cc
│   │   │   │   ├── rtp_format_vp9.h
│   │   │   │   ├── rtp_format_vp9_unittest.cc
│   │   │   │   ├── rtp_header_extension_map.cc
│   │   │   │   ├── rtp_header_extension_map_unittest.cc
│   │   │   │   ├── rtp_header_extensions.cc
│   │   │   │   ├── rtp_header_extensions.h
│   │   │   │   ├── rtp_header_parser.cc
│   │   │   │   ├── rtp_packet.cc
│   │   │   │   ├── rtp_packet.h
│   │   │   │   ├── rtp_packet_history.cc
│   │   │   │   ├── rtp_packet_history.h
│   │   │   │   ├── rtp_packet_history_unittest.cc
│   │   │   │   ├── rtp_packet_received.cc
│   │   │   │   ├── rtp_packet_received.h
│   │   │   │   ├── rtp_packet_to_send.cc
│   │   │   │   ├── rtp_packet_to_send.h
│   │   │   │   ├── rtp_packet_unittest.cc
│   │   │   │   ├── rtp_payload_registry.cc
│   │   │   │   ├── rtp_payload_registry_unittest.cc
│   │   │   │   ├── rtp_receiver_audio.cc
│   │   │   │   ├── rtp_receiver_audio.h
│   │   │   │   ├── rtp_receiver_impl.cc
│   │   │   │   ├── rtp_receiver_impl.h
│   │   │   │   ├── rtp_receiver_strategy.cc
│   │   │   │   ├── rtp_receiver_strategy.h
│   │   │   │   ├── rtp_receiver_unittest.cc
│   │   │   │   ├── rtp_receiver_video.cc
│   │   │   │   ├── rtp_receiver_video.h
│   │   │   │   ├── rtp_rtcp_config.h
│   │   │   │   ├── rtp_rtcp_impl.cc
│   │   │   │   ├── rtp_rtcp_impl.h
│   │   │   │   ├── rtp_rtcp_impl_unittest.cc
│   │   │   │   ├── rtp_sender_audio.cc
│   │   │   │   ├── rtp_sender_audio.h
│   │   │   │   ├── rtp_sender.cc
│   │   │   │   ├── rtp_sender.h
│   │   │   │   ├── rtp_sender_unittest.cc
│   │   │   │   ├── rtp_sender_video.cc
│   │   │   │   ├── rtp_sender_video.h
│   │   │   │   ├── rtp_utility.cc
│   │   │   │   ├── rtp_utility.h
│   │   │   │   ├── rtp_utility_unittest.cc
│   │   │   │   ├── time_util.cc
│   │   │   │   ├── time_util.h
│   │   │   │   ├── time_util_unittest.cc
│   │   │   │   ├── tmmbr_help.cc
│   │   │   │   ├── tmmbr_help.h
│   │   │   │   ├── ulpfec_generator.cc
│   │   │   │   ├── ulpfec_generator.h
│   │   │   │   ├── ulpfec_generator_unittest.cc
│   │   │   │   ├── ulpfec_header_reader_writer.cc
│   │   │   │   ├── ulpfec_header_reader_writer.h
│   │   │   │   ├── ulpfec_header_reader_writer_unittest.cc
│   │   │   │   ├── ulpfec_receiver_impl.cc
│   │   │   │   ├── ulpfec_receiver_impl.h
│   │   │   │   └── ulpfec_receiver_unittest.cc
│   │   │   └── test
│   │   │   ├── testAPI
│   │   │   │   ├── test_api_audio.cc
│   │   │   │   ├── test_api.cc
│   │   │   │   ├── test_api.h
│   │   │   │   ├── test_api_rtcp.cc
│   │   │   │   └── test_api_video.cc
│   │   │   └── testFec
│   │   │   ├── average_residual_loss_xor_codes.h
│   │   │   ├── test_fec.cc
│   │   │   └── test_packet_masks_metrics.cc
│   │   ├── utility
│   │   │   ├── BUILD.gn
│   │   │   ├── DEPS
│   │   │   ├── include
│   │   │   │   ├── helpers_android.h
│   │   │   │   ├── jvm_android.h
│   │   │   │   ├── mock
│   │   │   │   │   └── mock_process_thread.h
│   │   │   │   └── process_thread.h
│   │   │   ├── OWNERS
│   │   │   └── source
│   │   │   ├── helpers_android.cc
│   │   │   ├── jvm_android.cc
│   │   │   ├── process_thread_impl.cc
│   │   │   ├── process_thread_impl.h
│   │   │   └── process_thread_impl_unittest.cc
│   │   ├── video_capture
│   │   │   ├── BUILD.gn
│   │   │   ├── DEPS
│   │   │   ├── device_info_impl.cc
│   │   │   ├── device_info_impl.h
│   │   │   ├── external
│   │   │   │   ├── device_info_external.cc
│   │   │   │   └── video_capture_external.cc
│   │   │   ├── linux
│   │   │   │   ├── device_info_linux.cc
│   │   │   │   ├── device_info_linux.h
│   │   │   │   ├── video_capture_linux.cc
│   │   │   │   └── video_capture_linux.h
│   │   │   ├── objc
│   │   │   │   ├── device_info.h
│   │   │   │   ├── device_info.mm
│   │   │   │   ├── device_info_objc.h
│   │   │   │   ├── device_info_objc.mm
│   │   │   │   ├── rtc_video_capture_objc.h
│   │   │   │   ├── rtc_video_capture_objc.mm
│   │   │   │   ├── video_capture.h
│   │   │   │   └── video_capture.mm
│   │   │   ├── OWNERS
│   │   │   ├── test
│   │   │   │   ├── video_capture_main_mac.mm
│   │   │   │   └── video_capture_unittest.cc
│   │   │   ├── video_capture_config.h
│   │   │   ├── video_capture_defines.h
│   │   │   ├── video_capture_factory.cc
│   │   │   ├── video_capture_factory.h
│   │   │   ├── video_capture.h
│   │   │   ├── video_capture_impl.cc
│   │   │   ├── video_capture_impl.h
│   │   │   └── windows
│   │   │   ├── device_info_ds.cc
│   │   │   ├── device_info_ds.h
│   │   │   ├── device_info_mf.cc
│   │   │   ├── device_info_mf.h
│   │   │   ├── help_functions_ds.cc
│   │   │   ├── help_functions_ds.h
│   │   │   ├── sink_filter_ds.cc
│   │   │   ├── sink_filter_ds.h
│   │   │   ├── video_capture_ds.cc
│   │   │   ├── video_capture_ds.h
│   │   │   ├── video_capture_factory_windows.cc
│   │   │   ├── video_capture_mf.cc
│   │   │   └── video_capture_mf.h
│   │   ├── video_coding
│   │   │   ├── BUILD.gn
│   │   │   ├── codecs
│   │   │   │   ├── h264
│   │   │   │   │   ├── DEPS
│   │   │   │   │   ├── h264.cc
│   │   │   │   │   ├── h264_decoder_impl.cc
│   │   │   │   │   ├── h264_decoder_impl.h
│   │   │   │   │   ├── h264_encoder_impl.cc
│   │   │   │   │   ├── h264_encoder_impl.h
│   │   │   │   │   ├── h264_encoder_impl_unittest.cc
│   │   │   │   │   ├── include
│   │   │   │   │   │   ├── h264_globals.h
│   │   │   │   │   │   └── h264.h
│   │   │   │   │   ├── OWNERS
│   │   │   │   │   └── test
│   │   │   │   │   └── h264_impl_unittest.cc
│   │   │   │   ├── i420
│   │   │   │   │   ├── i420.cc
│   │   │   │   │   └── include
│   │   │   │   │   └── i420.h
│   │   │   │   ├── interface
│   │   │   │   │   └── common_constants.h
│   │   │   │   ├── multiplex
│   │   │   │   │   ├── include
│   │   │   │   │   │   ├── multiplex_decoder_adapter.h
│   │   │   │   │   │   ├── multiplex_encoded_image_packer.h
│   │   │   │   │   │   └── multiplex_encoder_adapter.h
│   │   │   │   │   ├── multiplex_decoder_adapter.cc
│   │   │   │   │   ├── multiplex_encoded_image_packer.cc
│   │   │   │   │   ├── multiplex_encoder_adapter.cc
│   │   │   │   │   ├── OWNERS
│   │   │   │   │   └── test
│   │   │   │   │   └── multiplex_adapter_unittest.cc
│   │   │   │   ├── test
│   │   │   │   │   ├── android_codec_factory_helper.cc
│   │   │   │   │   ├── android_codec_factory_helper.h
│   │   │   │   │   ├── batch
│   │   │   │   │   │   ├── empty-runtime-deps
│   │   │   │   │   │   ├── run-instantiation-tests.sh
│   │   │   │   │   │   └── run-videoprocessor-tests.sh
│   │   │   │   │   ├── objc_codec_factory_helper.h
│   │   │   │   │   ├── objc_codec_factory_helper.mm
│   │   │   │   │   ├── plot_webrtc_test_logs.py
│   │   │   │   │   ├── videocodec_test_fixture_config_unittest.cc
│   │   │   │   │   ├── videocodec_test_fixture_impl.cc
│   │   │   │   │   ├── videocodec_test_fixture_impl.h
│   │   │   │   │   ├── videocodec_test_libvpx.cc
│   │   │   │   │   ├── videocodec_test_mediacodec.cc
│   │   │   │   │   ├── videocodec_test_openh264.cc
│   │   │   │   │   ├── videocodec_test_parameterized.cc
│   │   │   │   │   ├── videocodec_test_stats_impl.cc
│   │   │   │   │   ├── videocodec_test_stats_impl.h
│   │   │   │   │   ├── videocodec_test_stats_impl_unittest.cc
│   │   │   │   │   ├── videocodec_test_videotoolbox.cc
│   │   │   │   │   ├── video_codec_unittest.cc
│   │   │   │   │   ├── video_codec_unittest.h
│   │   │   │   │   ├── video_encoder_decoder_instantiation_tests.cc
│   │   │   │   │   ├── videoprocessor.cc
│   │   │   │   │   ├── videoprocessor.h
│   │   │   │   │   └── videoprocessor_unittest.cc
│   │   │   │   ├── vp8
│   │   │   │   │   ├── default_temporal_layers.cc
│   │   │   │   │   ├── default_temporal_layers.h
│   │   │   │   │   ├── default_temporal_layers_unittest.cc
│   │   │   │   │   ├── include
│   │   │   │   │   │   ├── vp8_common_types.h
│   │   │   │   │   │   ├── vp8_globals.h
│   │   │   │   │   │   └── vp8.h
│   │   │   │   │   ├── libvpx_vp8_decoder.cc
│   │   │   │   │   ├── libvpx_vp8_decoder.h
│   │   │   │   │   ├── libvpx_vp8_encoder.cc
│   │   │   │   │   ├── libvpx_vp8_encoder.h
│   │   │   │   │   ├── screenshare_layers.cc
│   │   │   │   │   ├── screenshare_layers.h
│   │   │   │   │   ├── screenshare_layers_unittest.cc
│   │   │   │   │   ├── simulcast_rate_allocator.cc
│   │   │   │   │   ├── simulcast_rate_allocator.h
│   │   │   │   │   ├── simulcast_test_utility.h
│   │   │   │   │   ├── simulcast_unittest.cc
│   │   │   │   │   ├── temporal_layers.cc
│   │   │   │   │   ├── temporal_layers.h
│   │   │   │   │   └── test
│   │   │   │   │   └── vp8_impl_unittest.cc
│   │   │   │   └── vp9
│   │   │   │   ├── include
│   │   │   │   │   ├── vp9_globals.h
│   │   │   │   │   └── vp9.h
│   │   │   │   ├── svc_config.cc
│   │   │   │   ├── svc_config.h
│   │   │   │   ├── svc_config_unittest.cc
│   │   │   │   ├── svc_rate_allocator.cc
│   │   │   │   ├── svc_rate_allocator.h
│   │   │   │   ├── svc_rate_allocator_unittest.cc
│   │   │   │   ├── test
│   │   │   │   │   └── vp9_impl_unittest.cc
│   │   │   │   ├── vp9_frame_buffer_pool.cc
│   │   │   │   ├── vp9_frame_buffer_pool.h
│   │   │   │   ├── vp9_impl.cc
│   │   │   │   ├── vp9_impl.h
│   │   │   │   └── vp9_noop.cc
│   │   │   ├── codec_timer.cc
│   │   │   ├── codec_timer.h
│   │   │   ├── decoder_database.cc
│   │   │   ├── decoder_database.h
│   │   │   ├── decoding_state.cc
│   │   │   ├── decoding_state.h
│   │   │   ├── decoding_state_unittest.cc
│   │   │   ├── DEPS
│   │   │   ├── encoded_frame.cc
│   │   │   ├── encoded_frame.h
│   │   │   ├── encoder_database.cc
│   │   │   ├── encoder_database.h
│   │   │   ├── fec_controller_default.cc
│   │   │   ├── fec_controller_default.h
│   │   │   ├── fec_controller_unittest.cc
│   │   │   ├── fec_rate_table.h
│   │   │   ├── frame_buffer2.cc
│   │   │   ├── frame_buffer2.h
│   │   │   ├── frame_buffer2_unittest.cc
│   │   │   ├── frame_buffer.cc
│   │   │   ├── frame_buffer.h
│   │   │   ├── frame_object.cc
│   │   │   ├── frame_object.h
│   │   │   ├── generic_decoder.cc
│   │   │   ├── generic_decoder.h
│   │   │   ├── generic_encoder.cc
│   │   │   ├── generic_encoder.h
│   │   │   ├── generic_encoder_unittest.cc
│   │   │   ├── h264_sprop_parameter_sets.cc
│   │   │   ├── h264_sprop_parameter_sets.h
│   │   │   ├── h264_sprop_parameter_sets_unittest.cc
│   │   │   ├── h264_sps_pps_tracker.cc
│   │   │   ├── h264_sps_pps_tracker.h
│   │   │   ├── h264_sps_pps_tracker_unittest.cc
│   │   │   ├── histogram.cc
│   │   │   ├── histogram.h
│   │   │   ├── histogram_unittest.cc
│   │   │   ├── include
│   │   │   │   ├── mock
│   │   │   │   │   ├── mock_vcm_callbacks.h
│   │   │   │   │   └── mock_video_codec_interface.h
│   │   │   │   ├── video_codec_initializer.h
│   │   │   │   ├── video_codec_interface.h
│   │   │   │   ├── video_coding_defines.h
│   │   │   │   ├── video_coding.h
│   │   │   │   └── video_error_codes.h
│   │   │   ├── inter_frame_delay.cc
│   │   │   ├── inter_frame_delay.h
│   │   │   ├── internal_defines.h
│   │   │   ├── jitter_buffer.cc
│   │   │   ├── jitter_buffer_common.h
│   │   │   ├── jitter_buffer.h
│   │   │   ├── jitter_buffer_unittest.cc
│   │   │   ├── jitter_estimator.cc
│   │   │   ├── jitter_estimator.h
│   │   │   ├── jitter_estimator_tests.cc
│   │   │   ├── media_optimization.cc
│   │   │   ├── media_optimization.h
│   │   │   ├── media_opt_util.cc
│   │   │   ├── media_opt_util.h
│   │   │   ├── nack_fec_tables.h
│   │   │   ├── nack_module.cc
│   │   │   ├── nack_module.h
│   │   │   ├── nack_module_unittest.cc
│   │   │   ├── OWNERS
│   │   │   ├── packet_buffer.cc
│   │   │   ├── packet_buffer.h
│   │   │   ├── packet.cc
│   │   │   ├── packet.h
│   │   │   ├── qp_parser.cc
│   │   │   ├── qp_parser.h
│   │   │   ├── receiver.cc
│   │   │   ├── receiver.h
│   │   │   ├── receiver_unittest.cc
│   │   │   ├── rtp_frame_reference_finder.cc
│   │   │   ├── rtp_frame_reference_finder.h
│   │   │   ├── rtp_frame_reference_finder_unittest.cc
│   │   │   ├── rtt_filter.cc
│   │   │   ├── rtt_filter.h
│   │   │   ├── session_info.cc
│   │   │   ├── session_info.h
│   │   │   ├── session_info_unittest.cc
│   │   │   ├── test
│   │   │   │   ├── stream_generator.cc
│   │   │   │   ├── stream_generator.h
│   │   │   │   └── test_util.h
│   │   │   ├── timestamp_map.cc
│   │   │   ├── timestamp_map.h
│   │   │   ├── timing.cc
│   │   │   ├── timing.h
│   │   │   ├── timing_unittest.cc
│   │   │   ├── utility
│   │   │   │   ├── default_video_bitrate_allocator.cc
│   │   │   │   ├── default_video_bitrate_allocator.h
│   │   │   │   ├── default_video_bitrate_allocator_unittest.cc
│   │   │   │   ├── frame_dropper.cc
│   │   │   │   ├── frame_dropper.h
│   │   │   │   ├── frame_dropper_unittest.cc
│   │   │   │   ├── ivf_file_writer.cc
│   │   │   │   ├── ivf_file_writer.h
│   │   │   │   ├── ivf_file_writer_unittest.cc
│   │   │   │   ├── mock
│   │   │   │   │   └── mock_frame_dropper.h
│   │   │   │   ├── moving_average.cc
│   │   │   │   ├── moving_average.h
│   │   │   │   ├── moving_average_unittest.cc
│   │   │   │   ├── quality_scaler.cc
│   │   │   │   ├── quality_scaler.h
│   │   │   │   ├── quality_scaler_unittest.cc
│   │   │   │   ├── simulcast_rate_allocator_unittest.cc
│   │   │   │   ├── vp8_header_parser.cc
│   │   │   │   ├── vp8_header_parser.h
│   │   │   │   ├── vp9_uncompressed_header_parser.cc
│   │   │   │   └── vp9_uncompressed_header_parser.h
│   │   │   ├── video_codec_initializer.cc
│   │   │   ├── video_codec_initializer_unittest.cc
│   │   │   ├── video_coding_defines.cc
│   │   │   ├── video_coding_impl.cc
│   │   │   ├── video_coding_impl.h
│   │   │   ├── video_packet_buffer_unittest.cc
│   │   │   ├── video_receiver.cc
│   │   │   ├── video_receiver_unittest.cc
│   │   │   ├── video_sender.cc
│   │   │   └── video_sender_unittest.cc
│   │   └── video_processing
│   │   ├── BUILD.gn
│   │   ├── DEPS
│   │   ├── OWNERS
│   │   ├── test
│   │   │   └── denoiser_test.cc
│   │   ├── util
│   │   │   ├── denoiser_filter.cc
│   │   │   ├── denoiser_filter_c.cc
│   │   │   ├── denoiser_filter_c.h
│   │   │   ├── denoiser_filter.h
│   │   │   ├── denoiser_filter_neon.cc
│   │   │   ├── denoiser_filter_neon.h
│   │   │   ├── denoiser_filter_sse2.cc
│   │   │   ├── denoiser_filter_sse2.h
│   │   │   ├── noise_estimation.cc
│   │   │   ├── noise_estimation.h
│   │   │   ├── skin_detection.cc
│   │   │   └── skin_detection.h
│   │   ├── video_denoiser.cc
│   │   └── video_denoiser.h
│   ├── ortc
│   │   ├── ortcfactory.h
│   │   ├── ortcrtpreceiveradapter.h
│   │   ├── ortcrtpsenderadapter.h
│   │   ├── rtpparametersconversion.h
│   │   ├── rtptransportadapter.h
│   │   └── testrtpparameters.h
│   ├── p2p
│   │   ├── base
│   │   │   ├── asyncstuntcpsocket.cc
│   │   │   ├── asyncstuntcpsocket.h
│   │   │   ├── asyncstuntcpsocket_unittest.cc
│   │   │   ├── basicpacketsocketfactory.cc
│   │   │   ├── basicpacketsocketfactory.h
│   │   │   ├── candidatepairinterface.h
│   │   │   ├── dtlstransport.cc
│   │   │   ├── dtlstransport.h
│   │   │   ├── dtlstransportinternal.cc
│   │   │   ├── dtlstransportinternal.h
│   │   │   ├── dtlstransport_unittest.cc
│   │   │   ├── fakecandidatepair.h
│   │   │   ├── fakedtlstransport.h
│   │   │   ├── fakeicetransport.h
│   │   │   ├── fakepackettransport.h
│   │   │   ├── fakeportallocator.h
│   │   │   ├── icetransportinternal.cc
│   │   │   ├── icetransportinternal.h
│   │   │   ├── mockicetransport.h
│   │   │   ├── p2pconstants.cc
│   │   │   ├── p2pconstants.h
│   │   │   ├── p2ptransportchannel.cc
│   │   │   ├── p2ptransportchannel.h
│   │   │   ├── p2ptransportchannel_unittest.cc
│   │   │   ├── packetlossestimator.cc
│   │   │   ├── packetlossestimator.h
│   │   │   ├── packetlossestimator_unittest.cc
│   │   │   ├── packetsocketfactory.cc
│   │   │   ├── packetsocketfactory.h
│   │   │   ├── packettransportinterface.h
│   │   │   ├── packettransportinternal.cc
│   │   │   ├── packettransportinternal.h
│   │   │   ├── portallocator.cc
│   │   │   ├── portallocator.h
│   │   │   ├── portallocator_unittest.cc
│   │   │   ├── port.cc
│   │   │   ├── port.h
│   │   │   ├── portinterface.cc
│   │   │   ├── portinterface.h
│   │   │   ├── port_unittest.cc
│   │   │   ├── pseudotcp.cc
│   │   │   ├── pseudotcp.h
│   │   │   ├── pseudotcp_unittest.cc
│   │   │   ├── relayport.cc
│   │   │   ├── relayport.h
│   │   │   ├── relayport_unittest.cc
│   │   │   ├── relayserver.cc
│   │   │   ├── relayserver.h
│   │   │   ├── relayserver_unittest.cc
│   │   │   ├── stun.cc
│   │   │   ├── stun.h
│   │   │   ├── stunport.cc
│   │   │   ├── stunport.h
│   │   │   ├── stunport_unittest.cc
│   │   │   ├── stunrequest.cc
│   │   │   ├── stunrequest.h
│   │   │   ├── stunrequest_unittest.cc
│   │   │   ├── stunserver.cc
│   │   │   ├── stunserver.h
│   │   │   ├── stunserver_unittest.cc
│   │   │   ├── stun_unittest.cc
│   │   │   ├── tcpport.cc
│   │   │   ├── tcpport.h
│   │   │   ├── tcpport_unittest.cc
│   │   │   ├── testrelayserver.h
│   │   │   ├── teststunserver.cc
│   │   │   ├── teststunserver.h
│   │   │   ├── testturncustomizer.h
│   │   │   ├── testturnserver.h
│   │   │   ├── transportdescription.cc
│   │   │   ├── transportdescriptionfactory.cc
│   │   │   ├── transportdescriptionfactory.h
│   │   │   ├── transportdescriptionfactory_unittest.cc
│   │   │   ├── transportdescription.h
│   │   │   ├── transportfactoryinterface.h
│   │   │   ├── transport.h
│   │   │   ├── transportinfo.h
│   │   │   ├── turnport.cc
│   │   │   ├── turnport.h
│   │   │   ├── turnport_unittest.cc
│   │   │   ├── turnserver.cc
│   │   │   ├── turnserver.h
│   │   │   ├── turnserver_unittest.cc
│   │   │   ├── udpport.h
│   │   │   ├── udptransport.cc
│   │   │   ├── udptransport.h
│   │   │   └── udptransport_unittest.cc
│   │   ├── BUILD.gn
│   │   ├── client
│   │   │   ├── basicportallocator.cc
│   │   │   ├── basicportallocator.h
│   │   │   ├── basicportallocator_unittest.cc
│   │   │   ├── relayportfactoryinterface.h
│   │   │   ├── turnportfactory.cc
│   │   │   └── turnportfactory.h
│   │   ├── DEPS
│   │   ├── OWNERS
│   │   └── stunprober
│   │   ├── stunprober.cc
│   │   ├── stunprober.h
│   │   └── stunprober_unittest.cc
│   ├── pc
│   │   ├── audiotrack.h
│   │   ├── bundlefilter.h
│   │   ├── channel.h
│   │   ├── datachannel.h
│   │   ├── dtlssrtptransport.h
│   │   ├── dtmfsender.h
│   │   ├── externalhmac.h
│   │   ├── iceserverparsing.h
│   │   ├── jseptransportcontroller.h
│   │   ├── jseptransport.h
│   │   ├── localaudiosource.h
│   │   ├── mediasession.h
│   │   ├── mediastream.h
│   │   ├── mediastreamobserver.h
│   │   ├── mediastreamtrack.h
│   │   ├── peerconnectionfactory.h
│   │   ├── peerconnection.h
│   │   ├── peerconnectioninternal.h
│   │   ├── peerconnectionwrapper.h
│   │   ├── remoteaudiosource.h
│   │   ├── rtcpmuxfilter.h
│   │   ├── rtcstatscollector.h
│   │   ├── rtcstatstraversal.h
│   │   ├── rtpmediautils.h
│   │   ├── rtpreceiver.h
│   │   ├── rtpsender.h
│   │   ├── rtptransceiver.h
│   │   ├── rtptransport.h
│   │   ├── rtptransportinternaladapter.h
│   │   ├── rtptransportinternal.h
│   │   ├── rtptransporttestutil.h
│   │   ├── sctputils.h
│   │   ├── sdputils.h
│   │   ├── srtpfilter.h
│   │   ├── srtpsession.h
│   │   ├── srtptestutil.h
│   │   ├── srtptransport.h
│   │   ├── statscollector.h
│   │   ├── streamcollection.h
│   │   ├── test
│   │   │   ├── androidtestinitializer.h
│   │   │   ├── fakeaudiocapturemodule.h
│   │   │   ├── fakedatachannelprovider.h
│   │   │   ├── fakepeerconnectionbase.h
│   │   │   ├── fakepeerconnectionforstats.h
│   │   │   ├── fakeperiodicvideocapturer.h
│   │   │   ├── fakeperiodicvideosource.h
│   │   │   ├── fakeperiodicvideotracksource.h
│   │   │   ├── fakertccertificategenerator.h
│   │   │   ├── fakesctptransport.h
│   │   │   ├── fakevideotrackrenderer.h
│   │   │   ├── fakevideotracksource.h
│   │   │   ├── mock_datachannel.h
│   │   │   ├── mock_peerconnection.h
│   │   │   ├── mockpeerconnectionobservers.h
│   │   │   ├── mock_rtpreceiverinternal.h
│   │   │   ├── mock_rtpsenderinternal.h
│   │   │   ├── peerconnectiontestwrapper.h
│   │   │   ├── rtcstatsobtainer.h
│   │   │   └── testsdpstrings.h
│   │   ├── trackmediainfomap.h
│   │   ├── transportstats.h
│   │   ├── videocapturertracksource.h
│   │   ├── videotrack.h
│   │   ├── videotracksource.h
│   │   ├── webrtcsdp.h
│   │   └── webrtcsessiondescriptionfactory.h
│   ├── rtc_base
│   │   ├── arraysize.h
│   │   ├── asyncinvoker.h
│   │   ├── asyncinvoker-inl.h
│   │   ├── asyncpacketsocket.h
│   │   ├── asyncresolverinterface.h
│   │   ├── asyncsocket.h
│   │   ├── asynctcpsocket.h
│   │   ├── asyncudpsocket.h
│   │   ├── atomicops.h
│   │   ├── base64.h
│   │   ├── basictypes.h
│   │   ├── bind.h
│   │   ├── bitbuffer.h
│   │   ├── bitrateallocationstrategy.h
│   │   ├── buffer.h
│   │   ├── bufferqueue.h
│   │   ├── bytebuffer.h
│   │   ├── byteorder.h
│   │   ├── callback.h
│   │   ├── callback.h.pump
│   │   ├── checks.h
│   │   ├── compile_assert_c.h
│   │   ├── constructormagic.h
│   │   ├── copyonwritebuffer.h
│   │   ├── cpu_time.h
│   │   ├── crc32.h
│   │   ├── criticalsection.h
│   │   ├── cryptstring.h
│   │   ├── data_rate_limiter.h
│   │   ├── deprecation.h
│   │   ├── dscp.h
│   │   ├── Dummy.java
│   │   ├── event.h
│   │   ├── event_tracer.h
│   │   ├── experiments
│   │   │   ├── alr_experiment.h
│   │   │   ├── congestion_controller_experiment.h
│   │   │   └── quality_scaling_experiment.h
│   │   ├── fakeclock.h
│   │   ├── fakenetwork.h
│   │   ├── fakesslidentity.h
│   │   ├── file.h
│   │   ├── filerotatingstream.h
│   │   ├── fileutils.h
│   │   ├── firewallsocketserver.h
│   │   ├── flags.h
│   │   ├── format_macros.h
│   │   ├── function_view.h
│   │   ├── gtest_prod_util.h
│   │   ├── gunit.h
│   │   ├── gunit_prod.h
│   │   ├── helpers.h
│   │   ├── httpbase.h
│   │   ├── httpcommon.h
│   │   ├── httpcommon-inl.h
│   │   ├── httpserver.h
│   │   ├── ifaddrs-android.h
│   │   ├── ifaddrs_converter.h
│   │   ├── ignore_wundef.h
│   │   ├── ipaddress.h
│   │   ├── java
│   │   │   └── src
│   │   │   └── org
│   │   │   └── webrtc
│   │   │   ├── ContextUtils.java
│   │   │   ├── Loggable.java
│   │   │   ├── Logging.java
│   │   │   ├── Size.java
│   │   │   └── ThreadUtils.java
│   │   ├── json.h
│   │   ├── keep_ref_until_done.h
│   │   ├── location.h
│   │   ├── logging.h
│   │   ├── logging_mac.mm
│   │   ├── logsinks.h
│   │   ├── macutils.h
│   │   ├── memory
│   │   │   ├── aligned_array.h
│   │   │   └── aligned_malloc.h
│   │   ├── memory_usage.h
│   │   ├── messagedigest.h
│   │   ├── messagehandler.h
│   │   ├── messagequeue.h
│   │   ├── natserver.h
│   │   ├── natsocketfactory.h
│   │   ├── nattypes.h
│   │   ├── nethelper.h
│   │   ├── nethelpers.h
│   │   ├── network_constants.h
│   │   ├── network.h
│   │   ├── networkmonitor.h
│   │   ├── networkroute.h
│   │   ├── noop.mm
│   │   ├── nullsocketserver.h
│   │   ├── numerics
│   │   │   ├── exp_filter.h
│   │   │   ├── histogram_percentile_counter.h
│   │   │   ├── mathutils.h
│   │   │   ├── mod_ops.h
│   │   │   ├── moving_max_counter.h
│   │   │   ├── moving_median_filter.h
│   │   │   ├── percentile_filter.h
│   │   │   ├── safe_compare.h
│   │   │   ├── safe_conversions.h
│   │   │   ├── safe_conversions_impl.h
│   │   │   ├── safe_minmax.h
│   │   │   ├── sample_counter.h
│   │   │   └── sequence_number_util.h
│   │   ├── onetimeevent.h
│   │   ├── openssladapter.h
│   │   ├── opensslcertificate.h
│   │   ├── openssldigest.h
│   │   ├── openssl.h
│   │   ├── opensslidentity.h
│   │   ├── opensslsessioncache.h
│   │   ├── opensslstreamadapter.h
│   │   ├── opensslutility.h
│   │   ├── optionsfile.h
│   │   ├── pathutils.h
│   │   ├── physicalsocketserver.h
│   │   ├── platform_file.h
│   │   ├── platform_thread.h
│   │   ├── platform_thread_types.h
│   │   ├── protobuf_utils.h
│   │   ├── proxyinfo.h
│   │   ├── proxyserver.h
│   │   ├── ptr_util.h
│   │   ├── race_checker.h
│   │   ├── random.h
│   │   ├── rate_limiter.h
│   │   ├── rate_statistics.h
│   │   ├── ratetracker.h
│   │   ├── refcountedobject.h
│   │   ├── refcounter.h
│   │   ├── refcount.h
│   │   ├── rollingaccumulator.h
│   │   ├── rtccertificategenerator.h
│   │   ├── rtccertificate.h
│   │   ├── sanitizer.h
│   │   ├── scoped_ref_ptr.h
│   │   ├── sequenced_task_checker.h
│   │   ├── sequenced_task_checker_impl.h
│   │   ├── signalthread.h
│   │   ├── sigslot.h
│   │   ├── sigslotrepeater.h
│   │   ├── sigslottester.h
│   │   ├── sigslottester.h.pump
│   │   ├── socketadapters.h
│   │   ├── socketaddress.h
│   │   ├── socketaddresspair.h
│   │   ├── socketfactory.h
│   │   ├── socket.h
│   │   ├── socketserver.h
│   │   ├── socketstream.h
│   │   ├── socket_unittest.h
│   │   ├── ssladapter.h
│   │   ├── sslcertificate.h
│   │   ├── sslfingerprint.h
│   │   ├── sslidentity.h
│   │   ├── sslroots.h
│   │   ├── sslstreamadapter.h
│   │   ├── stream.h
│   │   ├── stringencode.h
│   │   ├── stringize_macros.h
│   │   ├── strings
│   │   │   ├── audio_format_to_string.h
│   │   │   └── string_builder.h
│   │   ├── string_to_number.h
│   │   ├── stringutils.h
│   │   ├── swap_queue.h
│   │   ├── synchronization
│   │   │   ├── rw_lock_posix.h
│   │   │   ├── rw_lock_win.h
│   │   │   └── rw_lock_wrapper.h
│   │   ├── system
│   │   │   ├── asm_defines.h
│   │   │   ├── fallthrough.h
│   │   │   ├── ignore_warnings.h
│   │   │   └── no_inline.h
│   │   ├── task_queue_for_test.h
│   │   ├── task_queue.h
│   │   ├── task_queue_posix.h
│   │   ├── template_util.h
│   │   ├── testbase64.h
│   │   ├── testcertificateverifier.h
│   │   ├── testclient.h
│   │   ├── testechoserver.h
│   │   ├── testutils.h
│   │   ├── thread_annotations.h
│   │   ├── thread_checker.h
│   │   ├── thread_checker_impl.h
│   │   ├── thread_darwin.mm
│   │   ├── thread.h
│   │   ├── time
│   │   │   └── timestamp_extrapolator.h
│   │   ├── timestampaligner.h
│   │   ├── timeutils.h
│   │   ├── trace_event.h
│   │   ├── transformadapter.h
│   │   ├── type_traits.h
│   │   ├── unixfilesystem.h
│   │   ├── virtualsocketserver.h
│   │   ├── weak_ptr.h
│   │   ├── win
│   │   │   └── windows_version.h
│   │   ├── win32filesystem.h
│   │   ├── win32.h
│   │   ├── win32socketinit.h
│   │   ├── win32socketserver.h
│   │   ├── win32window.h
│   │   └── zero_memory.h
│   ├── rtc_tools
│   │   ├── agc
│   │   ├── author_line_count.sh
│   │   ├── barcode_tools
│   │   │   ├── barcode_decoder.py
│   │   │   ├── barcode_encoder.py
│   │   │   ├── build_zxing.py
│   │   │   ├── helper_functions.py
│   │   │   ├── README
│   │   │   └── yuv_cropper.py
│   │   ├── class_usage.sh
│   │   ├── compare_videos.py
│   │   ├── converter
│   │   │   └── converter.h
│   │   ├── event_log_visualizer
│   │   │   ├── analyzer.h
│   │   │   ├── chart.proto
│   │   │   ├── plot_base.h
│   │   │   ├── plot_protobuf.h
│   │   │   ├── plot_python.h
│   │   │   └── triage_notifications.h
│   │   ├── force_mic_volume_max
│   │   ├── frame_analyzer
│   │   │   ├── reference_less_video_analysis_lib.h
│   │   │   └── video_quality_analysis.h
│   │   ├── frame_editing
│   │   │   └── frame_editing_lib.h
│   │   ├── header_usage.sh
│   │   ├── loopback_test
│   │   │   ├── adapter.js
│   │   │   ├── loopback_test.html
│   │   │   ├── loopback_test.js
│   │   │   ├── README
│   │   │   ├── record-test.sh
│   │   │   ├── run-server.sh
│   │   │   └── stat_tracker.js
│   │   ├── network_tester
│   │   │   ├── androidapp
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── res
│   │   │   │   │   ├── layout
│   │   │   │   │   │   └── activity_main.xml
│   │   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   │   └── ic_launcher.png
│   │   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   │   └── ic_launcher.png
│   │   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   │   └── ic_launcher.png
│   │   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   │   └── ic_launcher.png
│   │   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   │   └── ic_launcher.png
│   │   │   │   │   ├── values
│   │   │   │   │   │   ├── colors.xml
│   │   │   │   │   │   ├── dimens.xml
│   │   │   │   │   │   └── strings.xml
│   │   │   │   │   ├── values-v17
│   │   │   │   │   │   └── styles.xml
│   │   │   │   │   └── values-w820dp
│   │   │   │   │   └── dimens.xml
│   │   │   │   └── src
│   │   │   │   └── com
│   │   │   │   └── google
│   │   │   │   └── media
│   │   │   │   └── networktester
│   │   │   │   ├── MainActivity.java
│   │   │   │   └── NetworkTester.java
│   │   │   ├── config_reader.h
│   │   │   ├── create_network_tester_config.py
│   │   │   ├── jni.cpp
│   │   │   ├── network_tester_config.proto
│   │   │   ├── network_tester_packet.proto
│   │   │   ├── packet_logger.h
│   │   │   ├── packet_sender.h
│   │   │   ├── parse_packet_log.py
│   │   │   ├── README
│   │   │   └── test_controller.h
│   │   ├── psnr_ssim_analyzer
│   │   ├── py_event_log_analyzer
│   │   │   ├── misc.py
│   │   │   ├── misc_test.py
│   │   │   ├── pb_parse.py
│   │   │   ├── README
│   │   │   ├── rtp_analyzer.py
│   │   │   ├── rtp_analyzer.sh
│   │   │   └── rtp_analyzer_test.py
│   │   ├── rtcbot
│   │   │   ├── bot
│   │   │   │   ├── api.js
│   │   │   │   └── browser
│   │   │   │   ├── bot.js
│   │   │   │   └── index.html
│   │   │   ├── botmanager.js
│   │   │   ├── main.js
│   │   │   ├── README
│   │   │   ├── rtcBotReportVisualizer
│   │   │   │   ├── index.html
│   │   │   │   └── main.js
│   │   │   ├── test
│   │   │   │   ├── oneWayVideoStreamingWithDownloadingFile.js
│   │   │   │   ├── ping_pong.js
│   │   │   │   ├── simple_offer_answer.js
│   │   │   │   ├── three_bots_video_conference.js
│   │   │   │   ├── two_way_video_streaming.js
│   │   │   │   └── webrtc_video_streaming.js
│   │   │   └── test.js
│   │   ├── simple_command_line_parser.h
│   │   ├── testing
│   │   │   ├── build_apprtc.py
│   │   │   ├── download_apprtc.py
│   │   │   ├── golang
│   │   │   │   ├── linux
│   │   │   │   │   └── go.tar.gz.sha1
│   │   │   │   ├── mac
│   │   │   │   │   └── go.tar.gz.sha1
│   │   │   │   └── win
│   │   │   │   └── go.zip.sha1
│   │   │   ├── prebuilt_apprtc.zip.sha1
│   │   │   ├── README.md
│   │   │   ├── setup_apprtc.py
│   │   │   └── utils.py
│   │   ├── unpack_aecdump
│   │   ├── video_analysis.py
│   │   └── video_analysis_test.py
│   ├── sdk
│   │   ├── android
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── api
│   │   │   │   └── org
│   │   │   │   └── webrtc
│   │   │   │   ├── audio
│   │   │   │   │   └── LegacyAudioDeviceModule.java
│   │   │   │   ├── AudioSource.java
│   │   │   │   ├── AudioTrack.java
│   │   │   │   ├── CallSessionFileRotatingLogSink.java
│   │   │   │   ├── Camera1Capturer.java
│   │   │   │   ├── Camera1Enumerator.java
│   │   │   │   ├── Camera2Capturer.java
│   │   │   │   ├── Camera2Enumerator.java
│   │   │   │   ├── CameraEnumerationAndroid.java
│   │   │   │   ├── CameraEnumerator.java
│   │   │   │   ├── CameraVideoCapturer.java
│   │   │   │   ├── DataChannel.java
│   │   │   │   ├── DefaultVideoDecoderFactory.java
│   │   │   │   ├── DefaultVideoEncoderFactory.java
│   │   │   │   ├── DtmfSender.java
│   │   │   │   ├── EglBase.java
│   │   │   │   ├── EglRenderer.java
│   │   │   │   ├── EncodedImage.java
│   │   │   │   ├── FileVideoCapturer.java
│   │   │   │   ├── GlRectDrawer.java
│   │   │   │   ├── GlShader.java
│   │   │   │   ├── GlTextureFrameBuffer.java
│   │   │   │   ├── GlUtil.java
│   │   │   │   ├── HardwareVideoDecoderFactory.java
│   │   │   │   ├── HardwareVideoEncoderFactory.java
│   │   │   │   ├── IceCandidate.java
│   │   │   │   ├── JavaI420Buffer.java
│   │   │   │   ├── MediaCodecVideoDecoder.java
│   │   │   │   ├── MediaCodecVideoEncoder.java
│   │   │   │   ├── MediaConstraints.java
│   │   │   │   ├── MediaSource.java
│   │   │   │   ├── MediaStream.java
│   │   │   │   ├── MediaStreamTrack.java
│   │   │   │   ├── Metrics.java
│   │   │   │   ├── NativeLibraryLoader.java
│   │   │   │   ├── NetworkMonitorAutoDetect.java
│   │   │   │   ├── NetworkMonitor.java
│   │   │   │   ├── RefCounted.java
│   │   │   │   ├── RendererCommon.java
│   │   │   │   ├── RTCStatsCollectorCallback.java
│   │   │   │   ├── RTCStats.java
│   │   │   │   ├── RTCStatsReport.java
│   │   │   │   ├── RtpParameters.java
│   │   │   │   ├── RtpReceiver.java
│   │   │   │   ├── RtpTransceiver.java
│   │   │   │   ├── ScreenCapturerAndroid.java
│   │   │   │   ├── SdpObserver.java
│   │   │   │   ├── SessionDescription.java
│   │   │   │   ├── SoftwareVideoDecoderFactory.java
│   │   │   │   ├── SoftwareVideoEncoderFactory.java
│   │   │   │   ├── StatsObserver.java
│   │   │   │   ├── StatsReport.java
│   │   │   │   ├── SurfaceEglRenderer.java
│   │   │   │   ├── SurfaceTextureHelper.java
│   │   │   │   ├── SurfaceViewRenderer.java
│   │   │   │   ├── TextureBufferImpl.java
│   │   │   │   ├── TurnCustomizer.java
│   │   │   │   ├── VideoCodecInfo.java
│   │   │   │   ├── VideoCodecStatus.java
│   │   │   │   ├── VideoDecoderFactory.java
│   │   │   │   ├── VideoDecoderFallback.java
│   │   │   │   ├── VideoDecoder.java
│   │   │   │   ├── VideoEncoderFactory.java
│   │   │   │   ├── VideoEncoderFallback.java
│   │   │   │   ├── VideoEncoder.java
│   │   │   │   ├── VideoFileRenderer.java
│   │   │   │   ├── VideoFrameDrawer.java
│   │   │   │   ├── VideoRenderer.java
│   │   │   │   ├── VideoSink.java
│   │   │   │   ├── VideoSource.java
│   │   │   │   ├── VideoTrack.java
│   │   │   │   ├── YuvConverter.java
│   │   │   │   └── YuvHelper.java
│   │   │   ├── instrumentationtests
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── ant.properties
│   │   │   │   ├── build.xml
│   │   │   │   ├── project.properties
│   │   │   │   └── src
│   │   │   │   └── org
│   │   │   │   └── webrtc
│   │   │   │   ├── Camera1CapturerUsingByteBufferTest.java
│   │   │   │   ├── Camera1CapturerUsingTextureTest.java
│   │   │   │   ├── Camera2CapturerTest.java
│   │   │   │   ├── CameraVideoCapturerTestFixtures.java
│   │   │   │   ├── capturetestvideo.y4m
│   │   │   │   ├── DefaultVideoEncoderFactoryTest.java
│   │   │   │   ├── EglRendererTest.java
│   │   │   │   ├── FileVideoCapturerTest.java
│   │   │   │   ├── GlRectDrawerTest.java
│   │   │   │   ├── HardwareVideoDecoderTest.java
│   │   │   │   ├── HardwareVideoEncoderTest.java
│   │   │   │   ├── MediaCodecVideoEncoderTest.java
│   │   │   │   ├── NetworkMonitorTest.java
│   │   │   │   ├── PeerConnectionFactoryTest.java
│   │   │   │   ├── RendererCommonTest.java
│   │   │   │   ├── SurfaceTextureHelperTest.java
│   │   │   │   ├── SurfaceViewRendererOnMeasureTest.java
│   │   │   │   ├── VideoFileRendererTest.java
│   │   │   │   ├── WebRtcJniBootTest.java
│   │   │   │   └── YuvHelperTest.java
│   │   │   ├── native_api
│   │   │   │   ├── audio_device_module
│   │   │   │   │   └── audio_device_android.h
│   │   │   │   ├── base
│   │   │   │   │   ├── init.h
│   │   │   │   │   └── networkmonitor.h
│   │   │   │   ├── codecs
│   │   │   │   │   └── wrapper.h
│   │   │   │   ├── jni
│   │   │   │   │   ├── class_loader.h
│   │   │   │   │   ├── java_types.h
│   │   │   │   │   ├── jni_int_wrapper.h
│   │   │   │   │   └── jvm.h
│   │   │   │   ├── peerconnection
│   │   │   │   │   └── peerconnectionfactory.h
│   │   │   │   └── video
│   │   │   │   ├── videosource.h
│   │   │   │   └── wrapper.h
│   │   │   ├── native_unittests
│   │   │   │   ├── audio_device
│   │   │   │   ├── org
│   │   │   │   │   └── webrtc
│   │   │   │   │   ├── ApplicationContextProvider.java
│   │   │   │   │   ├── BuildInfo.java
│   │   │   │   │   ├── JavaTypesTestHelper.java
│   │   │   │   │   ├── JavaVideoSourceTestHelper.java
│   │   │   │   │   └── PeerConnectionFactoryInitializationHelper.java
│   │   │   │   ├── peerconnection
│   │   │   │   └── video
│   │   │   ├── PRESUBMIT.py
│   │   │   ├── README
│   │   │   ├── src
│   │   │   │   ├── java
│   │   │   │   │   └── org
│   │   │   │   │   └── webrtc
│   │   │   │   │   ├── audio
│   │   │   │   │   │   ├── VolumeLogger.java
│   │   │   │   │   │   ├── WebRtcAudioEffects.java
│   │   │   │   │   │   ├── WebRtcAudioManager.java
│   │   │   │   │   │   ├── WebRtcAudioRecord.java
│   │   │   │   │   │   ├── WebRtcAudioTrack.java
│   │   │   │   │   │   └── WebRtcAudioUtils.java
│   │   │   │   │   ├── BaseBitrateAdjuster.java
│   │   │   │   │   ├── BitrateAdjuster.java
│   │   │   │   │   ├── CalledByNative.java
│   │   │   │   │   ├── CalledByNativeUnchecked.java
│   │   │   │   │   ├── Camera1Session.java
│   │   │   │   │   ├── Camera2Session.java
│   │   │   │   │   ├── CameraCapturer.java
│   │   │   │   │   ├── CameraSession.java
│   │   │   │   │   ├── DynamicBitrateAdjuster.java
│   │   │   │   │   ├── EglBase10.java
│   │   │   │   │   ├── EglBase14.java
│   │   │   │   │   ├── Empty.java
│   │   │   │   │   ├── FramerateBitrateAdjuster.java
│   │   │   │   │   ├── HardwareVideoDecoder.java
│   │   │   │   │   ├── HardwareVideoEncoder.java
│   │   │   │   │   ├── Histogram.java
│   │   │   │   │   ├── JniCommon.java
│   │   │   │   │   ├── JniHelper.java
│   │   │   │   │   ├── JNILogging.java
│   │   │   │   │   ├── MediaCodecUtils.java
│   │   │   │   │   ├── NativeCapturerObserver.java
│   │   │   │   │   ├── NativeLibrary.java
│   │   │   │   │   ├── NV12Buffer.java
│   │   │   │   │   ├── NV21Buffer.java
│   │   │   │   │   ├── RefCountDelegate.java
│   │   │   │   │   ├── VideoCodecType.java
│   │   │   │   │   ├── VideoDecoderWrapper.java
│   │   │   │   │   ├── VideoEncoderWrapper.java
│   │   │   │   │   ├── VP8Decoder.java
│   │   │   │   │   ├── VP8Encoder.java
│   │   │   │   │   ├── VP9Decoder.java
│   │   │   │   │   ├── VP9Encoder.java
│   │   │   │   │   ├── WebRtcClassLoader.java
│   │   │   │   │   ├── WrappedNativeI420Buffer.java
│   │   │   │   │   ├── WrappedNativeVideoDecoder.java
│   │   │   │   │   └── WrappedNativeVideoEncoder.java
│   │   │   │   └── jni
│   │   │   │   ├── androidmediacodeccommon.h
│   │   │   │   ├── androidmediadecoder_jni.h
│   │   │   │   ├── androidmediaencoder_jni.h
│   │   │   │   ├── androidnetworkmonitor.h
│   │   │   │   ├── androidnetworkmonitor_jni.h
│   │   │   │   ├── androidvideotracksource.h
│   │   │   │   ├── audio_device
│   │   │   │   │   ├── aaudio_player.h
│   │   │   │   │   ├── aaudio_recorder.h
│   │   │   │   │   ├── aaudio_wrapper.h
│   │   │   │   │   ├── audio_common.h
│   │   │   │   │   ├── audio_device_module.h
│   │   │   │   │   ├── audio_record_jni.h
│   │   │   │   │   ├── audio_track_jni.h
│   │   │   │   │   ├── opensles_common.h
│   │   │   │   │   ├── opensles_player.h
│   │   │   │   │   └── opensles_recorder.h
│   │   │   │   ├── class_loader.h
│   │   │   │   ├── classreferenceholder.h
│   │   │   │   ├── encodedimage.h
│   │   │   │   ├── jni_generator_helper.h
│   │   │   │   ├── jni_helpers.h
│   │   │   │   ├── jvm.h
│   │   │   │   ├── logging
│   │   │   │   │   └── logsink.h
│   │   │   │   ├── nativecapturerobserver.h
│   │   │   │   ├── pc
│   │   │   │   │   ├── androidnetworkmonitor.h
│   │   │   │   │   ├── audio.h
│   │   │   │   │   ├── datachannel.h
│   │   │   │   │   ├── icecandidate.h
│   │   │   │   │   ├── mediaconstraints.h
│   │   │   │   │   ├── media.h
│   │   │   │   │   ├── mediastream.h
│   │   │   │   │   ├── mediastreamtrack.h
│   │   │   │   │   ├── peerconnectionfactory.h
│   │   │   │   │   ├── rtcstatscollectorcallbackwrapper.h
│   │   │   │   │   ├── rtpparameters.h
│   │   │   │   │   ├── rtpsender.h
│   │   │   │   │   ├── sdpobserver.h
│   │   │   │   │   ├── sessiondescription.h
│   │   │   │   │   ├── statsobserver.h
│   │   │   │   │   ├── turncustomizer.h
│   │   │   │   │   └── video.h
│   │   │   │   ├── videocodecinfo.h
│   │   │   │   ├── videocodecstatus.h
│   │   │   │   ├── videodecoderfactorywrapper.h
│   │   │   │   ├── videodecoderwrapper.h
│   │   │   │   ├── videoencoderfactorywrapper.h
│   │   │   │   ├── videoencoderwrapper.h
│   │   │   │   ├── videosink.h
│   │   │   │   ├── wrappednativecodec.h
│   │   │   │   └── wrapped_native_i420_buffer.h
│   │   │   └── tests
│   │   │   └── src
│   │   │   └── org
│   │   │   └── webrtc
│   │   │   ├── CameraEnumerationTest.java
│   │   │   └── ScalingSettingsTest.java
│   │   └── objc
│   │   ├── Framework
│   │   │   ├── Classes
│   │   │   │   ├── Audio
│   │   │   │   │   ├── RTCAudioSessionConfiguration.m
│   │   │   │   │   ├── RTCAudioSession+Configuration.mm
│   │   │   │   │   ├── RTCAudioSession.mm
│   │   │   │   │   ├── RTCAudioSession+Private.h
│   │   │   │   │   ├── RTCNativeAudioSessionDelegateAdapter.h
│   │   │   │   │   └── RTCNativeAudioSessionDelegateAdapter.mm
│   │   │   │   ├── Common
│   │   │   │   │   ├── helpers.h
│   │   │   │   │   ├── helpers.mm
│   │   │   │   │   ├── noop.mm
│   │   │   │   │   ├── NSString+StdString.h
│   │   │   │   │   ├── NSString+StdString.mm
│   │   │   │   │   ├── RTCCallbackLogger.mm
│   │   │   │   │   ├── RTCDispatcher.m
│   │   │   │   │   ├── RTCDispatcher+Private.h
│   │   │   │   │   ├── RTCFieldTrials.mm
│   │   │   │   │   ├── RTCFileLogger.mm
│   │   │   │   │   ├── RTCLogging.mm
│   │   │   │   │   ├── RTCUIApplicationStatusObserver.h
│   │   │   │   │   ├── RTCUIApplicationStatusObserver.m
│   │   │   │   │   └── UIDevice+RTCDevice.mm
│   │   │   │   ├── Metal
│   │   │   │   │   ├── RTCMTLI420Renderer.h
│   │   │   │   │   ├── RTCMTLI420Renderer.mm
│   │   │   │   │   ├── RTCMTLNSVideoView.m
│   │   │   │   │   ├── RTCMTLNV12Renderer.h
│   │   │   │   │   ├── RTCMTLNV12Renderer.mm
│   │   │   │   │   ├── RTCMTLRenderer.h
│   │   │   │   │   ├── RTCMTLRenderer.mm
│   │   │   │   │   ├── RTCMTLRenderer+Private.h
│   │   │   │   │   ├── RTCMTLRGBRenderer.h
│   │   │   │   │   ├── RTCMTLRGBRenderer.mm
│   │   │   │   │   └── RTCMTLVideoView.m
│   │   │   │   ├── PeerConnection
│   │   │   │   │   ├── RTCAudioSource.mm
│   │   │   │   │   ├── RTCAudioSource+Private.h
│   │   │   │   │   ├── RTCAudioTrack.mm
│   │   │   │   │   ├── RTCAudioTrack+Private.h
│   │   │   │   │   ├── RTCCameraVideoCapturer.m
│   │   │   │   │   ├── RTCConfiguration.mm
│   │   │   │   │   ├── RTCConfiguration+Native.h
│   │   │   │   │   ├── RTCConfiguration+Private.h
│   │   │   │   │   ├── RTCDataChannelConfiguration.mm
│   │   │   │   │   ├── RTCDataChannelConfiguration+Private.h
│   │   │   │   │   ├── RTCDataChannel.mm
│   │   │   │   │   ├── RTCDataChannel+Private.h
│   │   │   │   │   ├── RTCDefaultVideoDecoderFactory.m
│   │   │   │   │   ├── RTCDefaultVideoEncoderFactory.m
│   │   │   │   │   ├── RTCDtmfSender.mm
│   │   │   │   │   ├── RTCDtmfSender+Private.h
│   │   │   │   │   ├── RTCEncodedImage.mm
│   │   │   │   │   ├── RTCFileVideoCapturer.m
│   │   │   │   │   ├── RTCIceCandidate.mm
│   │   │   │   │   ├── RTCIceServer.mm
│   │   │   │   │   ├── RTCIceServer+Private.h
│   │   │   │   │   ├── RTCIntervalRange.mm
│   │   │   │   │   ├── RTCIntervalRange+Private.h
│   │   │   │   │   ├── RTCLegacyStatsReport.mm
│   │   │   │   │   ├── RTCLegacyStatsReport+Private.h
│   │   │   │   │   ├── RTCMediaConstraints.mm
│   │   │   │   │   ├── RTCMediaConstraints+Private.h
│   │   │   │   │   ├── RTCMediaSource.mm
│   │   │   │   │   ├── RTCMediaSource+Private.h
│   │   │   │   │   ├── RTCMediaStream.mm
│   │   │   │   │   ├── RTCMediaStream+Private.h
│   │   │   │   │   ├── RTCMediaStreamTrack.mm
│   │   │   │   │   ├── RTCMediaStreamTrack+Private.h
│   │   │   │   │   ├── RTCMetrics.mm
│   │   │   │   │   ├── RTCMetricsSampleInfo.mm
│   │   │   │   │   ├── RTCMetricsSampleInfo+Private.h
│   │   │   │   │   ├── RTCPeerConnection+DataChannel.mm
│   │   │   │   │   ├── RTCPeerConnectionFactory.mm
│   │   │   │   │   ├── RTCPeerConnectionFactory+Native.h
│   │   │   │   │   ├── RTCPeerConnectionFactoryOptions.mm
│   │   │   │   │   ├── RTCPeerConnectionFactoryOptions+Private.h
│   │   │   │   │   ├── RTCPeerConnectionFactory+Private.h
│   │   │   │   │   ├── RTCPeerConnection.mm
│   │   │   │   │   ├── RTCPeerConnection+Native.h
│   │   │   │   │   ├── RTCPeerConnection+Private.h
│   │   │   │   │   ├── RTCPeerConnection+Stats.mm
│   │   │   │   │   ├── RTCRtpCodecParameters.mm
│   │   │   │   │   ├── RTCRtpCodecParameters+Private.h
│   │   │   │   │   ├── RTCRtpEncodingParameters.mm
│   │   │   │   │   ├── RTCRtpEncodingParameters+Private.h
│   │   │   │   │   ├── RTCRtpFragmentationHeader.mm
│   │   │   │   │   ├── RTCRtpParameters.mm
│   │   │   │   │   ├── RTCRtpParameters+Private.h
│   │   │   │   │   ├── RTCRtpReceiver.mm
│   │   │   │   │   ├── RTCRtpReceiver+Private.h
│   │   │   │   │   ├── RTCRtpSender.mm
│   │   │   │   │   ├── RTCRtpSender+Private.h
│   │   │   │   │   ├── RTCRtpTransceiver.mm
│   │   │   │   │   ├── RTCRtpTransceiver+Private.h
│   │   │   │   │   ├── RTCSessionDescription.mm
│   │   │   │   │   ├── RTCSSLAdapter.mm
│   │   │   │   │   ├── RTCTracing.mm
│   │   │   │   │   ├── RTCVideoCapturer.m
│   │   │   │   │   ├── RTCVideoCodecH264.mm
│   │   │   │   │   ├── RTCVideoCodec.mm
│   │   │   │   │   ├── RTCVideoCodec+Private.h
│   │   │   │   │   ├── RTCVideoCodecVP8.mm
│   │   │   │   │   ├── RTCVideoCodecVP9.mm
│   │   │   │   │   ├── RTCVideoEncoderSettings.mm
│   │   │   │   │   ├── RTCVideoFrame.mm
│   │   │   │   │   ├── RTCVideoRendererAdapter.h
│   │   │   │   │   ├── RTCVideoRendererAdapter.mm
│   │   │   │   │   ├── RTCVideoRendererAdapter+Private.h
│   │   │   │   │   ├── RTCVideoSource.mm
│   │   │   │   │   ├── RTCVideoSource+Private.h
│   │   │   │   │   ├── RTCVideoTrack.mm
│   │   │   │   │   ├── RTCVideoTrack+Private.h
│   │   │   │   │   ├── RTCWrappedNativeVideoDecoder.mm
│   │   │   │   │   └── RTCWrappedNativeVideoEncoder.mm
│   │   │   │   ├── UI
│   │   │   │   │   ├── RTCCameraPreviewView.m
│   │   │   │   │   ├── RTCEAGLVideoView.m
│   │   │   │   │   └── RTCNSGLVideoView.m
│   │   │   │   ├── Video
│   │   │   │   │   ├── AVCaptureSession+DevicePosition.h
│   │   │   │   │   ├── AVCaptureSession+DevicePosition.mm
│   │   │   │   │   ├── RTCCVPixelBuffer.mm
│   │   │   │   │   ├── RTCDefaultShader.h
│   │   │   │   │   ├── RTCDefaultShader.mm
│   │   │   │   │   ├── RTCI420Buffer.mm
│   │   │   │   │   ├── RTCI420Buffer+Private.h
│   │   │   │   │   ├── RTCI420TextureCache.h
│   │   │   │   │   ├── RTCI420TextureCache.mm
│   │   │   │   │   ├── RTCNV12TextureCache.h
│   │   │   │   │   ├── RTCNV12TextureCache.m
│   │   │   │   │   ├── RTCOpenGLDefines.h
│   │   │   │   │   ├── RTCShader.h
│   │   │   │   │   ├── RTCShader.mm
│   │   │   │   │   ├── UIDevice+H264Profile.h
│   │   │   │   │   └── UIDevice+H264Profile.mm
│   │   │   │   └── VideoToolbox
│   │   │   │   ├── helpers.h
│   │   │   │   ├── nalu_rewriter.h
│   │   │   │   ├── RTCVideoDecoderH264.mm
│   │   │   │   └── RTCVideoEncoderH264.mm
│   │   │   ├── Headers
│   │   │   │   └── WebRTC
│   │   │   │   ├── RTCAudioSessionConfiguration.h
│   │   │   │   ├── RTCAudioSession.h
│   │   │   │   ├── RTCAudioSource.h
│   │   │   │   ├── RTCAudioTrack.h
│   │   │   │   ├── RTCCallbackLogger.h
│   │   │   │   ├── RTCCameraPreviewView.h
│   │   │   │   ├── RTCCameraVideoCapturer.h
│   │   │   │   ├── RTCConfiguration.h
│   │   │   │   ├── RTCDataChannelConfiguration.h
│   │   │   │   ├── RTCDataChannel.h
│   │   │   │   ├── RTCDispatcher.h
│   │   │   │   ├── RTCDtmfSender.h
│   │   │   │   ├── RTCEAGLVideoView.h
│   │   │   │   ├── RTCFieldTrials.h
│   │   │   │   ├── RTCFileLogger.h
│   │   │   │   ├── RTCFileVideoCapturer.h
│   │   │   │   ├── RTCIceCandidate.h
│   │   │   │   ├── RTCIceServer.h
│   │   │   │   ├── RTCIntervalRange.h
│   │   │   │   ├── RTCLegacyStatsReport.h
│   │   │   │   ├── RTCLogging.h
│   │   │   │   ├── RTCMacros.h
│   │   │   │   ├── RTCMediaConstraints.h
│   │   │   │   ├── RTCMediaSource.h
│   │   │   │   ├── RTCMediaStream.h
│   │   │   │   ├── RTCMediaStreamTrack.h
│   │   │   │   ├── RTCMetrics.h
│   │   │   │   ├── RTCMetricsSampleInfo.h
│   │   │   │   ├── RTCMTLNSVideoView.h
│   │   │   │   ├── RTCMTLVideoView.h
│   │   │   │   ├── RTCNSGLVideoView.h
│   │   │   │   ├── RTCPeerConnectionFactory.h
│   │   │   │   ├── RTCPeerConnectionFactoryOptions.h
│   │   │   │   ├── RTCPeerConnection.h
│   │   │   │   ├── RTCRtpCodecParameters.h
│   │   │   │   ├── RTCRtpEncodingParameters.h
│   │   │   │   ├── RTCRtpParameters.h
│   │   │   │   ├── RTCRtpReceiver.h
│   │   │   │   ├── RTCRtpSender.h
│   │   │   │   ├── RTCRtpTransceiver.h
│   │   │   │   ├── RTCSessionDescription.h
│   │   │   │   ├── RTCSSLAdapter.h
│   │   │   │   ├── RTCTracing.h
│   │   │   │   ├── RTCVideoCapturer.h
│   │   │   │   ├── RTCVideoCodecFactory.h
│   │   │   │   ├── RTCVideoCodec.h
│   │   │   │   ├── RTCVideoCodecH264.h
│   │   │   │   ├── RTCVideoDecoderVP8.h
│   │   │   │   ├── RTCVideoDecoderVP9.h
│   │   │   │   ├── RTCVideoEncoderVP8.h
│   │   │   │   ├── RTCVideoEncoderVP9.h
│   │   │   │   ├── RTCVideoFrameBuffer.h
│   │   │   │   ├── RTCVideoFrame.h
│   │   │   │   ├── RTCVideoRenderer.h
│   │   │   │   ├── RTCVideoSource.h
│   │   │   │   ├── RTCVideoTrack.h
│   │   │   │   ├── RTCVideoViewShading.h
│   │   │   │   └── UIDevice+RTCDevice.h
│   │   │   ├── Info.plist
│   │   │   ├── Modules
│   │   │   │   └── module.modulemap
│   │   │   ├── Native
│   │   │   │   ├── api
│   │   │   │   │   ├── audio_device_module.h
│   │   │   │   │   ├── audio_device_module.mm
│   │   │   │   │   ├── video_capturer.h
│   │   │   │   │   ├── video_capturer.mm
│   │   │   │   │   ├── video_decoder_factory.h
│   │   │   │   │   ├── video_decoder_factory.mm
│   │   │   │   │   ├── video_encoder_factory.h
│   │   │   │   │   ├── video_encoder_factory.mm
│   │   │   │   │   ├── video_frame_buffer.h
│   │   │   │   │   ├── video_frame_buffer.mm
│   │   │   │   │   ├── video_frame.h
│   │   │   │   │   ├── video_frame.mm
│   │   │   │   │   ├── video_renderer.h
│   │   │   │   │   └── video_renderer.mm
│   │   │   │   └── src
│   │   │   │   ├── audio
│   │   │   │   │   ├── audio_device_ios.h
│   │   │   │   │   ├── audio_device_ios.mm
│   │   │   │   │   ├── audio_device_module_ios.h
│   │   │   │   │   ├── audio_device_module_ios.mm
│   │   │   │   │   ├── audio_session_observer.h
│   │   │   │   │   ├── voice_processing_audio_unit.h
│   │   │   │   │   └── voice_processing_audio_unit.mm
│   │   │   │   ├── objc_frame_buffer.h
│   │   │   │   ├── objc_frame_buffer.mm
│   │   │   │   ├── objc_video_decoder_factory.h
│   │   │   │   ├── objc_video_decoder_factory.mm
│   │   │   │   ├── objc_video_encoder_factory.h
│   │   │   │   ├── objc_video_encoder_factory.mm
│   │   │   │   ├── objc_video_frame.h
│   │   │   │   ├── objc_video_frame.mm
│   │   │   │   ├── objc_video_renderer.h
│   │   │   │   ├── objc_video_renderer.mm
│   │   │   │   ├── objc_video_track_source.h
│   │   │   │   └── objc_video_track_source.mm
│   │   │   └── UnitTests
│   │   │   ├── audio_short16.pcm
│   │   │   ├── audio_short44.pcm
│   │   │   ├── audio_short48.pcm
│   │   │   ├── avformatmappertests.mm
│   │   │   ├── foreman.mp4
│   │   │   ├── frame_buffer_helpers.h
│   │   │   ├── frame_buffer_helpers.mm
│   │   │   ├── main.m
│   │   │   ├── objc_video_decoder_factory_tests.mm
│   │   │   ├── objc_video_encoder_factory_tests.mm
│   │   │   ├── ObjCVideoTrackSource_xctest.mm
│   │   │   ├── RTCAudioDeviceModule_xctest.mm
│   │   │   ├── RTCAudioDevice_xctest.mm
│   │   │   ├── RTCAudioSessionTest.mm
│   │   │   ├── RTCCallbackLogger_xctest.m
│   │   │   ├── RTCCameraVideoCapturerTests.mm
│   │   │   ├── RTCConfigurationTest.mm
│   │   │   ├── RTCCVPixelBuffer_xctest.mm
│   │   │   ├── RTCDataChannelConfigurationTest.mm
│   │   │   ├── RTCDoNotPutCPlusPlusInFrameworkHeaders_xctest.m
│   │   │   ├── RTCFileVideoCapturer_xctest.mm
│   │   │   ├── RTCIceCandidateTest.mm
│   │   │   ├── RTCIceServerTest.mm
│   │   │   ├── RTCIntervalRangeTests.mm
│   │   │   ├── RTCMediaConstraintsTest.mm
│   │   │   ├── RTCMTLVideoView_xctest.m
│   │   │   ├── RTCPeerConnectionTest.mm
│   │   │   ├── RTCSessionDescriptionTest.mm
│   │   │   ├── RTCTracingTest.mm
│   │   │   └── scoped_cftyperef_tests.mm
│   │   └── WebRTC.podspec
│   ├── stats
│   │   └── test
│   │   └── rtcteststats.h
│   ├── system_wrappers
│   │   ├── include
│   │   │   ├── clock.h
│   │   │   ├── cpu_features_wrapper.h
│   │   │   ├── cpu_info.h
│   │   │   ├── event_wrapper.h
│   │   │   ├── field_trial_default.h
│   │   │   ├── field_trial.h
│   │   │   ├── metrics_default.h
│   │   │   ├── metrics.h
│   │   │   ├── ntp_time.h
│   │   │   ├── rtp_to_ntp_estimator.h
│   │   │   ├── runtime_enabled_features.h
│   │   │   └── sleep.h
│   │   └── source
│   │   ├── cpu_features_android.c
│   │   ├── cpu_features_linux.c
│   │   ├── event_timer_posix.h
│   │   └── event_timer_win.h
│   ├── typedefs.h
│   └── video
│   ├── call_stats.h
│   ├── encoder_rtcp_feedback.h
│   ├── end_to_end_tests
│   │   └── multi_stream_tester.h
│   ├── full_stack_tests_plot.py
│   ├── overuse_frame_detector.h
│   ├── payload_router.h
│   ├── quality_threshold.h
│   ├── report_block_stats.h
│   ├── rtp_streams_synchronizer.h
│   ├── send_delay_stats.h
│   ├── send_statistics_proxy.h
│   ├── stream_synchronization.h
│   ├── test
│   │   └── mock_video_stream_encoder.h
│   ├── transport_adapter.h
│   ├── video_quality_test.h
│   ├── video_stream_decoder.h
│   ├── video_stream_decoder_impl.h
│   └── video_stream_encoder.h
└── webrtc_release_libs
├── aec3.lib
├── alr_experiment.lib
├── ana_config_proto.lib
├── ana_debug_dump_proto.lib
├── audio_coding.lib
├── audio_decoder_g711.lib
├── audio_decoder_g722.lib
├── audio_decoder_ilbc.lib
├── audio_decoder_isac_fix.lib
├── audio_decoder_isac_float.lib
├── audio_decoder_L16.lib
├── audio_decoder_opus.lib
├── audio_encoder_g711.lib
├── audio_encoder_g722.lib
├── audio_encoder_ilbc.lib
├── audio_encoder_isac_fix.lib
├── audio_encoder_isac_float.lib
├── audio_encoder_L16.lib
├── audio_encoder_opus_config.lib
├── audio_format_conversion.lib
├── audio_frame_manipulator.lib
├── audio_frame_operations.lib
├── audio.lib
├── audio_mixer_impl.lib
├── audio_network_adaptor_config.lib
├── audio_network_adaptor.lib
├── audioproc_debug_proto.lib
├── audio_processing.lib
├── audioproc_protobuf_utils.lib
├── audioproc_unittest_proto.lib
├── bbr.lib
├── bitrate_controller.lib
├── boringssl_asm.lib
├── boringssl.lib
├── builtin_audio_decoder_factory.lib
├── builtin_audio_encoder_factory.lib
├── builtin_video_decoder_factory.lib
├── builtin_video_encoder_factory.lib
├── bwe_simulator_lib.lib
├── call.lib
├── chart_proto.lib
├── cng.lib
├── command_line_parser.lib
├── common_audio.lib
├── common_audio_sse2.lib
├── common_video.lib
├── congestion_controller_experiment.lib
├── congestion_controller.lib
├── create_pc_factory.lib
├── desktop_capture_differ_sse2.lib
├── desktop_capture_generic.lib
├── encoded_frame.lib
├── event_log_visualizer_utils.lib
├── frame_editing_lib.lib
├── g711.lib
├── g722.lib
├── gmock_main.lib
├── goog_cc.lib
├── gtest.lib
├── icui18n.lib
├── icuuc.lib
├── ilbc.lib
├── isac_c.lib
├── isac_common.lib
├── isac_fix.lib
├── isac.lib
├── legacy_encoded_audio_frame.lib
├── libjingle_peerconnection_api.lib
├── libjpeg.lib
├── lib.lib
├── libsrtp.lib
├── libstunprober.lib
├── libvpx.lib
├── libvpx_yasm.lib
├── libyuv_internal.lib
├── minizip.lib
├── neteq.lib
├── neteq_unittest_proto.lib
├── network_control.lib
├── network_tester_config_proto.lib
├── network_tester.lib
├── network_tester_packet_proto.lib
├── opus.lib
├── ortc.lib
├── pacing.lib
├── pcm16b.lib
├── peerconnection_client.exe
├── peerconnection.lib
├── peerconnection_server.exe
├── primitives.lib
├── protobuf_full.lib
├── protobuf_lite.lib
├── protoc_lib.lib
├── quality_scaling_experiment.lib
├── red.lib
├── reference_less_video_analysis_lib.lib
├── remote_bitrate_estimator.lib
├── rent_a_codec.lib
├── rtc_audio_video.lib
├── rtc_base_generic.lib
├── rtc_base.lib
├── rtc_constants.lib
├── rtc_data.lib
├── rtc_event_log2_proto.lib
├── rtc_event_log_impl_base.lib
├── rtc_event_log_impl_encoder.lib
├── rtc_event_log_parser.lib
├── rtc_event_log_proto.lib
├── rtc_event_log_source.lib
├── rtc_internal_video_codecs.lib
├── rtc_media_base.lib
├── rtc_numerics.lib
├── rtc_p2p.lib
├── rtc_pc_base.lib
├── rtc_software_fallback_wrappers.lib
├── rtc_stats.lib
├── rtp_rtcp.lib
├── simd_asm.lib
├── simd.lib
├── system_wrappers.lib
├── transport_feedback.lib
├── usrsctp.lib
├── utility.lib
├── vad.lib
├── vad_unittests.lib
├── video_capture.lib
├── video_capture_module.lib
├── video_coding.lib
├── video.lib
├── video_processing.lib
├── video_processing_sse2.lib
├── video_quality_analysis.lib
├── weak_ptr.lib
├── webrtc_common.lib
├── webrtc_h264.lib
├── webrtc_i420.lib
├── webrtc.lib
├── webrtc_multiplex.lib
├── webrtc_opus.lib
├── webrtc_unity_plugin.dll.lib
├── webrtc_vp8_helpers.lib
├── webrtc_vp8.lib
├── webrtc_vp9_helpers.lib
├── webrtc_vp9.lib
├── winsdk_samples.lib
├── yasm_utils.lib
├── zlib.lib
└── zlib_x86_simd.lib

540 directories, 5157 files

标签:

实例下载地址

webrtc自带的peerconnection client&server;的源代码,可使用vs2017编译和调试

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警