├── .gitignore
├── LICENSE
├── README.md
├── android_project
├── .gitignore
└── AudioMixer
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── debug
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── github
│ │ │ └── piasy
│ │ │ └── audio_mixer
│ │ │ ├── MainActivity.java
│ │ │ └── MyApp.java
│ └── 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-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── github
│ │ └── piasy
│ │ └── audio_mixer
│ │ ├── AudioBuffer.java
│ │ ├── AudioFileDecoder.java
│ │ ├── AudioFileSource.java
│ │ ├── AudioMixer.java
│ │ └── AudioResampler.java
│ └── jni
│ └── audio_mixer_jni.cpp
├── build.gradle
├── djinni
├── audio_mixer.djinni
└── support-lib
│ ├── djinni_common.hpp
│ ├── java
│ └── com
│ │ └── dropbox
│ │ └── djinni
│ │ └── NativeLibLoader.java
│ ├── jni
│ ├── Marshal.hpp
│ ├── djinni_main.cpp
│ ├── djinni_support.cpp
│ └── djinni_support.hpp
│ ├── objc
│ ├── DJICppWrapperCache+Private.h
│ ├── DJIError.h
│ ├── DJIError.mm
│ ├── DJIMarshal+Private.h
│ ├── DJIObjcWrapperCache+Private.h
│ └── DJIProxyCaches.mm
│ ├── proxy_cache_impl.hpp
│ └── proxy_cache_interface.hpp
├── extract_libs.sh
├── generated_src
├── cpp
│ ├── audio_mixer_api.cpp
│ ├── audio_mixer_api.hpp
│ ├── mixer_config.hpp
│ ├── mixer_source.cpp
│ └── mixer_source.hpp
├── java
│ └── com
│ │ └── github
│ │ └── piasy
│ │ └── audio_mixer
│ │ ├── AudioMixerApi.java
│ │ ├── MixerConfig.java
│ │ └── MixerSource.java
├── jni
│ ├── NativeAudioMixerApi.cpp
│ ├── NativeAudioMixerApi.hpp
│ ├── NativeMixerConfig.cpp
│ ├── NativeMixerConfig.hpp
│ ├── NativeMixerSource.cpp
│ └── NativeMixerSource.hpp
└── objc
│ ├── PYAAudioMixerApi+Private.h
│ ├── PYAAudioMixerApi+Private.mm
│ ├── PYAAudioMixerApi.h
│ ├── PYAAudioMixerApi.mm
│ ├── PYAMixerConfig+Private.h
│ ├── PYAMixerConfig+Private.mm
│ ├── PYAMixerConfig.h
│ ├── PYAMixerConfig.mm
│ ├── PYAMixerSource+Private.h
│ ├── PYAMixerSource+Private.mm
│ ├── PYAMixerSource.h
│ └── PYAMixerSource.mm
├── gradle.properties
├── gradle
├── bintray.gradle
├── publish-maven-central.gradle
├── simple_lib_android_maven.gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── ios_project
├── .gitignore
├── AudioMixer.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── Info.plist
├── example
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── AudioMixerTestController.h
│ ├── AudioMixerTestController.mm
│ ├── Info.plist
│ ├── LaunchScreen.storyboard
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── objc
│ ├── AudioMixer.h
│ ├── PYAAudioBuffer.h
│ ├── PYAAudioBuffer.mm
│ ├── PYAAudioMixer.h
│ └── PYAAudioMixer.mm
├── project.yml
└── setup_xcode_project.sh
├── libs
├── ffmpeg
│ └── include
│ │ ├── libavcodec
│ │ ├── avcodec.h
│ │ ├── avdct.h
│ │ ├── avfft.h
│ │ ├── d3d11va.h
│ │ ├── dirac.h
│ │ ├── dv_profile.h
│ │ ├── dxva2.h
│ │ ├── jni.h
│ │ ├── mediacodec.h
│ │ ├── qsv.h
│ │ ├── vaapi.h
│ │ ├── vda.h
│ │ ├── vdpau.h
│ │ ├── version.h
│ │ ├── videotoolbox.h
│ │ ├── vorbis_parser.h
│ │ └── xvmc.h
│ │ ├── libavdevice
│ │ ├── avdevice.h
│ │ └── version.h
│ │ ├── libavfilter
│ │ ├── avfilter.h
│ │ ├── avfiltergraph.h
│ │ ├── buffersink.h
│ │ ├── buffersrc.h
│ │ └── version.h
│ │ ├── libavformat
│ │ ├── avformat.h
│ │ ├── avio.h
│ │ └── version.h
│ │ ├── libavutil
│ │ ├── adler32.h
│ │ ├── aes.h
│ │ ├── aes_ctr.h
│ │ ├── attributes.h
│ │ ├── audio_fifo.h
│ │ ├── avassert.h
│ │ ├── avconfig.h
│ │ ├── avstring.h
│ │ ├── avutil.h
│ │ ├── base64.h
│ │ ├── blowfish.h
│ │ ├── bprint.h
│ │ ├── bswap.h
│ │ ├── buffer.h
│ │ ├── camellia.h
│ │ ├── cast5.h
│ │ ├── channel_layout.h
│ │ ├── common.h
│ │ ├── cpu.h
│ │ ├── crc.h
│ │ ├── des.h
│ │ ├── dict.h
│ │ ├── display.h
│ │ ├── downmix_info.h
│ │ ├── error.h
│ │ ├── eval.h
│ │ ├── ffversion.h
│ │ ├── fifo.h
│ │ ├── file.h
│ │ ├── frame.h
│ │ ├── hash.h
│ │ ├── hmac.h
│ │ ├── hwcontext.h
│ │ ├── hwcontext_cuda.h
│ │ ├── hwcontext_d3d11va.h
│ │ ├── hwcontext_drm.h
│ │ ├── hwcontext_dxva2.h
│ │ ├── hwcontext_qsv.h
│ │ ├── hwcontext_vaapi.h
│ │ ├── hwcontext_vdpau.h
│ │ ├── hwcontext_videotoolbox.h
│ │ ├── imgutils.h
│ │ ├── intfloat.h
│ │ ├── intreadwrite.h
│ │ ├── lfg.h
│ │ ├── log.h
│ │ ├── lzo.h
│ │ ├── macros.h
│ │ ├── mastering_display_metadata.h
│ │ ├── mathematics.h
│ │ ├── md5.h
│ │ ├── mem.h
│ │ ├── motion_vector.h
│ │ ├── murmur3.h
│ │ ├── opt.h
│ │ ├── parseutils.h
│ │ ├── pixdesc.h
│ │ ├── pixelutils.h
│ │ ├── pixfmt.h
│ │ ├── random_seed.h
│ │ ├── rational.h
│ │ ├── rc4.h
│ │ ├── replaygain.h
│ │ ├── ripemd.h
│ │ ├── samplefmt.h
│ │ ├── sha.h
│ │ ├── sha512.h
│ │ ├── spherical.h
│ │ ├── stereo3d.h
│ │ ├── tea.h
│ │ ├── threadmessage.h
│ │ ├── time.h
│ │ ├── timecode.h
│ │ ├── timestamp.h
│ │ ├── tree.h
│ │ ├── twofish.h
│ │ ├── version.h
│ │ └── xtea.h
│ │ ├── libswresample
│ │ ├── swresample.h
│ │ └── version.h
│ │ └── libswscale
│ │ ├── swscale.h
│ │ └── version.h
└── webrtc
│ └── include
│ ├── api
│ ├── array_view.h
│ ├── audio
│ │ ├── audio_frame.h
│ │ ├── audio_mixer.h
│ │ ├── echo_canceller3_config.h
│ │ ├── echo_canceller3_factory.h
│ │ └── echo_control.h
│ ├── audio_codecs
│ │ ├── L16
│ │ │ ├── audio_decoder_L16.h
│ │ │ └── audio_encoder_L16.h
│ │ ├── audio_codec_pair_id.h
│ │ ├── audio_decoder.h
│ │ ├── audio_decoder_factory.h
│ │ ├── audio_decoder_factory_template.h
│ │ ├── audio_encoder.h
│ │ ├── audio_encoder_factory.h
│ │ ├── audio_encoder_factory_template.h
│ │ ├── audio_format.h
│ │ ├── builtin_audio_decoder_factory.h
│ │ ├── builtin_audio_encoder_factory.h
│ │ ├── g711
│ │ │ ├── audio_decoder_g711.h
│ │ │ └── audio_encoder_g711.h
│ │ ├── g722
│ │ │ ├── audio_decoder_g722.h
│ │ │ ├── audio_encoder_g722.h
│ │ │ └── audio_encoder_g722_config.h
│ │ ├── ilbc
│ │ │ ├── audio_decoder_ilbc.h
│ │ │ ├── audio_encoder_ilbc.h
│ │ │ └── audio_encoder_ilbc_config.h
│ │ ├── isac
│ │ │ ├── audio_decoder_isac.h
│ │ │ ├── audio_decoder_isac_fix.h
│ │ │ ├── audio_decoder_isac_float.h
│ │ │ ├── audio_encoder_isac.h
│ │ │ ├── audio_encoder_isac_fix.h
│ │ │ └── audio_encoder_isac_float.h
│ │ └── opus
│ │ │ ├── audio_decoder_opus.h
│ │ │ ├── audio_encoder_opus.h
│ │ │ └── audio_encoder_opus_config.h
│ ├── audio_options.h
│ ├── bitrate_constraints.h
│ ├── call
│ │ ├── audio_sink.h
│ │ ├── callfactoryinterface.h
│ │ └── 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.h
│ │ ├── ortcfactoryinterface.h
│ │ ├── ortcrtpreceiverinterface.h
│ │ ├── ortcrtpsenderinterface.h
│ │ ├── packettransportinterface.h
│ │ ├── rtptransportcontrollerinterface.h
│ │ ├── rtptransportinterface.h
│ │ ├── sessiondescription.h
│ │ ├── 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
│ │ ├── rtcstats.h
│ │ ├── rtcstats_objects.h
│ │ ├── rtcstatscollectorcallback.h
│ │ └── rtcstatsreport.h
│ ├── statstypes.h
│ ├── test
│ │ ├── audioproc_float.h
│ │ ├── create_simulcast_test_fixture.h
│ │ ├── create_video_quality_test_fixture.h
│ │ ├── create_videocodec_test_fixture.h
│ │ ├── fakeconstraints.h
│ │ ├── mock_audio_mixer.h
│ │ ├── mock_rtpreceiver.h
│ │ ├── mock_rtpsender.h
│ │ ├── mock_video_decoder_factory.h
│ │ ├── mock_video_encoder_factory.h
│ │ ├── simulated_network.h
│ │ ├── simulcast_test_fixture.h
│ │ ├── video_quality_test_fixture.h
│ │ ├── videocodec_test_fixture.h
│ │ └── videocodec_test_stats.h
│ ├── transport
│ │ ├── bitrate_settings.h
│ │ ├── network_control.h
│ │ ├── network_types.h
│ │ └── test
│ │ │ ├── mock_network_control.h
│ │ │ └── network_control_tester.h
│ ├── turncustomizer.h
│ ├── umametrics.h
│ ├── units
│ │ ├── data_rate.h
│ │ ├── data_size.h
│ │ ├── time_delta.h
│ │ └── timestamp.h
│ ├── video
│ │ ├── encoded_frame.h
│ │ ├── i010_buffer.h
│ │ ├── i420_buffer.h
│ │ ├── video_bitrate_allocation.h
│ │ ├── video_content_type.h
│ │ ├── video_frame.h
│ │ ├── video_frame_buffer.h
│ │ ├── video_rotation.h
│ │ ├── video_sink_interface.h
│ │ ├── video_source_interface.h
│ │ ├── video_stream_decoder.h
│ │ ├── video_stream_decoder_create.h
│ │ ├── video_stream_encoder_interface.h
│ │ └── video_timing.h
│ ├── video_codecs
│ │ ├── builtin_video_decoder_factory.h
│ │ ├── builtin_video_encoder_factory.h
│ │ ├── sdp_video_format.h
│ │ ├── video_codec.h
│ │ ├── video_decoder.h
│ │ ├── video_decoder_factory.h
│ │ ├── video_decoder_software_fallback_wrapper.h
│ │ ├── video_encoder.h
│ │ ├── video_encoder_config.h
│ │ ├── video_encoder_factory.h
│ │ └── video_encoder_software_fallback_wrapper.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
│ ├── channel_proxy.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
│ ├── 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_shim.h
│ │ ├── allocator_shim_default_dispatch_to_mac_zoned_malloc.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.h
│ │ │ ├── page_allocator_constants.h
│ │ │ ├── page_allocator_internal.h
│ │ │ ├── page_allocator_internals_posix.h
│ │ │ ├── page_allocator_internals_win.h
│ │ │ ├── partition_alloc.h
│ │ │ ├── partition_alloc_constants.h
│ │ │ ├── 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
│ │ └── 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
│ │ ├── build_info.h
│ │ ├── callback_android.h
│ │ ├── child_process_binding_types.h
│ │ ├── content_uri_utils.h
│ │ ├── event_log.h
│ │ ├── java_exception_reporter.h
│ │ ├── java_handler_thread.h
│ │ ├── java_runtime.h
│ │ ├── jni_android.h
│ │ ├── jni_array.h
│ │ ├── jni_generator
│ │ │ ├── jni_generator_helper.h
│ │ │ └── sample_for_tests.h
│ │ ├── jni_int_wrapper.h
│ │ ├── jni_registrar.h
│ │ ├── jni_string.h
│ │ ├── jni_utils.h
│ │ ├── jni_weak_ref.h
│ │ ├── library_loader
│ │ │ ├── anchor_functions.h
│ │ │ ├── library_load_from_apk_status_codes.h
│ │ │ ├── library_loader_hooks.h
│ │ │ └── library_prefetcher.h
│ │ ├── locale_utils.h
│ │ ├── memory_pressure_listener_android.h
│ │ ├── orderfile
│ │ │ └── orderfile_instrumentation.h
│ │ ├── path_utils.h
│ │ ├── scoped_hardware_buffer_handle.h
│ │ ├── scoped_java_ref.h
│ │ ├── sys_utils.h
│ │ ├── throw_uncaught_exception.h
│ │ ├── timezone_utils.h
│ │ └── unguessable_token_android.h
│ ├── at_exit.h
│ ├── atomic_ref_count.h
│ ├── atomic_sequence_num.h
│ ├── atomicops.h
│ ├── atomicops_internals_atomicword_compat.h
│ ├── atomicops_internals_portable.h
│ ├── atomicops_internals_x86_msvc.h
│ ├── auto_reset.h
│ ├── barrier_closure.h
│ ├── base64.h
│ ├── base64url.h
│ ├── base_export.h
│ ├── base_paths.h
│ ├── base_paths_android.h
│ ├── base_paths_fuchsia.h
│ ├── base_paths_mac.h
│ ├── base_paths_posix.h
│ ├── base_paths_win.h
│ ├── base_switches.h
│ ├── big_endian.h
│ ├── bind.h
│ ├── bind_helpers.h
│ ├── bind_internal.h
│ ├── bit_cast.h
│ ├── bits.h
│ ├── build_time.h
│ ├── callback.h
│ ├── callback_forward.h
│ ├── callback_helpers.h
│ ├── callback_internal.h
│ ├── callback_list.h
│ ├── 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
│ │ ├── ring_buffer.h
│ │ ├── small_map.h
│ │ ├── span.h
│ │ ├── stack.h
│ │ ├── stack_container.h
│ │ ├── unique_ptr_adapters.h
│ │ └── vector_buffer.h
│ ├── cpu.h
│ ├── critical_closure.h
│ ├── debug
│ │ ├── activity_analyzer.h
│ │ ├── activity_tracker.h
│ │ ├── 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
│ ├── file_version_info.h
│ ├── file_version_info_mac.h
│ ├── file_version_info_win.h
│ ├── files
│ │ ├── dir_reader_fallback.h
│ │ ├── dir_reader_linux.h
│ │ ├── dir_reader_posix.h
│ │ ├── file.h
│ │ ├── file_descriptor_watcher_posix.h
│ │ ├── file_enumerator.h
│ │ ├── file_path.h
│ │ ├── file_path_watcher.h
│ │ ├── file_path_watcher_fsevents.h
│ │ ├── file_path_watcher_kqueue.h
│ │ ├── file_proxy.h
│ │ ├── file_tracing.h
│ │ ├── file_util.h
│ │ ├── important_file_writer.h
│ │ ├── memory_mapped_file.h
│ │ ├── platform_file.h
│ │ ├── scoped_file.h
│ │ └── scoped_temp_dir.h
│ ├── format_macros.h
│ ├── fuchsia
│ │ ├── async_dispatcher.h
│ │ ├── component_context.h
│ │ ├── default_job.h
│ │ ├── fidl_interface_request.h
│ │ ├── file_utils.h
│ │ ├── fuchsia_logging.h
│ │ ├── scoped_service_binding.h
│ │ ├── scoped_zx_handle.h
│ │ └── service_directory.h
│ ├── 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
│ │ ├── char_iterator.h
│ │ ├── character_encoding.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
│ │ ├── device_util.h
│ │ ├── ios_util.h
│ │ ├── ns_error_util.h
│ │ ├── scoped_critical_action.h
│ │ └── weak_nsobject.h
│ ├── json
│ │ ├── json_file_value_serializer.h
│ │ ├── json_parser.h
│ │ ├── json_reader.h
│ │ ├── json_string_value_serializer.h
│ │ ├── json_value_converter.h
│ │ ├── json_writer.h
│ │ └── string_escape.h
│ ├── lazy_instance.h
│ ├── lazy_instance_helpers.h
│ ├── linux_util.h
│ ├── location.h
│ ├── logging.h
│ ├── logging_win.h
│ ├── mac
│ │ ├── authorization_util.h
│ │ ├── availability.h
│ │ ├── bundle_locations.h
│ │ ├── call_with_eh_frame.h
│ │ ├── dispatch_source_mach.h
│ │ ├── foundation_util.h
│ │ ├── launch_services_util.h
│ │ ├── launchd.h
│ │ ├── mac_logging.h
│ │ ├── mac_util.h
│ │ ├── mach_logging.h
│ │ ├── mach_port_broker.h
│ │ ├── mach_port_util.h
│ │ ├── objc_release_properties.h
│ │ ├── os_crash_dumps.h
│ │ ├── scoped_aedesc.h
│ │ ├── scoped_authorizationref.h
│ │ ├── scoped_block.h
│ │ ├── scoped_cffiledescriptorref.h
│ │ ├── scoped_cftyperef.h
│ │ ├── scoped_dispatch_object.h
│ │ ├── scoped_ionotificationportref.h
│ │ ├── scoped_ioobject.h
│ │ ├── scoped_ioplugininterface.h
│ │ ├── scoped_launch_data.h
│ │ ├── scoped_mach_port.h
│ │ ├── scoped_mach_vm.h
│ │ ├── scoped_nsautorelease_pool.h
│ │ ├── scoped_nsobject.h
│ │ ├── scoped_objc_class_swizzler.h
│ │ ├── scoped_sending_event.h
│ │ ├── scoped_typeref.h
│ │ └── sdk_forward_declarations.h
│ ├── macros.h
│ ├── md5.h
│ ├── memory
│ │ ├── aligned_memory.h
│ │ ├── discardable_memory.h
│ │ ├── discardable_memory_allocator.h
│ │ ├── discardable_shared_memory.h
│ │ ├── free_deleter.h
│ │ ├── linked_ptr.h
│ │ ├── memory_coordinator_client.h
│ │ ├── memory_coordinator_client_registry.h
│ │ ├── memory_coordinator_proxy.h
│ │ ├── memory_pressure_listener.h
│ │ ├── memory_pressure_monitor.h
│ │ ├── memory_pressure_monitor_chromeos.h
│ │ ├── memory_pressure_monitor_mac.h
│ │ ├── memory_pressure_monitor_win.h
│ │ ├── platform_shared_memory_region.h
│ │ ├── protected_memory.h
│ │ ├── protected_memory_cfi.h
│ │ ├── ptr_util.h
│ │ ├── raw_scoped_refptr_mismatch_checker.h
│ │ ├── read_only_shared_memory_region.h
│ │ ├── ref_counted.h
│ │ ├── ref_counted_delete_on_sequence.h
│ │ ├── ref_counted_memory.h
│ │ ├── scoped_policy.h
│ │ ├── scoped_refptr.h
│ │ ├── shared_memory.h
│ │ ├── shared_memory_handle.h
│ │ ├── shared_memory_helper.h
│ │ ├── shared_memory_mapping.h
│ │ ├── shared_memory_tracker.h
│ │ ├── singleton.h
│ │ ├── unsafe_shared_memory_region.h
│ │ ├── weak_ptr.h
│ │ └── writable_shared_memory_region.h
│ ├── message_loop
│ │ ├── incoming_task_queue.h
│ │ ├── message_loop.h
│ │ ├── message_loop_current.h
│ │ ├── message_loop_task_runner.h
│ │ ├── message_pump.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_io_ios.h
│ │ ├── message_pump_libevent.h
│ │ ├── message_pump_mac.h
│ │ ├── message_pump_win.h
│ │ ├── timer_slack.h
│ │ └── watchable_io_message_pump_posix.h
│ ├── metrics
│ │ ├── bucket_ranges.h
│ │ ├── dummy_histogram.h
│ │ ├── field_trial.h
│ │ ├── field_trial_param_associator.h
│ │ ├── field_trial_params.h
│ │ ├── histogram.h
│ │ ├── histogram_base.h
│ │ ├── histogram_delta_serialization.h
│ │ ├── histogram_flattener.h
│ │ ├── histogram_functions.h
│ │ ├── histogram_macros.h
│ │ ├── histogram_macros_internal.h
│ │ ├── histogram_macros_local.h
│ │ ├── histogram_samples.h
│ │ ├── histogram_snapshot_manager.h
│ │ ├── metrics_hashes.h
│ │ ├── persistent_histogram_allocator.h
│ │ ├── persistent_histogram_storage.h
│ │ ├── persistent_memory_allocator.h
│ │ ├── persistent_sample_map.h
│ │ ├── record_histogram_checker.h
│ │ ├── sample_map.h
│ │ ├── sample_vector.h
│ │ ├── single_sample_metrics.h
│ │ ├── sparse_histogram.h
│ │ ├── statistics_recorder.h
│ │ ├── user_metrics.h
│ │ └── user_metrics_action.h
│ ├── native_library.h
│ ├── 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
│ │ ├── safe_conversions.h
│ │ ├── safe_conversions_arm_impl.h
│ │ ├── safe_conversions_impl.h
│ │ ├── safe_math.h
│ │ ├── safe_math_arm_impl.h
│ │ ├── safe_math_clang_gcc_impl.h
│ │ └── safe_math_shared_impl.h
│ ├── observer_list.h
│ ├── observer_list_threadsafe.h
│ ├── optional.h
│ ├── 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
│ │ └── unix_domain_socket.h
│ ├── post_task_and_reply_with_result_internal.h
│ ├── power_monitor
│ │ ├── power_monitor.h
│ │ ├── power_monitor_device_source.h
│ │ ├── power_monitor_source.h
│ │ └── power_observer.h
│ ├── process
│ │ ├── internal_aix.h
│ │ ├── internal_linux.h
│ │ ├── kill.h
│ │ ├── launch.h
│ │ ├── memory.h
│ │ ├── memory_unittest_mac.h
│ │ ├── port_provider_mac.h
│ │ ├── process.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_generic.h
│ ├── scoped_native_library.h
│ ├── scoped_observer.h
│ ├── sequence_checker.h
│ ├── sequence_checker_impl.h
│ ├── sequence_token.h
│ ├── sequenced_task_runner.h
│ ├── sequenced_task_runner_helpers.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
│ │ ├── string_number_conversions.h
│ │ ├── string_piece.h
│ │ ├── string_piece_forward.h
│ │ ├── string_split.h
│ │ ├── string_tokenizer.h
│ │ ├── string_util.h
│ │ ├── string_util_posix.h
│ │ ├── string_util_win.h
│ │ ├── stringize_macros.h
│ │ ├── stringprintf.h
│ │ ├── sys_string_conversions.h
│ │ ├── utf_offset_string_conversions.h
│ │ ├── utf_string_conversion_utils.h
│ │ └── utf_string_conversions.h
│ ├── supports_user_data.h
│ ├── sync_socket.h
│ ├── synchronization
│ │ ├── atomic_flag.h
│ │ ├── cancellation_flag.h
│ │ ├── condition_variable.h
│ │ ├── lock.h
│ │ ├── lock_impl.h
│ │ ├── spin_wait.h
│ │ ├── waitable_event.h
│ │ └── waitable_event_watcher.h
│ ├── sys_byteorder.h
│ ├── sys_info.h
│ ├── sys_info_internal.h
│ ├── syslog_logging.h
│ ├── system_monitor
│ │ └── system_monitor.h
│ ├── task
│ │ ├── cancelable_task_tracker.h
│ │ └── sequence_manager
│ │ │ ├── enqueue_order.h
│ │ │ ├── intrusive_heap.h
│ │ │ ├── lazily_deallocated_deque.h
│ │ │ ├── lazy_now.h
│ │ │ ├── moveable_auto_lock.h
│ │ │ ├── sequence_manager.h
│ │ │ ├── sequenced_task_source.h
│ │ │ ├── task_queue.h
│ │ │ ├── task_queue_impl.h
│ │ │ ├── task_time_observer.h
│ │ │ ├── thread_controller.h
│ │ │ └── time_domain.h
│ ├── task_runner.h
│ ├── 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.h
│ │ ├── sequence_sort_key.h
│ │ ├── service_thread.h
│ │ ├── single_thread_task_runner_thread_mode.h
│ │ ├── task.h
│ │ ├── task_scheduler.h
│ │ ├── task_scheduler_impl.h
│ │ ├── task_tracker.h
│ │ ├── task_tracker_posix.h
│ │ ├── task_traits.h
│ │ ├── task_traits_details.h
│ │ ├── test_task_factory.h
│ │ ├── test_utils.h
│ │ └── tracked_ref.h
│ ├── template_util.h
│ ├── test
│ │ ├── android
│ │ │ ├── java_handler_thread_helpers.h
│ │ │ └── url_utils.h
│ │ ├── bind_test_util.h
│ │ ├── copy_only_int.h
│ │ ├── fontconfig_util_linux.h
│ │ ├── fuzzed_data_provider.h
│ │ ├── gtest_util.h
│ │ ├── gtest_xml_unittest_result_printer.h
│ │ ├── gtest_xml_util.h
│ │ ├── icu_test_util.h
│ │ ├── ios
│ │ │ └── wait_util.h
│ │ ├── 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
│ │ ├── metrics
│ │ │ ├── histogram_enum_reader.h
│ │ │ ├── histogram_tester.h
│ │ │ └── user_action_tester.h
│ │ ├── mock_callback.h
│ │ ├── mock_chrome_application_mac.h
│ │ ├── 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_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_switches.h
│ │ ├── test_timeouts.h
│ │ ├── test_ui_thread_android.h
│ │ ├── thread_test_helper.h
│ │ ├── trace_event_analyzer.h
│ │ ├── trace_to_file.h
│ │ └── values_test_util.h
│ ├── third_party
│ │ ├── dmg_fp
│ │ │ └── dmg_fp.h
│ │ ├── dynamic_annotations
│ │ │ └── dynamic_annotations.h
│ │ ├── icu
│ │ │ └── icu_utf.h
│ │ ├── libevent
│ │ │ ├── aix
│ │ │ │ ├── config.h
│ │ │ │ └── event-config.h
│ │ │ ├── android
│ │ │ │ ├── config.h
│ │ │ │ └── event-config.h
│ │ │ ├── compat
│ │ │ │ └── sys
│ │ │ │ │ ├── _libevent_time.h
│ │ │ │ │ └── queue.h
│ │ │ ├── evdns.h
│ │ │ ├── event-config.h
│ │ │ ├── event-internal.h
│ │ │ ├── event.h
│ │ │ ├── evhttp.h
│ │ │ ├── evrpc-internal.h
│ │ │ ├── evrpc.h
│ │ │ ├── evsignal.h
│ │ │ ├── evutil.h
│ │ │ ├── freebsd
│ │ │ │ ├── config.h
│ │ │ │ └── event-config.h
│ │ │ ├── http-internal.h
│ │ │ ├── linux
│ │ │ │ ├── config.h
│ │ │ │ └── event-config.h
│ │ │ ├── log.h
│ │ │ ├── mac
│ │ │ │ ├── config.h
│ │ │ │ └── event-config.h
│ │ │ ├── min_heap.h
│ │ │ ├── nacl_nonsfi
│ │ │ │ ├── config.h
│ │ │ │ └── event-config.h
│ │ │ ├── solaris
│ │ │ │ ├── config.h
│ │ │ │ └── event-config.h
│ │ │ ├── strlcpy-internal.h
│ │ │ └── test
│ │ │ │ └── regress.h
│ │ ├── nspr
│ │ │ └── prtime.h
│ │ ├── symbolize
│ │ │ ├── config.h
│ │ │ ├── demangle.h
│ │ │ ├── glog
│ │ │ │ ├── logging.h
│ │ │ │ └── raw_logging.h
│ │ │ ├── symbolize.h
│ │ │ └── utilities.h
│ │ ├── valgrind
│ │ │ ├── memcheck.h
│ │ │ └── valgrind.h
│ │ ├── xdg_mime
│ │ │ ├── xdgmime.h
│ │ │ ├── xdgmimealias.h
│ │ │ ├── xdgmimecache.h
│ │ │ ├── xdgmimeglob.h
│ │ │ ├── xdgmimeicon.h
│ │ │ ├── xdgmimeint.h
│ │ │ ├── xdgmimemagic.h
│ │ │ └── xdgmimeparent.h
│ │ └── xdg_user_dirs
│ │ │ └── xdg_user_dir_lookup.h
│ ├── thread_annotations.h
│ ├── threading
│ │ ├── platform_thread.h
│ │ ├── platform_thread_internal_posix.h
│ │ ├── post_task_and_reply_impl.h
│ │ ├── scoped_blocking_call.h
│ │ ├── sequence_local_storage_map.h
│ │ ├── sequence_local_storage_slot.h
│ │ ├── sequenced_task_runner_handle.h
│ │ ├── simple_thread.h
│ │ ├── thread.h
│ │ ├── thread_checker.h
│ │ ├── thread_checker_impl.h
│ │ ├── thread_collision_warner.h
│ │ ├── thread_id_name_manager.h
│ │ ├── thread_local.h
│ │ ├── thread_local_storage.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_override.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
│ │ │ └── trace_event_common.h
│ │ ├── event_name_filter.h
│ │ ├── heap_profiler.h
│ │ ├── heap_profiler_allocation_context.h
│ │ ├── heap_profiler_allocation_context_tracker.h
│ │ ├── heap_profiler_event_filter.h
│ │ ├── java_heap_dump_provider_android.h
│ │ ├── malloc_dump_provider.h
│ │ ├── memory_allocator_dump.h
│ │ ├── memory_allocator_dump_guid.h
│ │ ├── memory_dump_manager.h
│ │ ├── memory_dump_manager_test_utils.h
│ │ ├── memory_dump_provider.h
│ │ ├── memory_dump_provider_info.h
│ │ ├── memory_dump_request_args.h
│ │ ├── memory_dump_scheduler.h
│ │ ├── memory_infra_background_whitelist.h
│ │ ├── memory_usage_estimator.h
│ │ ├── process_memory_dump.h
│ │ ├── trace_buffer.h
│ │ ├── trace_category.h
│ │ ├── trace_config.h
│ │ ├── trace_config_category_filter.h
│ │ ├── trace_config_memory_test_util.h
│ │ ├── trace_event.h
│ │ ├── trace_event_argument.h
│ │ ├── trace_event_etw_export_win.h
│ │ ├── trace_event_filter.h
│ │ ├── trace_event_filter_test_utils.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_conversions.h
│ ├── value_iterators.h
│ ├── values.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
│ │ ├── iat_patch_function.h
│ │ ├── iunknown_impl.h
│ │ ├── message_window.h
│ │ ├── object_watcher.h
│ │ ├── patch_util.h
│ │ ├── pe_image.h
│ │ ├── process_startup_helper.h
│ │ ├── reference.h
│ │ ├── registry.h
│ │ ├── resource_util.h
│ │ ├── scoped_bstr.h
│ │ ├── scoped_co_mem.h
│ │ ├── scoped_com_initializer.h
│ │ ├── scoped_gdi_object.h
│ │ ├── scoped_handle.h
│ │ ├── scoped_handle_verifier.h
│ │ ├── scoped_hdc.h
│ │ ├── scoped_hglobal.h
│ │ ├── scoped_hstring.h
│ │ ├── scoped_process_information.h
│ │ ├── scoped_propvariant.h
│ │ ├── scoped_select_object.h
│ │ ├── scoped_variant.h
│ │ ├── scoped_windows_thread_environment.h
│ │ ├── scoped_winrt_initializer.h
│ │ ├── shortcut.h
│ │ ├── startup_information.h
│ │ ├── typed_event_handler.h
│ │ ├── vector.h
│ │ ├── wait_chain.h
│ │ ├── win_client_metrics.h
│ │ ├── win_util.h
│ │ ├── windows_full.h
│ │ ├── windows_types.h
│ │ ├── windows_version.h
│ │ ├── winrt_storage_util.h
│ │ └── wrapped_window_proc.h
│ ├── call
│ ├── audio_receive_stream.h
│ ├── audio_send_stream.h
│ ├── audio_state.h
│ ├── bitrate_allocator.h
│ ├── call.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_stream_receiver_controller_interface.h
│ ├── rtp_transport_controller_send.h
│ ├── rtp_transport_controller_send_interface.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
│ ├── video_receive_stream.h
│ └── video_send_stream.h
│ ├── common_audio
│ ├── audio_converter.h
│ ├── audio_ring_buffer.h
│ ├── blocker.h
│ ├── channel_buffer.h
│ ├── fft4g.h
│ ├── fir_filter.h
│ ├── fir_filter_c.h
│ ├── fir_filter_factory.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.h
│ ├── signal_processing
│ │ ├── complex_fft_tables.h
│ │ ├── dot_product_with_scale.h
│ │ ├── include
│ │ │ ├── real_fft.h
│ │ │ ├── signal_processing_library.h
│ │ │ ├── spl_inl.h
│ │ │ ├── spl_inl_armv7.h
│ │ │ └── spl_inl_mips.h
│ │ └── resample_by_2_internal.h
│ ├── smoothing_filter.h
│ ├── sparse_fir_filter.h
│ ├── vad
│ │ ├── include
│ │ │ ├── vad.h
│ │ │ └── webrtc_vad.h
│ │ ├── mock
│ │ │ └── mock_vad.h
│ │ ├── vad_core.h
│ │ ├── vad_filterbank.h
│ │ ├── vad_gmm.h
│ │ ├── vad_sp.h
│ │ └── vad_unittest.h
│ ├── 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.h
│ │ └── video_frame_buffer.h
│ ├── libyuv
│ │ └── include
│ │ │ └── webrtc_libyuv.h
│ └── video_render_frames.h
│ ├── logging
│ └── rtc_event_log
│ │ ├── encoder
│ │ ├── rtc_event_log_encoder.h
│ │ └── rtc_event_log_encoder_legacy.h
│ │ ├── events
│ │ ├── rtc_event.h
│ │ ├── 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_ice_candidate_pair.h
│ │ ├── rtc_event_ice_candidate_pair_config.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
│ │ ├── fake_rtc_event_log.h
│ │ ├── fake_rtc_event_log_factory.h
│ │ ├── icelogger.h
│ │ ├── mock
│ │ └── mock_rtc_event_log.h
│ │ ├── output
│ │ └── rtc_event_log_output_file.h
│ │ ├── rtc_event_log.h
│ │ ├── rtc_event_log_factory.h
│ │ ├── rtc_event_log_factory_interface.h
│ │ ├── rtc_event_log_parser.h
│ │ ├── rtc_event_log_parser_new.h
│ │ ├── 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
│ │ ├── videocapturer.h
│ │ ├── videocapturerfactory.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.h
│ │ ├── simulcast_encoder_adapter.h
│ │ ├── vp8_encoder_simulcast_proxy.h
│ │ ├── webrtcmediaengine.h
│ │ ├── webrtcvideocapturer.h
│ │ ├── webrtcvideocapturerfactory.h
│ │ ├── webrtcvideodecoderfactory.h
│ │ ├── webrtcvideoencoderfactory.h
│ │ ├── webrtcvideoengine.h
│ │ └── webrtcvoiceengine.h
│ └── sctp
│ │ ├── sctptransport.h
│ │ └── sctptransportinternal.h
│ ├── modules
│ ├── audio_coding
│ │ ├── acm2
│ │ │ ├── acm_codec_database.h
│ │ │ ├── acm_receive_test.h
│ │ │ ├── acm_receiver.h
│ │ │ ├── acm_resampler.h
│ │ │ ├── acm_send_test.h
│ │ │ ├── call_statistics.h
│ │ │ ├── codec_manager.h
│ │ │ └── rent_a_codec.h
│ │ ├── audio_network_adaptor
│ │ │ ├── audio_network_adaptor_impl.h
│ │ │ ├── bitrate_controller.h
│ │ │ ├── channel_controller.h
│ │ │ ├── controller.h
│ │ │ ├── controller_manager.h
│ │ │ ├── debug_dump_writer.h
│ │ │ ├── dtx_controller.h
│ │ │ ├── event_log_writer.h
│ │ │ ├── fec_controller_plr_based.h
│ │ │ ├── fec_controller_rplr_based.h
│ │ │ ├── frame_length_controller.h
│ │ │ ├── include
│ │ │ │ ├── audio_network_adaptor.h
│ │ │ │ └── audio_network_adaptor_config.h
│ │ │ ├── mock
│ │ │ │ ├── mock_audio_network_adaptor.h
│ │ │ │ ├── mock_controller.h
│ │ │ │ ├── mock_controller_manager.h
│ │ │ │ └── mock_debug_dump_writer.h
│ │ │ └── util
│ │ │ │ └── threshold_curve.h
│ │ ├── codecs
│ │ │ ├── audio_decoder.h
│ │ │ ├── audio_encoder.h
│ │ │ ├── audio_format_conversion.h
│ │ │ ├── cng
│ │ │ │ ├── audio_encoder_cng.h
│ │ │ │ └── webrtc_cng.h
│ │ │ ├── g711
│ │ │ │ ├── audio_decoder_pcm.h
│ │ │ │ ├── audio_encoder_pcm.h
│ │ │ │ ├── g711.h
│ │ │ │ └── g711_interface.h
│ │ │ ├── g722
│ │ │ │ ├── audio_decoder_g722.h
│ │ │ │ ├── audio_encoder_g722.h
│ │ │ │ ├── g722_enc_dec.h
│ │ │ │ └── g722_interface.h
│ │ │ ├── ilbc
│ │ │ │ ├── abs_quant.h
│ │ │ │ ├── abs_quant_loop.h
│ │ │ │ ├── audio_decoder_ilbc.h
│ │ │ │ ├── audio_encoder_ilbc.h
│ │ │ │ ├── augmented_cb_corr.h
│ │ │ │ ├── bw_expand.h
│ │ │ │ ├── cb_construct.h
│ │ │ │ ├── cb_mem_energy.h
│ │ │ │ ├── cb_mem_energy_augmentation.h
│ │ │ │ ├── cb_mem_energy_calc.h
│ │ │ │ ├── cb_search.h
│ │ │ │ ├── cb_search_core.h
│ │ │ │ ├── cb_update_best_index.h
│ │ │ │ ├── chebyshev.h
│ │ │ │ ├── comp_corr.h
│ │ │ │ ├── constants.h
│ │ │ │ ├── create_augmented_vec.h
│ │ │ │ ├── decode.h
│ │ │ │ ├── decode_residual.h
│ │ │ │ ├── decoder_interpolate_lsf.h
│ │ │ │ ├── defines.h
│ │ │ │ ├── do_plc.h
│ │ │ │ ├── encode.h
│ │ │ │ ├── energy_inverse.h
│ │ │ │ ├── enh_upsample.h
│ │ │ │ ├── enhancer.h
│ │ │ │ ├── enhancer_interface.h
│ │ │ │ ├── filtered_cb_vecs.h
│ │ │ │ ├── frame_classify.h
│ │ │ │ ├── gain_dequant.h
│ │ │ │ ├── gain_quant.h
│ │ │ │ ├── get_cd_vec.h
│ │ │ │ ├── get_lsp_poly.h
│ │ │ │ ├── get_sync_seq.h
│ │ │ │ ├── hp_input.h
│ │ │ │ ├── hp_output.h
│ │ │ │ ├── ilbc.h
│ │ │ │ ├── index_conv_dec.h
│ │ │ │ ├── index_conv_enc.h
│ │ │ │ ├── init_decode.h
│ │ │ │ ├── init_encode.h
│ │ │ │ ├── interpolate.h
│ │ │ │ ├── interpolate_samples.h
│ │ │ │ ├── lpc_encode.h
│ │ │ │ ├── lsf_check.h
│ │ │ │ ├── lsf_interpolate_to_poly_dec.h
│ │ │ │ ├── lsf_interpolate_to_poly_enc.h
│ │ │ │ ├── lsf_to_lsp.h
│ │ │ │ ├── lsf_to_poly.h
│ │ │ │ ├── lsp_to_lsf.h
│ │ │ │ ├── my_corr.h
│ │ │ │ ├── nearest_neighbor.h
│ │ │ │ ├── pack_bits.h
│ │ │ │ ├── poly_to_lsf.h
│ │ │ │ ├── poly_to_lsp.h
│ │ │ │ ├── refiner.h
│ │ │ │ ├── simple_interpolate_lsf.h
│ │ │ │ ├── simple_lpc_analysis.h
│ │ │ │ ├── simple_lsf_dequant.h
│ │ │ │ ├── simple_lsf_quant.h
│ │ │ │ ├── smooth.h
│ │ │ │ ├── smooth_out_data.h
│ │ │ │ ├── sort_sq.h
│ │ │ │ ├── split_vq.h
│ │ │ │ ├── state_construct.h
│ │ │ │ ├── state_search.h
│ │ │ │ ├── swap_bytes.h
│ │ │ │ ├── unpack_bits.h
│ │ │ │ ├── vq3.h
│ │ │ │ ├── vq4.h
│ │ │ │ ├── window32_w32.h
│ │ │ │ └── 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
│ │ │ │ ├── fix
│ │ │ │ │ ├── include
│ │ │ │ │ │ ├── audio_decoder_isacfix.h
│ │ │ │ │ │ ├── audio_encoder_isacfix.h
│ │ │ │ │ │ └── isacfix.h
│ │ │ │ │ └── source
│ │ │ │ │ │ ├── arith_routins.h
│ │ │ │ │ │ ├── bandwidth_estimator.h
│ │ │ │ │ │ ├── codec.h
│ │ │ │ │ │ ├── entropy_coding.h
│ │ │ │ │ │ ├── fft.h
│ │ │ │ │ │ ├── filterbank_internal.h
│ │ │ │ │ │ ├── filterbank_tables.h
│ │ │ │ │ │ ├── isac_fix_type.h
│ │ │ │ │ │ ├── lpc_masking_model.h
│ │ │ │ │ │ ├── lpc_tables.h
│ │ │ │ │ │ ├── pitch_estimator.h
│ │ │ │ │ │ ├── pitch_gain_tables.h
│ │ │ │ │ │ ├── pitch_lag_tables.h
│ │ │ │ │ │ ├── settings.h
│ │ │ │ │ │ ├── spectrum_ar_model_tables.h
│ │ │ │ │ │ └── structs.h
│ │ │ │ ├── locked_bandwidth_info.h
│ │ │ │ └── main
│ │ │ │ │ ├── include
│ │ │ │ │ ├── audio_decoder_isac.h
│ │ │ │ │ ├── audio_encoder_isac.h
│ │ │ │ │ └── isac.h
│ │ │ │ │ ├── source
│ │ │ │ │ ├── arith_routines.h
│ │ │ │ │ ├── bandwidth_estimator.h
│ │ │ │ │ ├── codec.h
│ │ │ │ │ ├── crc.h
│ │ │ │ │ ├── encode_lpc_swb.h
│ │ │ │ │ ├── entropy_coding.h
│ │ │ │ │ ├── fft.h
│ │ │ │ │ ├── filter_functions.h
│ │ │ │ │ ├── isac_float_type.h
│ │ │ │ │ ├── isac_vad.h
│ │ │ │ │ ├── lpc_analysis.h
│ │ │ │ │ ├── lpc_gain_swb_tables.h
│ │ │ │ │ ├── lpc_shape_swb12_tables.h
│ │ │ │ │ ├── lpc_shape_swb16_tables.h
│ │ │ │ │ ├── lpc_tables.h
│ │ │ │ │ ├── os_specific_inline.h
│ │ │ │ │ ├── pitch_estimator.h
│ │ │ │ │ ├── pitch_filter.h
│ │ │ │ │ ├── pitch_gain_tables.h
│ │ │ │ │ ├── pitch_lag_tables.h
│ │ │ │ │ ├── settings.h
│ │ │ │ │ ├── spectrum_ar_model_tables.h
│ │ │ │ │ └── structs.h
│ │ │ │ │ └── util
│ │ │ │ │ └── utility.h
│ │ │ ├── legacy_encoded_audio_frame.h
│ │ │ ├── opus
│ │ │ │ ├── audio_decoder_opus.h
│ │ │ │ ├── audio_encoder_opus.h
│ │ │ │ ├── opus_inst.h
│ │ │ │ └── opus_interface.h
│ │ │ ├── pcm16b
│ │ │ │ ├── audio_decoder_pcm16b.h
│ │ │ │ ├── audio_encoder_pcm16b.h
│ │ │ │ ├── pcm16b.h
│ │ │ │ └── pcm16b_common.h
│ │ │ ├── red
│ │ │ │ └── audio_encoder_copy_red.h
│ │ │ └── tools
│ │ │ │ └── audio_codec_speed_test.h
│ │ ├── include
│ │ │ ├── audio_coding_module.h
│ │ │ └── audio_coding_module_typedefs.h
│ │ ├── neteq
│ │ │ ├── accelerate.h
│ │ │ ├── audio_multi_vector.h
│ │ │ ├── audio_vector.h
│ │ │ ├── background_noise.h
│ │ │ ├── buffer_level_filter.h
│ │ │ ├── comfort_noise.h
│ │ │ ├── cross_correlation.h
│ │ │ ├── decision_logic.h
│ │ │ ├── decision_logic_fax.h
│ │ │ ├── decision_logic_normal.h
│ │ │ ├── decoder_database.h
│ │ │ ├── defines.h
│ │ │ ├── delay_manager.h
│ │ │ ├── delay_peak_detector.h
│ │ │ ├── dsp_helper.h
│ │ │ ├── dtmf_buffer.h
│ │ │ ├── dtmf_tone_generator.h
│ │ │ ├── expand.h
│ │ │ ├── expand_uma_logger.h
│ │ │ ├── include
│ │ │ │ └── neteq.h
│ │ │ ├── merge.h
│ │ │ ├── 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.h
│ │ │ ├── neteq_decoder_enum.h
│ │ │ ├── neteq_impl.h
│ │ │ ├── normal.h
│ │ │ ├── packet.h
│ │ │ ├── packet_buffer.h
│ │ │ ├── post_decode_vad.h
│ │ │ ├── preemptive_expand.h
│ │ │ ├── random_vector.h
│ │ │ ├── red_payload_splitter.h
│ │ │ ├── rtcp.h
│ │ │ ├── statistics_calculator.h
│ │ │ ├── sync_buffer.h
│ │ │ ├── tick_timer.h
│ │ │ ├── time_stretch.h
│ │ │ ├── timestamp_scaler.h
│ │ │ └── tools
│ │ │ │ ├── audio_checksum.h
│ │ │ │ ├── audio_loop.h
│ │ │ │ ├── audio_sink.h
│ │ │ │ ├── constant_pcm_packet_source.h
│ │ │ │ ├── encode_neteq_input.h
│ │ │ │ ├── fake_decode_from_file.h
│ │ │ │ ├── input_audio_file.h
│ │ │ │ ├── neteq_delay_analyzer.h
│ │ │ │ ├── neteq_external_decoder_test.h
│ │ │ │ ├── neteq_input.h
│ │ │ │ ├── neteq_packet_source_input.h
│ │ │ │ ├── neteq_performance_test.h
│ │ │ │ ├── neteq_quality_test.h
│ │ │ │ ├── neteq_replacement_input.h
│ │ │ │ ├── neteq_stats_getter.h
│ │ │ │ ├── neteq_test.h
│ │ │ │ ├── output_audio_file.h
│ │ │ │ ├── output_wav_file.h
│ │ │ │ ├── packet.h
│ │ │ │ ├── packet_source.h
│ │ │ │ ├── resample_input_audio_file.h
│ │ │ │ ├── rtc_event_log_source.h
│ │ │ │ ├── rtp_file_source.h
│ │ │ │ └── rtp_generator.h
│ │ └── test
│ │ │ ├── ACMTest.h
│ │ │ ├── Channel.h
│ │ │ ├── EncodeDecodeTest.h
│ │ │ ├── PCMFile.h
│ │ │ ├── PacketLossTest.h
│ │ │ ├── RTPFile.h
│ │ │ ├── TestAllCodecs.h
│ │ │ ├── TestRedFec.h
│ │ │ ├── TestStereo.h
│ │ │ ├── TestVADDTX.h
│ │ │ ├── TwoWayCommunication.h
│ │ │ ├── iSACTest.h
│ │ │ ├── opus_test.h
│ │ │ └── utility.h
│ ├── audio_device
│ │ ├── android
│ │ │ ├── aaudio_player.h
│ │ │ ├── aaudio_recorder.h
│ │ │ ├── aaudio_wrapper.h
│ │ │ ├── audio_common.h
│ │ │ ├── audio_device_template.h
│ │ │ ├── audio_manager.h
│ │ │ ├── audio_record_jni.h
│ │ │ ├── audio_track_jni.h
│ │ │ ├── build_info.h
│ │ │ ├── ensure_initialized.h
│ │ │ ├── opensles_common.h
│ │ │ ├── opensles_player.h
│ │ │ └── opensles_recorder.h
│ │ ├── audio_device_buffer.h
│ │ ├── audio_device_config.h
│ │ ├── audio_device_generic.h
│ │ ├── audio_device_impl.h
│ │ ├── audio_device_name.h
│ │ ├── dummy
│ │ │ ├── audio_device_dummy.h
│ │ │ ├── file_audio_device.h
│ │ │ └── file_audio_device_factory.h
│ │ ├── fine_audio_buffer.h
│ │ ├── include
│ │ │ ├── audio_device.h
│ │ │ ├── audio_device_data_observer.h
│ │ │ ├── audio_device_default.h
│ │ │ ├── audio_device_defines.h
│ │ │ ├── audio_device_factory.h
│ │ │ ├── fake_audio_device.h
│ │ │ ├── mock_audio_device.h
│ │ │ ├── mock_audio_transport.h
│ │ │ └── test_audio_device.h
│ │ ├── ios
│ │ │ ├── audio_device_ios.h
│ │ │ ├── audio_session_observer.h
│ │ │ ├── objc
│ │ │ │ ├── RTCAudioSession.h
│ │ │ │ ├── RTCAudioSessionConfiguration.h
│ │ │ │ └── RTCAudioSessionDelegateAdapter.h
│ │ │ └── voice_processing_audio_unit.h
│ │ ├── linux
│ │ │ ├── alsasymboltable_linux.h
│ │ │ ├── audio_device_alsa_linux.h
│ │ │ ├── audio_device_pulse_linux.h
│ │ │ ├── audio_mixer_manager_alsa_linux.h
│ │ │ ├── audio_mixer_manager_pulse_linux.h
│ │ │ ├── latebindingsymboltable_linux.h
│ │ │ └── pulseaudiosymboltable_linux.h
│ │ ├── mac
│ │ │ ├── audio_device_mac.h
│ │ │ ├── audio_mixer_manager_mac.h
│ │ │ └── portaudio
│ │ │ │ ├── pa_memorybarrier.h
│ │ │ │ └── pa_ringbuffer.h
│ │ ├── mock_audio_device_buffer.h
│ │ └── win
│ │ │ ├── audio_device_core_win.h
│ │ │ ├── audio_device_module_win.h
│ │ │ ├── core_audio_base_win.h
│ │ │ ├── core_audio_input_win.h
│ │ │ ├── core_audio_output_win.h
│ │ │ └── core_audio_utility_win.h
│ ├── audio_mixer
│ │ ├── audio_frame_manipulator.h
│ │ ├── audio_mixer_impl.h
│ │ ├── default_output_rate_calculator.h
│ │ ├── frame_combiner.h
│ │ ├── gain_change_calculator.h
│ │ ├── output_rate_calculator.h
│ │ └── sine_wave_generator.h
│ ├── audio_processing
│ │ ├── aec
│ │ │ ├── aec_common.h
│ │ │ ├── aec_core.h
│ │ │ ├── aec_core_optimized_methods.h
│ │ │ ├── aec_resampler.h
│ │ │ └── echo_cancellation.h
│ │ ├── aec3
│ │ │ ├── adaptive_fir_filter.h
│ │ │ ├── aec3_common.h
│ │ │ ├── aec3_fft.h
│ │ │ ├── aec_state.h
│ │ │ ├── block_framer.h
│ │ │ ├── block_processor.h
│ │ │ ├── block_processor_metrics.h
│ │ │ ├── cascaded_biquad_filter.h
│ │ │ ├── coherence_gain.h
│ │ │ ├── comfort_noise_generator.h
│ │ │ ├── decimator.h
│ │ │ ├── delay_estimate.h
│ │ │ ├── downsampled_render_buffer.h
│ │ │ ├── echo_audibility.h
│ │ │ ├── echo_canceller3.h
│ │ │ ├── echo_path_delay_estimator.h
│ │ │ ├── echo_path_variability.h
│ │ │ ├── echo_remover.h
│ │ │ ├── echo_remover_metrics.h
│ │ │ ├── erl_estimator.h
│ │ │ ├── erle_estimator.h
│ │ │ ├── fft_buffer.h
│ │ │ ├── fft_data.h
│ │ │ ├── filter_analyzer.h
│ │ │ ├── frame_blocker.h
│ │ │ ├── main_filter_update_gain.h
│ │ │ ├── matched_filter.h
│ │ │ ├── matched_filter_lag_aggregator.h
│ │ │ ├── matrix_buffer.h
│ │ │ ├── mock
│ │ │ │ ├── mock_block_processor.h
│ │ │ │ ├── mock_echo_remover.h
│ │ │ │ ├── mock_render_delay_buffer.h
│ │ │ │ └── mock_render_delay_controller.h
│ │ │ ├── moving_average.h
│ │ │ ├── render_buffer.h
│ │ │ ├── render_delay_buffer.h
│ │ │ ├── render_delay_controller.h
│ │ │ ├── render_delay_controller_metrics.h
│ │ │ ├── render_signal_analyzer.h
│ │ │ ├── residual_echo_estimator.h
│ │ │ ├── reverb_model.h
│ │ │ ├── reverb_model_fallback.h
│ │ │ ├── shadow_filter_update_gain.h
│ │ │ ├── skew_estimator.h
│ │ │ ├── stationarity_estimator.h
│ │ │ ├── subtractor.h
│ │ │ ├── subtractor_output.h
│ │ │ ├── suppression_filter.h
│ │ │ ├── suppression_gain.h
│ │ │ ├── suppression_gain_limiter.h
│ │ │ ├── vector_buffer.h
│ │ │ └── vector_math.h
│ │ ├── aec_dump
│ │ │ ├── aec_dump_factory.h
│ │ │ ├── aec_dump_impl.h
│ │ │ ├── capture_stream_info.h
│ │ │ ├── mock_aec_dump.h
│ │ │ └── write_to_file_task.h
│ │ ├── aecm
│ │ │ ├── aecm_core.h
│ │ │ ├── aecm_defines.h
│ │ │ └── echo_control_mobile.h
│ │ ├── agc
│ │ │ ├── agc.h
│ │ │ ├── agc_manager_direct.h
│ │ │ ├── gain_map_internal.h
│ │ │ ├── legacy
│ │ │ │ ├── analog_agc.h
│ │ │ │ ├── digital_agc.h
│ │ │ │ └── gain_control.h
│ │ │ ├── loudness_histogram.h
│ │ │ ├── mock_agc.h
│ │ │ └── utility.h
│ │ ├── agc2
│ │ │ ├── adaptive_agc.h
│ │ │ ├── adaptive_digital_gain_applier.h
│ │ │ ├── adaptive_mode_level_estimator.h
│ │ │ ├── agc2_common.h
│ │ │ ├── agc2_testing_common.h
│ │ │ ├── biquad_filter.h
│ │ │ ├── compute_interpolated_gain_curve.h
│ │ │ ├── down_sampler.h
│ │ │ ├── fixed_digital_level_estimator.h
│ │ │ ├── fixed_gain_controller.h
│ │ │ ├── gain_applier.h
│ │ │ ├── gain_curve_applier.h
│ │ │ ├── interpolated_gain_curve.h
│ │ │ ├── limiter.h
│ │ │ ├── noise_level_estimator.h
│ │ │ ├── noise_spectrum_estimator.h
│ │ │ ├── rnn_vad
│ │ │ │ ├── common.h
│ │ │ │ ├── features_extraction.h
│ │ │ │ ├── fft_util.h
│ │ │ │ ├── lp_residual.h
│ │ │ │ ├── pitch_info.h
│ │ │ │ ├── pitch_search.h
│ │ │ │ ├── pitch_search_internal.h
│ │ │ │ ├── ring_buffer.h
│ │ │ │ ├── rnn.h
│ │ │ │ ├── sequence_buffer.h
│ │ │ │ ├── spectral_features.h
│ │ │ │ ├── spectral_features_internal.h
│ │ │ │ ├── symmetric_matrix_buffer.h
│ │ │ │ └── test_utils.h
│ │ │ ├── saturation_protector.h
│ │ │ ├── signal_classifier.h
│ │ │ ├── vad_with_level.h
│ │ │ └── vector_float_frame.h
│ │ ├── audio_buffer.h
│ │ ├── audio_generator
│ │ │ └── file_audio_generator.h
│ │ ├── audio_processing_impl.h
│ │ ├── common.h
│ │ ├── echo_cancellation_impl.h
│ │ ├── echo_control_mobile_impl.h
│ │ ├── echo_detector
│ │ │ ├── circular_buffer.h
│ │ │ ├── mean_variance_estimator.h
│ │ │ ├── moving_max.h
│ │ │ └── normalized_covariance_estimator.h
│ │ ├── gain_control_for_experimental_agc.h
│ │ ├── gain_control_impl.h
│ │ ├── gain_controller2.h
│ │ ├── include
│ │ │ ├── aec_dump.h
│ │ │ ├── audio_frame_view.h
│ │ │ ├── audio_generator.h
│ │ │ ├── audio_generator_factory.h
│ │ │ ├── audio_processing.h
│ │ │ ├── audio_processing_statistics.h
│ │ │ ├── config.h
│ │ │ └── mock_audio_processing.h
│ │ ├── intelligibility
│ │ │ ├── intelligibility_enhancer.h
│ │ │ └── intelligibility_utils.h
│ │ ├── level_estimator_impl.h
│ │ ├── logging
│ │ │ └── apm_data_dumper.h
│ │ ├── low_cut_filter.h
│ │ ├── noise_suppression_impl.h
│ │ ├── ns
│ │ │ ├── defines.h
│ │ │ ├── noise_suppression.h
│ │ │ ├── noise_suppression_x.h
│ │ │ ├── ns_core.h
│ │ │ ├── nsx_core.h
│ │ │ ├── nsx_defines.h
│ │ │ └── windows_private.h
│ │ ├── render_queue_item_verifier.h
│ │ ├── residual_echo_detector.h
│ │ ├── rms_level.h
│ │ ├── splitting_filter.h
│ │ ├── test
│ │ │ ├── aec_dump_based_simulator.h
│ │ │ ├── audio_buffer_tools.h
│ │ │ ├── audio_processing_simulator.h
│ │ │ ├── audioproc_float_impl.h
│ │ │ ├── bitexactness_tools.h
│ │ │ ├── conversational_speech
│ │ │ │ ├── config.h
│ │ │ │ ├── mock_wavreader.h
│ │ │ │ ├── mock_wavreader_factory.h
│ │ │ │ ├── multiend_call.h
│ │ │ │ ├── simulator.h
│ │ │ │ ├── timing.h
│ │ │ │ ├── wavreader_abstract_factory.h
│ │ │ │ ├── wavreader_factory.h
│ │ │ │ └── wavreader_interface.h
│ │ │ ├── debug_dump_replayer.h
│ │ │ ├── echo_canceller_test_tools.h
│ │ │ ├── fake_recording_device.h
│ │ │ ├── performance_timer.h
│ │ │ ├── protobuf_utils.h
│ │ │ ├── simulator_buffers.h
│ │ │ ├── test_utils.h
│ │ │ └── wav_based_simulator.h
│ │ ├── three_band_filter_bank.h
│ │ ├── transient
│ │ │ ├── common.h
│ │ │ ├── daubechies_8_wavelet_coeffs.h
│ │ │ ├── dyadic_decimator.h
│ │ │ ├── file_utils.h
│ │ │ ├── moving_moments.h
│ │ │ ├── transient_detector.h
│ │ │ ├── transient_suppressor.h
│ │ │ ├── wpd_node.h
│ │ │ └── wpd_tree.h
│ │ ├── typing_detection.h
│ │ ├── utility
│ │ │ ├── block_mean_calculator.h
│ │ │ ├── delay_estimator.h
│ │ │ ├── delay_estimator_internal.h
│ │ │ ├── delay_estimator_wrapper.h
│ │ │ ├── ooura_fft.h
│ │ │ ├── ooura_fft_tables_common.h
│ │ │ └── ooura_fft_tables_neon_sse2.h
│ │ ├── vad
│ │ │ ├── common.h
│ │ │ ├── gmm.h
│ │ │ ├── noise_gmm_tables.h
│ │ │ ├── pitch_based_vad.h
│ │ │ ├── pitch_internal.h
│ │ │ ├── pole_zero_filter.h
│ │ │ ├── standalone_vad.h
│ │ │ ├── vad_audio_proc.h
│ │ │ ├── vad_audio_proc_internal.h
│ │ │ ├── vad_circular_buffer.h
│ │ │ ├── voice_activity_detector.h
│ │ │ └── voice_gmm_tables.h
│ │ └── voice_detection_impl.h
│ ├── bitrate_controller
│ │ ├── bitrate_controller_impl.h
│ │ ├── include
│ │ │ ├── bitrate_controller.h
│ │ │ └── mock
│ │ │ │ └── mock_bitrate_controller.h
│ │ └── send_side_bandwidth_estimation.h
│ ├── congestion_controller
│ │ ├── bbr
│ │ │ ├── bandwidth_sampler.h
│ │ │ ├── bbr_factory.h
│ │ │ ├── bbr_network_controller.h
│ │ │ ├── data_transfer_tracker.h
│ │ │ ├── loss_rate_filter.h
│ │ │ ├── packet_number_indexed_queue.h
│ │ │ ├── rtt_stats.h
│ │ │ └── windowed_filter.h
│ │ ├── delay_based_bwe.h
│ │ ├── delay_based_bwe_unittest_helper.h
│ │ ├── goog_cc
│ │ │ ├── acknowledged_bitrate_estimator.h
│ │ │ ├── alr_detector.h
│ │ │ ├── bitrate_estimator.h
│ │ │ ├── delay_based_bwe.h
│ │ │ ├── delay_based_bwe_unittest_helper.h
│ │ │ ├── delay_increase_detector_interface.h
│ │ │ ├── goog_cc_network_control.h
│ │ │ ├── include
│ │ │ │ └── goog_cc_factory.h
│ │ │ ├── median_slope_estimator.h
│ │ │ ├── probe_bitrate_estimator.h
│ │ │ ├── probe_controller.h
│ │ │ └── trendline_estimator.h
│ │ ├── 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
│ │ ├── probe_controller.h
│ │ ├── rtp
│ │ │ ├── congestion_controller_unittests_helper.h
│ │ │ ├── include
│ │ │ │ └── send_side_congestion_controller.h
│ │ │ ├── pacer_controller.h
│ │ │ ├── send_time_history.h
│ │ │ └── transport_feedback_adapter.h
│ │ └── transport_feedback_adapter.h
│ ├── desktop_capture
│ │ ├── blank_detector_desktop_capturer_wrapper.h
│ │ ├── capture_result_desktop_capturer_wrapper.h
│ │ ├── cropped_desktop_frame.h
│ │ ├── cropping_window_capturer.h
│ │ ├── desktop_and_cursor_composer.h
│ │ ├── desktop_capture_options.h
│ │ ├── desktop_capture_types.h
│ │ ├── desktop_capturer.h
│ │ ├── desktop_capturer_differ_wrapper.h
│ │ ├── desktop_capturer_wrapper.h
│ │ ├── desktop_frame.h
│ │ ├── desktop_frame_generator.h
│ │ ├── desktop_frame_rotation.h
│ │ ├── desktop_frame_win.h
│ │ ├── desktop_geometry.h
│ │ ├── desktop_region.h
│ │ ├── differ_block.h
│ │ ├── differ_vector_sse2.h
│ │ ├── fake_desktop_capturer.h
│ │ ├── fallback_desktop_capturer_wrapper.h
│ │ ├── mac
│ │ │ ├── desktop_configuration.h
│ │ │ ├── desktop_configuration_monitor.h
│ │ │ ├── desktop_frame_cgimage.h
│ │ │ ├── desktop_frame_iosurface.h
│ │ │ ├── desktop_frame_provider.h
│ │ │ ├── full_screen_chrome_window_detector.h
│ │ │ ├── screen_capturer_mac.h
│ │ │ └── window_list_utils.h
│ │ ├── mock_desktop_capturer_callback.h
│ │ ├── mouse_cursor.h
│ │ ├── mouse_cursor_monitor.h
│ │ ├── resolution_tracker.h
│ │ ├── rgba_color.h
│ │ ├── screen_capture_frame_queue.h
│ │ ├── screen_capturer_helper.h
│ │ ├── screen_drawer.h
│ │ ├── screen_drawer_lock_posix.h
│ │ ├── shared_desktop_frame.h
│ │ ├── shared_memory.h
│ │ ├── test_utils.h
│ │ ├── win
│ │ │ ├── cursor.h
│ │ │ ├── cursor_unittest_resources.h
│ │ │ ├── d3d_device.h
│ │ │ ├── desktop.h
│ │ │ ├── display_configuration_monitor.h
│ │ │ ├── dxgi_adapter_duplicator.h
│ │ │ ├── dxgi_context.h
│ │ │ ├── dxgi_duplicator_controller.h
│ │ │ ├── dxgi_frame.h
│ │ │ ├── dxgi_output_duplicator.h
│ │ │ ├── dxgi_texture.h
│ │ │ ├── dxgi_texture_mapping.h
│ │ │ ├── dxgi_texture_staging.h
│ │ │ ├── scoped_gdi_object.h
│ │ │ ├── scoped_thread_desktop.h
│ │ │ ├── screen_capture_utils.h
│ │ │ ├── screen_capturer_win_directx.h
│ │ │ ├── screen_capturer_win_gdi.h
│ │ │ ├── screen_capturer_win_magnifier.h
│ │ │ └── window_capture_utils.h
│ │ ├── window_finder.h
│ │ ├── window_finder_mac.h
│ │ ├── window_finder_win.h
│ │ ├── window_finder_x11.h
│ │ └── x11
│ │ │ ├── shared_x_display.h
│ │ │ ├── window_list_utils.h
│ │ │ ├── x_atom_cache.h
│ │ │ ├── x_error_trap.h
│ │ │ └── x_server_pixel_buffer.h
│ ├── include
│ │ ├── module.h
│ │ ├── module_common_types.h
│ │ ├── module_common_types_public.h
│ │ └── module_fec_types.h
│ ├── pacing
│ │ ├── bitrate_prober.h
│ │ ├── interval_budget.h
│ │ ├── mock
│ │ │ └── mock_paced_sender.h
│ │ ├── paced_sender.h
│ │ ├── pacer.h
│ │ ├── packet_queue.h
│ │ ├── packet_queue_interface.h
│ │ ├── packet_router.h
│ │ └── round_robin_packet_queue.h
│ ├── remote_bitrate_estimator
│ │ ├── aimd_rate_control.h
│ │ ├── include
│ │ │ ├── bwe_defines.h
│ │ │ └── remote_bitrate_estimator.h
│ │ ├── inter_arrival.h
│ │ ├── overuse_detector.h
│ │ ├── overuse_estimator.h
│ │ ├── remote_bitrate_estimator_abs_send_time.h
│ │ ├── remote_bitrate_estimator_single_stream.h
│ │ ├── remote_bitrate_estimator_unittest_helper.h
│ │ ├── remote_estimator_proxy.h
│ │ ├── test
│ │ │ ├── bbr_paced_sender.h
│ │ │ ├── bwe.h
│ │ │ ├── bwe_test.h
│ │ │ ├── bwe_test_baselinefile.h
│ │ │ ├── bwe_test_fileutils.h
│ │ │ ├── bwe_test_framework.h
│ │ │ ├── bwe_test_logging.h
│ │ │ ├── estimators
│ │ │ │ ├── bbr.h
│ │ │ │ ├── congestion_window.h
│ │ │ │ ├── max_bandwidth_filter.h
│ │ │ │ ├── min_rtt_filter.h
│ │ │ │ ├── nada.h
│ │ │ │ ├── remb.h
│ │ │ │ ├── send_side.h
│ │ │ │ └── tcp.h
│ │ │ ├── metric_recorder.h
│ │ │ ├── packet.h
│ │ │ ├── packet_receiver.h
│ │ │ └── packet_sender.h
│ │ └── tools
│ │ │ └── bwe_rtp.h
│ ├── rtp_rtcp
│ │ ├── 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.h
│ │ │ ├── rtp_rtcp_defines.h
│ │ │ └── ulpfec_receiver.h
│ │ ├── mocks
│ │ │ ├── mock_recovered_packet_receiver.h
│ │ │ ├── mock_rtcp_bandwidth_observer.h
│ │ │ ├── mock_rtcp_rtt_stats.h
│ │ │ └── mock_rtp_rtcp.h
│ │ ├── source
│ │ │ ├── byte_io.h
│ │ │ ├── dtmf_queue.h
│ │ │ ├── fec_private_tables_bursty.h
│ │ │ ├── fec_private_tables_random.h
│ │ │ ├── fec_test_helper.h
│ │ │ ├── flexfec_header_reader_writer.h
│ │ │ ├── forward_error_correction.h
│ │ │ ├── forward_error_correction_internal.h
│ │ │ ├── packet_loss_stats.h
│ │ │ ├── playout_delay_oracle.h
│ │ │ ├── receive_statistics_impl.h
│ │ │ ├── rtcp_nack_stats.h
│ │ │ ├── rtcp_packet.h
│ │ │ ├── rtcp_packet
│ │ │ │ ├── app.h
│ │ │ │ ├── bye.h
│ │ │ │ ├── common_header.h
│ │ │ │ ├── compound_packet.h
│ │ │ │ ├── dlrr.h
│ │ │ │ ├── extended_jitter_report.h
│ │ │ │ ├── extended_reports.h
│ │ │ │ ├── fir.h
│ │ │ │ ├── nack.h
│ │ │ │ ├── pli.h
│ │ │ │ ├── psfb.h
│ │ │ │ ├── rapid_resync_request.h
│ │ │ │ ├── receiver_report.h
│ │ │ │ ├── remb.h
│ │ │ │ ├── report_block.h
│ │ │ │ ├── rrtr.h
│ │ │ │ ├── rtpfb.h
│ │ │ │ ├── sdes.h
│ │ │ │ ├── sender_report.h
│ │ │ │ ├── target_bitrate.h
│ │ │ │ ├── tmmb_item.h
│ │ │ │ ├── tmmbn.h
│ │ │ │ ├── tmmbr.h
│ │ │ │ ├── transport_feedback.h
│ │ │ │ └── voip_metric.h
│ │ │ ├── rtcp_receiver.h
│ │ │ ├── rtcp_sender.h
│ │ │ ├── rtcp_transceiver.h
│ │ │ ├── rtcp_transceiver_config.h
│ │ │ ├── rtcp_transceiver_impl.h
│ │ │ ├── rtp_format.h
│ │ │ ├── rtp_format_h264.h
│ │ │ ├── rtp_format_video_generic.h
│ │ │ ├── rtp_format_vp8.h
│ │ │ ├── rtp_format_vp8_test_helper.h
│ │ │ ├── rtp_format_vp9.h
│ │ │ ├── rtp_generic_frame_descriptor.h
│ │ │ ├── rtp_generic_frame_descriptor_extension.h
│ │ │ ├── rtp_header_extensions.h
│ │ │ ├── rtp_packet.h
│ │ │ ├── rtp_packet_history.h
│ │ │ ├── rtp_packet_received.h
│ │ │ ├── rtp_packet_to_send.h
│ │ │ ├── rtp_receiver_audio.h
│ │ │ ├── rtp_receiver_impl.h
│ │ │ ├── rtp_receiver_strategy.h
│ │ │ ├── rtp_receiver_video.h
│ │ │ ├── rtp_rtcp_config.h
│ │ │ ├── rtp_rtcp_impl.h
│ │ │ ├── rtp_sender.h
│ │ │ ├── rtp_sender_audio.h
│ │ │ ├── rtp_sender_video.h
│ │ │ ├── rtp_utility.h
│ │ │ ├── time_util.h
│ │ │ ├── tmmbr_help.h
│ │ │ ├── ulpfec_generator.h
│ │ │ ├── ulpfec_header_reader_writer.h
│ │ │ └── ulpfec_receiver_impl.h
│ │ └── test
│ │ │ ├── testAPI
│ │ │ └── test_api.h
│ │ │ └── testFec
│ │ │ └── average_residual_loss_xor_codes.h
│ ├── utility
│ │ ├── include
│ │ │ ├── helpers_android.h
│ │ │ ├── jvm_android.h
│ │ │ ├── mock
│ │ │ │ └── mock_process_thread.h
│ │ │ └── process_thread.h
│ │ └── source
│ │ │ └── process_thread_impl.h
│ ├── video_capture
│ │ ├── device_info_impl.h
│ │ ├── linux
│ │ │ ├── device_info_linux.h
│ │ │ └── video_capture_linux.h
│ │ ├── objc
│ │ │ ├── device_info.h
│ │ │ ├── device_info_objc.h
│ │ │ ├── rtc_video_capture_objc.h
│ │ │ └── video_capture.h
│ │ ├── video_capture.h
│ │ ├── video_capture_config.h
│ │ ├── video_capture_defines.h
│ │ ├── video_capture_factory.h
│ │ ├── video_capture_impl.h
│ │ └── windows
│ │ │ ├── device_info_ds.h
│ │ │ ├── device_info_mf.h
│ │ │ ├── help_functions_ds.h
│ │ │ ├── sink_filter_ds.h
│ │ │ ├── video_capture_ds.h
│ │ │ └── video_capture_mf.h
│ ├── video_coding
│ │ ├── codec_timer.h
│ │ ├── codecs
│ │ │ ├── h264
│ │ │ │ ├── h264_decoder_impl.h
│ │ │ │ ├── h264_encoder_impl.h
│ │ │ │ └── include
│ │ │ │ │ ├── h264.h
│ │ │ │ │ └── h264_globals.h
│ │ │ ├── i420
│ │ │ │ └── include
│ │ │ │ │ └── i420.h
│ │ │ ├── interface
│ │ │ │ └── common_constants.h
│ │ │ ├── multiplex
│ │ │ │ └── include
│ │ │ │ │ ├── multiplex_decoder_adapter.h
│ │ │ │ │ ├── multiplex_encoded_image_packer.h
│ │ │ │ │ └── multiplex_encoder_adapter.h
│ │ │ ├── test
│ │ │ │ ├── android_codec_factory_helper.h
│ │ │ │ ├── objc_codec_factory_helper.h
│ │ │ │ ├── video_codec_unittest.h
│ │ │ │ ├── videocodec_test_fixture_impl.h
│ │ │ │ ├── videocodec_test_stats_impl.h
│ │ │ │ └── videoprocessor.h
│ │ │ ├── vp8
│ │ │ │ ├── default_temporal_layers.h
│ │ │ │ ├── include
│ │ │ │ │ ├── vp8.h
│ │ │ │ │ └── vp8_globals.h
│ │ │ │ ├── libvpx_vp8_decoder.h
│ │ │ │ ├── libvpx_vp8_encoder.h
│ │ │ │ ├── screenshare_layers.h
│ │ │ │ └── temporal_layers.h
│ │ │ └── vp9
│ │ │ │ ├── include
│ │ │ │ ├── vp9.h
│ │ │ │ └── vp9_globals.h
│ │ │ │ ├── svc_config.h
│ │ │ │ ├── svc_rate_allocator.h
│ │ │ │ ├── vp9_frame_buffer_pool.h
│ │ │ │ └── vp9_impl.h
│ │ ├── decoder_database.h
│ │ ├── decoding_state.h
│ │ ├── encoded_frame.h
│ │ ├── encoder_database.h
│ │ ├── fec_controller_default.h
│ │ ├── fec_rate_table.h
│ │ ├── frame_buffer.h
│ │ ├── frame_buffer2.h
│ │ ├── frame_object.h
│ │ ├── generic_decoder.h
│ │ ├── generic_encoder.h
│ │ ├── h264_sprop_parameter_sets.h
│ │ ├── h264_sps_pps_tracker.h
│ │ ├── histogram.h
│ │ ├── include
│ │ │ ├── mock
│ │ │ │ ├── mock_vcm_callbacks.h
│ │ │ │ └── mock_video_codec_interface.h
│ │ │ ├── video_codec_initializer.h
│ │ │ ├── video_codec_interface.h
│ │ │ ├── video_coding.h
│ │ │ ├── video_coding_defines.h
│ │ │ └── video_error_codes.h
│ │ ├── inter_frame_delay.h
│ │ ├── internal_defines.h
│ │ ├── jitter_buffer.h
│ │ ├── jitter_buffer_common.h
│ │ ├── jitter_estimator.h
│ │ ├── media_opt_util.h
│ │ ├── media_optimization.h
│ │ ├── nack_fec_tables.h
│ │ ├── nack_module.h
│ │ ├── packet.h
│ │ ├── packet_buffer.h
│ │ ├── qp_parser.h
│ │ ├── receiver.h
│ │ ├── rtp_frame_reference_finder.h
│ │ ├── rtt_filter.h
│ │ ├── session_info.h
│ │ ├── test
│ │ │ ├── stream_generator.h
│ │ │ └── test_util.h
│ │ ├── timestamp_map.h
│ │ ├── timing.h
│ │ ├── utility
│ │ │ ├── default_video_bitrate_allocator.h
│ │ │ ├── frame_dropper.h
│ │ │ ├── ivf_file_writer.h
│ │ │ ├── mock
│ │ │ │ └── mock_frame_dropper.h
│ │ │ ├── moving_average.h
│ │ │ ├── quality_scaler.h
│ │ │ ├── simulcast_rate_allocator.h
│ │ │ ├── simulcast_test_fixture_impl.h
│ │ │ ├── simulcast_utility.h
│ │ │ ├── vp8_header_parser.h
│ │ │ └── vp9_uncompressed_header_parser.h
│ │ └── video_coding_impl.h
│ └── video_processing
│ │ ├── util
│ │ ├── denoiser_filter.h
│ │ ├── denoiser_filter_c.h
│ │ ├── denoiser_filter_neon.h
│ │ ├── denoiser_filter_sse2.h
│ │ ├── noise_estimation.h
│ │ └── skin_detection.h
│ │ └── video_denoiser.h
│ ├── ortc
│ ├── ortcfactory.h
│ ├── ortcrtpreceiveradapter.h
│ ├── ortcrtpsenderadapter.h
│ ├── rtptransportadapter.h
│ ├── rtptransportcontrolleradapter.h
│ └── testrtpparameters.h
│ ├── p2p
│ ├── base
│ │ ├── asyncstuntcpsocket.h
│ │ ├── basicpacketsocketfactory.h
│ │ ├── candidatepairinterface.h
│ │ ├── dtlstransport.h
│ │ ├── dtlstransportinternal.h
│ │ ├── fakecandidatepair.h
│ │ ├── fakedtlstransport.h
│ │ ├── fakeicetransport.h
│ │ ├── fakepackettransport.h
│ │ ├── fakeportallocator.h
│ │ ├── icetransportinternal.h
│ │ ├── mockicetransport.h
│ │ ├── p2pconstants.h
│ │ ├── p2ptransportchannel.h
│ │ ├── packetlossestimator.h
│ │ ├── packetsocketfactory.h
│ │ ├── packettransportinterface.h
│ │ ├── packettransportinternal.h
│ │ ├── port.h
│ │ ├── portallocator.h
│ │ ├── portinterface.h
│ │ ├── pseudotcp.h
│ │ ├── regatheringcontroller.h
│ │ ├── relayport.h
│ │ ├── relayserver.h
│ │ ├── stun.h
│ │ ├── stunport.h
│ │ ├── stunrequest.h
│ │ ├── stunserver.h
│ │ ├── tcpport.h
│ │ ├── testrelayserver.h
│ │ ├── teststunserver.h
│ │ ├── testturncustomizer.h
│ │ ├── testturnserver.h
│ │ ├── transport.h
│ │ ├── transportdescription.h
│ │ ├── transportdescriptionfactory.h
│ │ ├── transportfactoryinterface.h
│ │ ├── transportinfo.h
│ │ ├── turnport.h
│ │ ├── turnserver.h
│ │ ├── udpport.h
│ │ └── udptransport.h
│ ├── client
│ │ ├── basicportallocator.h
│ │ ├── relayportfactoryinterface.h
│ │ └── turnportfactory.h
│ └── stunprober
│ │ └── stunprober.h
│ ├── pc
│ ├── audiotrack.h
│ ├── bundlefilter.h
│ ├── channel.h
│ ├── channelmanager.h
│ ├── datachannel.h
│ ├── dtlssrtptransport.h
│ ├── dtmfsender.h
│ ├── externalhmac.h
│ ├── iceserverparsing.h
│ ├── jseptransport.h
│ ├── jseptransportcontroller.h
│ ├── localaudiosource.h
│ ├── mediasession.h
│ ├── mediastream.h
│ ├── mediastreamobserver.h
│ ├── mediastreamtrack.h
│ ├── peerconnection.h
│ ├── peerconnectionfactory.h
│ ├── peerconnectioninternal.h
│ ├── peerconnectionwrapper.h
│ ├── remoteaudiosource.h
│ ├── rtcpmuxfilter.h
│ ├── rtcstatscollector.h
│ ├── rtcstatstraversal.h
│ ├── rtpmediautils.h
│ ├── rtpparametersconversion.h
│ ├── rtpreceiver.h
│ ├── rtpsender.h
│ ├── rtptransceiver.h
│ ├── rtptransport.h
│ ├── rtptransportinternal.h
│ ├── rtptransportinternaladapter.h
│ ├── rtptransporttestutil.h
│ ├── sctputils.h
│ ├── sdputils.h
│ ├── sessiondescription.h
│ ├── srtpfilter.h
│ ├── srtpsession.h
│ ├── srtptestutil.h
│ ├── srtptransport.h
│ ├── statscollector.h
│ ├── streamcollection.h
│ ├── test
│ │ ├── androidtestinitializer.h
│ │ ├── fakeaudiocapturemodule.h
│ │ ├── fakedatachannelprovider.h
│ │ ├── fakepeerconnectionbase.h
│ │ ├── fakepeerconnectionforstats.h
│ │ ├── fakeperiodicvideosource.h
│ │ ├── fakeperiodicvideotracksource.h
│ │ ├── fakertccertificategenerator.h
│ │ ├── fakesctptransport.h
│ │ ├── fakevideotrackrenderer.h
│ │ ├── fakevideotracksource.h
│ │ ├── framegeneratorcapturervideotracksource.h
│ │ ├── mock_datachannel.h
│ │ ├── mock_peerconnection.h
│ │ ├── mock_rtpreceiverinternal.h
│ │ ├── mock_rtpsenderinternal.h
│ │ ├── mockpeerconnectionobservers.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-inl.h
│ ├── asyncinvoker.h
│ ├── asyncpacketsocket.h
│ ├── asyncresolverinterface.h
│ ├── asyncsocket.h
│ ├── asynctcpsocket.h
│ ├── asyncudpsocket.h
│ ├── atomicops.h
│ ├── base64.h
│ ├── bind.h
│ ├── bitbuffer.h
│ ├── bitrateallocationstrategy.h
│ ├── buffer.h
│ ├── bufferqueue.h
│ ├── bytebuffer.h
│ ├── byteorder.h
│ ├── callback.h
│ ├── 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
│ ├── event.h
│ ├── event_tracer.h
│ ├── experiments
│ │ ├── alr_experiment.h
│ │ ├── congestion_controller_experiment.h
│ │ ├── field_trial_parser.h
│ │ ├── field_trial_units.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-inl.h
│ ├── httpcommon.h
│ ├── httpserver.h
│ ├── ifaddrs-android.h
│ ├── ifaddrs_converter.h
│ ├── ignore_wundef.h
│ ├── ipaddress.h
│ ├── json.h
│ ├── keep_ref_until_done.h
│ ├── location.h
│ ├── logging.h
│ ├── 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.h
│ ├── network_constants.h
│ ├── networkmonitor.h
│ ├── networkroute.h
│ ├── 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
│ ├── openssl.h
│ ├── openssladapter.h
│ ├── opensslcertificate.h
│ ├── openssldigest.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
│ ├── refcount.h
│ ├── refcountedobject.h
│ ├── refcounter.h
│ ├── rollingaccumulator.h
│ ├── rtccertificate.h
│ ├── rtccertificategenerator.h
│ ├── sanitizer.h
│ ├── scoped_ref_ptr.h
│ ├── sequenced_task_checker.h
│ ├── sequenced_task_checker_impl.h
│ ├── signalthread.h
│ ├── sigslot.h
│ ├── sigslotrepeater.h
│ ├── sigslottester.h
│ ├── socket.h
│ ├── socket_unittest.h
│ ├── socketadapters.h
│ ├── socketaddress.h
│ ├── socketaddresspair.h
│ ├── socketfactory.h
│ ├── socketserver.h
│ ├── socketstream.h
│ ├── ssladapter.h
│ ├── sslcertificate.h
│ ├── sslfingerprint.h
│ ├── sslidentity.h
│ ├── sslroots.h
│ ├── sslstreamadapter.h
│ ├── stream.h
│ ├── string_to_number.h
│ ├── stringencode.h
│ ├── stringize_macros.h
│ ├── strings
│ │ ├── audio_format_to_string.h
│ │ └── string_builder.h
│ ├── stringutils.h
│ ├── swap_queue.h
│ ├── synchronization
│ │ ├── rw_lock_posix.h
│ │ ├── rw_lock_win.h
│ │ └── rw_lock_wrapper.h
│ ├── system
│ │ ├── arch.h
│ │ ├── asm_defines.h
│ │ ├── fallthrough.h
│ │ ├── file_wrapper.h
│ │ ├── ignore_warnings.h
│ │ ├── inline.h
│ │ └── unused.h
│ ├── task_queue.h
│ ├── task_queue_for_test.h
│ ├── task_queue_posix.h
│ ├── template_util.h
│ ├── testbase64.h
│ ├── testcertificateverifier.h
│ ├── testclient.h
│ ├── testechoserver.h
│ ├── testutils.h
│ ├── thread.h
│ ├── thread_annotations.h
│ ├── thread_checker.h
│ ├── thread_checker_impl.h
│ ├── time
│ │ └── timestamp_extrapolator.h
│ ├── timestampaligner.h
│ ├── timeutils.h
│ ├── trace_event.h
│ ├── type_traits.h
│ ├── unixfilesystem.h
│ ├── virtualsocketserver.h
│ ├── weak_ptr.h
│ ├── win
│ │ └── windows_version.h
│ ├── win32.h
│ ├── win32filesystem.h
│ ├── win32socketinit.h
│ ├── win32socketserver.h
│ ├── win32window.h
│ └── zero_memory.h
│ ├── rtc_tools
│ ├── converter
│ │ └── converter.h
│ ├── event_log_visualizer
│ │ ├── analyzer.h
│ │ ├── plot_base.h
│ │ ├── plot_protobuf.h
│ │ ├── plot_python.h
│ │ └── triage_notifications.h
│ ├── frame_analyzer
│ │ ├── reference_less_video_analysis_lib.h
│ │ └── video_quality_analysis.h
│ ├── frame_editing
│ │ └── frame_editing_lib.h
│ ├── network_tester
│ │ ├── config_reader.h
│ │ ├── packet_logger.h
│ │ ├── packet_sender.h
│ │ └── test_controller.h
│ └── simple_command_line_parser.h
│ ├── sdk
│ ├── android
│ │ ├── 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
│ │ │ │ └── scoped_java_ref.h
│ │ │ ├── peerconnection
│ │ │ │ └── peerconnectionfactory.h
│ │ │ └── video
│ │ │ │ ├── videosource.h
│ │ │ │ └── wrapper.h
│ │ └── src
│ │ │ └── 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
│ │ │ ├── media.h
│ │ │ ├── mediaconstraints.h
│ │ │ ├── mediastream.h
│ │ │ ├── mediastreamtrack.h
│ │ │ ├── ownedfactoryandthreads.h
│ │ │ ├── peerconnection.h
│ │ │ ├── peerconnectionfactory.h
│ │ │ ├── rtcstatscollectorcallbackwrapper.h
│ │ │ ├── rtpparameters.h
│ │ │ ├── rtpreceiver.h
│ │ │ ├── rtpsender.h
│ │ │ ├── rtptransceiver.h
│ │ │ ├── sdpobserver.h
│ │ │ ├── sessiondescription.h
│ │ │ ├── statsobserver.h
│ │ │ ├── turncustomizer.h
│ │ │ └── video.h
│ │ │ ├── videocodecinfo.h
│ │ │ ├── videocodecstatus.h
│ │ │ ├── videodecoderfactorywrapper.h
│ │ │ ├── videodecoderwrapper.h
│ │ │ ├── videoencoderfactorywrapper.h
│ │ │ ├── videoencoderwrapper.h
│ │ │ ├── videoframe.h
│ │ │ ├── videosink.h
│ │ │ ├── wrapped_native_i420_buffer.h
│ │ │ └── wrappednativecodec.h
│ └── objc
│ │ └── Framework
│ │ ├── Classes
│ │ ├── Audio
│ │ │ ├── RTCAudioSession+Private.h
│ │ │ └── RTCNativeAudioSessionDelegateAdapter.h
│ │ ├── Common
│ │ │ ├── NSString+StdString.h
│ │ │ ├── RTCDispatcher+Private.h
│ │ │ ├── RTCUIApplicationStatusObserver.h
│ │ │ ├── helpers.h
│ │ │ └── scoped_cftyperef.h
│ │ ├── Metal
│ │ │ ├── RTCMTLI420Renderer.h
│ │ │ ├── RTCMTLNV12Renderer.h
│ │ │ ├── RTCMTLRGBRenderer.h
│ │ │ ├── RTCMTLRenderer+Private.h
│ │ │ └── RTCMTLRenderer.h
│ │ ├── PeerConnection
│ │ │ ├── RTCAudioSource+Private.h
│ │ │ ├── RTCAudioTrack+Private.h
│ │ │ ├── RTCConfiguration+Native.h
│ │ │ ├── RTCConfiguration+Private.h
│ │ │ ├── RTCDataChannel+Private.h
│ │ │ ├── RTCDataChannelConfiguration+Private.h
│ │ │ ├── RTCDtmfSender+Private.h
│ │ │ ├── RTCIceCandidate+Private.h
│ │ │ ├── RTCIceServer+Private.h
│ │ │ ├── RTCIntervalRange+Private.h
│ │ │ ├── RTCLegacyStatsReport+Private.h
│ │ │ ├── RTCMediaConstraints+Private.h
│ │ │ ├── RTCMediaSource+Private.h
│ │ │ ├── RTCMediaStream+Private.h
│ │ │ ├── RTCMediaStreamTrack+Private.h
│ │ │ ├── RTCMetricsSampleInfo+Private.h
│ │ │ ├── RTCPeerConnection+Native.h
│ │ │ ├── RTCPeerConnection+Private.h
│ │ │ ├── RTCPeerConnectionFactory+Native.h
│ │ │ ├── RTCPeerConnectionFactory+Private.h
│ │ │ ├── RTCPeerConnectionFactoryBuilder+DefaultComponents.h
│ │ │ ├── RTCPeerConnectionFactoryBuilder.h
│ │ │ ├── RTCPeerConnectionFactoryOptions+Private.h
│ │ │ ├── RTCRtcpParameters+Private.h
│ │ │ ├── RTCRtpCodecParameters+Private.h
│ │ │ ├── RTCRtpEncodingParameters+Private.h
│ │ │ ├── RTCRtpHeaderExtension+Private.h
│ │ │ ├── RTCRtpParameters+Private.h
│ │ │ ├── RTCRtpReceiver+Private.h
│ │ │ ├── RTCRtpSender+Private.h
│ │ │ ├── RTCRtpTransceiver+Private.h
│ │ │ ├── RTCSessionDescription+Private.h
│ │ │ ├── RTCVideoCodec+Private.h
│ │ │ ├── RTCVideoRendererAdapter+Private.h
│ │ │ ├── RTCVideoRendererAdapter.h
│ │ │ ├── RTCVideoSource+Private.h
│ │ │ ├── RTCVideoTrack+Private.h
│ │ │ ├── RTCWrappedNativeVideoDecoder.h
│ │ │ └── RTCWrappedNativeVideoEncoder.h
│ │ ├── Video
│ │ │ ├── AVCaptureSession+DevicePosition.h
│ │ │ ├── RTCDefaultShader.h
│ │ │ ├── RTCI420Buffer+Private.h
│ │ │ ├── RTCI420TextureCache.h
│ │ │ ├── RTCNV12TextureCache.h
│ │ │ ├── RTCOpenGLDefines.h
│ │ │ ├── RTCShader.h
│ │ │ └── UIDevice+H264Profile.h
│ │ └── VideoToolbox
│ │ │ ├── helpers.h
│ │ │ └── nalu_rewriter.h
│ │ ├── Headers
│ │ └── WebRTC
│ │ │ ├── RTCAudioSession.h
│ │ │ ├── RTCAudioSessionConfiguration.h
│ │ │ ├── RTCAudioSource.h
│ │ │ ├── RTCAudioTrack.h
│ │ │ ├── RTCCallbackLogger.h
│ │ │ ├── RTCCameraPreviewView.h
│ │ │ ├── RTCCameraVideoCapturer.h
│ │ │ ├── RTCConfiguration.h
│ │ │ ├── RTCDataChannel.h
│ │ │ ├── RTCDataChannelConfiguration.h
│ │ │ ├── RTCDispatcher.h
│ │ │ ├── RTCDtmfSender.h
│ │ │ ├── RTCEAGLVideoView.h
│ │ │ ├── RTCFieldTrials.h
│ │ │ ├── RTCFileLogger.h
│ │ │ ├── RTCFileVideoCapturer.h
│ │ │ ├── RTCIceCandidate.h
│ │ │ ├── RTCIceServer.h
│ │ │ ├── RTCIntervalRange.h
│ │ │ ├── RTCLegacyStatsReport.h
│ │ │ ├── RTCLogging.h
│ │ │ ├── RTCMTLNSVideoView.h
│ │ │ ├── RTCMTLVideoView.h
│ │ │ ├── RTCMacros.h
│ │ │ ├── RTCMediaConstraints.h
│ │ │ ├── RTCMediaSource.h
│ │ │ ├── RTCMediaStream.h
│ │ │ ├── RTCMediaStreamTrack.h
│ │ │ ├── RTCMetrics.h
│ │ │ ├── RTCMetricsSampleInfo.h
│ │ │ ├── RTCNSGLVideoView.h
│ │ │ ├── RTCPeerConnection.h
│ │ │ ├── RTCPeerConnectionFactory.h
│ │ │ ├── RTCPeerConnectionFactoryOptions.h
│ │ │ ├── RTCRtcpParameters.h
│ │ │ ├── RTCRtpCodecParameters.h
│ │ │ ├── RTCRtpEncodingParameters.h
│ │ │ ├── RTCRtpHeaderExtension.h
│ │ │ ├── RTCRtpParameters.h
│ │ │ ├── RTCRtpReceiver.h
│ │ │ ├── RTCRtpSender.h
│ │ │ ├── RTCRtpTransceiver.h
│ │ │ ├── RTCSSLAdapter.h
│ │ │ ├── RTCSessionDescription.h
│ │ │ ├── RTCTracing.h
│ │ │ ├── RTCVideoCapturer.h
│ │ │ ├── RTCVideoCodec.h
│ │ │ ├── RTCVideoCodecFactory.h
│ │ │ ├── RTCVideoCodecH264.h
│ │ │ ├── RTCVideoDecoderVP8.h
│ │ │ ├── RTCVideoDecoderVP9.h
│ │ │ ├── RTCVideoEncoderVP8.h
│ │ │ ├── RTCVideoEncoderVP9.h
│ │ │ ├── RTCVideoFrame.h
│ │ │ ├── RTCVideoFrameBuffer.h
│ │ │ ├── RTCVideoRenderer.h
│ │ │ ├── RTCVideoSource.h
│ │ │ ├── RTCVideoTrack.h
│ │ │ ├── RTCVideoViewShading.h
│ │ │ └── UIDevice+RTCDevice.h
│ │ ├── Native
│ │ ├── api
│ │ │ ├── audio_device_module.h
│ │ │ ├── video_capturer.h
│ │ │ ├── video_decoder_factory.h
│ │ │ ├── video_encoder_factory.h
│ │ │ ├── video_frame.h
│ │ │ ├── video_frame_buffer.h
│ │ │ └── video_renderer.h
│ │ └── src
│ │ │ ├── audio
│ │ │ ├── audio_device_ios.h
│ │ │ ├── audio_device_module_ios.h
│ │ │ ├── audio_session_observer.h
│ │ │ └── voice_processing_audio_unit.h
│ │ │ ├── objc_frame_buffer.h
│ │ │ ├── objc_video_decoder_factory.h
│ │ │ ├── objc_video_encoder_factory.h
│ │ │ ├── objc_video_frame.h
│ │ │ ├── objc_video_renderer.h
│ │ │ └── objc_video_track_source.h
│ │ └── UnitTests
│ │ └── frame_buffer_helpers.h
│ ├── stats
│ └── test
│ │ └── rtcteststats.h
│ ├── system_wrappers
│ ├── include
│ │ ├── clock.h
│ │ ├── cpu_features_wrapper.h
│ │ ├── cpu_info.h
│ │ ├── event_wrapper.h
│ │ ├── field_trial.h
│ │ ├── field_trial_default.h
│ │ ├── metrics.h
│ │ ├── metrics_default.h
│ │ ├── ntp_time.h
│ │ ├── rtp_to_ntp_estimator.h
│ │ ├── runtime_enabled_features.h
│ │ └── sleep.h
│ └── source
│ │ ├── event_timer_posix.h
│ │ └── event_timer_win.h
│ ├── third_party
│ └── abseil-cpp
│ │ └── absl
│ │ ├── algorithm
│ │ ├── algorithm.h
│ │ └── container.h
│ │ ├── base
│ │ ├── attributes.h
│ │ ├── call_once.h
│ │ ├── casts.h
│ │ ├── config.h
│ │ ├── dynamic_annotations.h
│ │ ├── internal
│ │ │ ├── atomic_hook.h
│ │ │ ├── cycleclock.h
│ │ │ ├── direct_mmap.h
│ │ │ ├── endian.h
│ │ │ ├── exception_safety_testing.h
│ │ │ ├── exception_testing.h
│ │ │ ├── hide_ptr.h
│ │ │ ├── identity.h
│ │ │ ├── inline_variable.h
│ │ │ ├── inline_variable_testing.h
│ │ │ ├── invoke.h
│ │ │ ├── low_level_alloc.h
│ │ │ ├── low_level_scheduling.h
│ │ │ ├── per_thread_tls.h
│ │ │ ├── pretty_function.h
│ │ │ ├── raw_logging.h
│ │ │ ├── scheduling_mode.h
│ │ │ ├── spinlock.h
│ │ │ ├── spinlock_wait.h
│ │ │ ├── sysinfo.h
│ │ │ ├── thread_identity.h
│ │ │ ├── throw_delegate.h
│ │ │ ├── tsan_mutex_interface.h
│ │ │ ├── unaligned_access.h
│ │ │ └── unscaledcycleclock.h
│ │ ├── log_severity.h
│ │ ├── macros.h
│ │ ├── optimization.h
│ │ ├── policy_checks.h
│ │ ├── port.h
│ │ └── thread_annotations.h
│ │ ├── container
│ │ ├── fixed_array.h
│ │ ├── inlined_vector.h
│ │ └── internal
│ │ │ └── test_instance_tracker.h
│ │ ├── debugging
│ │ ├── failure_signal_handler.h
│ │ ├── internal
│ │ │ ├── address_is_readable.h
│ │ │ ├── demangle.h
│ │ │ ├── elf_mem_image.h
│ │ │ ├── examine_stack.h
│ │ │ ├── stack_consumption.h
│ │ │ ├── stacktrace_config.h
│ │ │ ├── symbolize.h
│ │ │ └── vdso_support.h
│ │ ├── leak_check.h
│ │ ├── stacktrace.h
│ │ └── symbolize.h
│ │ ├── memory
│ │ └── memory.h
│ │ ├── meta
│ │ └── type_traits.h
│ │ ├── numeric
│ │ └── int128.h
│ │ ├── strings
│ │ ├── ascii.h
│ │ ├── charconv.h
│ │ ├── escaping.h
│ │ ├── internal
│ │ │ ├── bits.h
│ │ │ ├── char_map.h
│ │ │ ├── charconv_bigint.h
│ │ │ ├── charconv_parse.h
│ │ │ ├── escaping_test_common.h
│ │ │ ├── memutil.h
│ │ │ ├── numbers_test_common.h
│ │ │ ├── ostringstream.h
│ │ │ ├── resize_uninitialized.h
│ │ │ ├── stl_type_traits.h
│ │ │ ├── str_join_internal.h
│ │ │ ├── str_split_internal.h
│ │ │ └── utf8.h
│ │ ├── match.h
│ │ ├── numbers.h
│ │ ├── str_cat.h
│ │ ├── str_join.h
│ │ ├── str_replace.h
│ │ ├── str_split.h
│ │ ├── string_view.h
│ │ ├── strip.h
│ │ └── substitute.h
│ │ ├── synchronization
│ │ ├── barrier.h
│ │ ├── blocking_counter.h
│ │ ├── internal
│ │ │ ├── create_thread_identity.h
│ │ │ ├── graphcycles.h
│ │ │ ├── kernel_timeout.h
│ │ │ ├── per_thread_sem.h
│ │ │ ├── thread_pool.h
│ │ │ └── waiter.h
│ │ ├── mutex.h
│ │ └── notification.h
│ │ ├── time
│ │ ├── clock.h
│ │ ├── internal
│ │ │ ├── cctz
│ │ │ │ ├── include
│ │ │ │ │ └── cctz
│ │ │ │ │ │ ├── civil_time.h
│ │ │ │ │ │ ├── civil_time_detail.h
│ │ │ │ │ │ ├── time_zone.h
│ │ │ │ │ │ └── zone_info_source.h
│ │ │ │ └── src
│ │ │ │ │ ├── time_zone_fixed.h
│ │ │ │ │ ├── time_zone_if.h
│ │ │ │ │ ├── time_zone_impl.h
│ │ │ │ │ ├── time_zone_info.h
│ │ │ │ │ ├── time_zone_libc.h
│ │ │ │ │ ├── time_zone_posix.h
│ │ │ │ │ └── tzfile.h
│ │ │ └── test_util.h
│ │ └── time.h
│ │ ├── types
│ │ ├── any.h
│ │ ├── bad_any_cast.h
│ │ ├── bad_optional_access.h
│ │ ├── bad_variant_access.h
│ │ ├── internal
│ │ │ └── variant.h
│ │ ├── optional.h
│ │ ├── span.h
│ │ └── variant.h
│ │ └── utility
│ │ └── utility.h
│ ├── typedefs.h
│ └── video
│ ├── call_stats.h
│ ├── encoder_rtcp_feedback.h
│ ├── end_to_end_tests
│ └── multi_stream_tester.h
│ ├── overuse_frame_detector.h
│ ├── payload_router.h
│ ├── quality_threshold.h
│ ├── receive_statistics_proxy.h
│ ├── report_block_stats.h
│ ├── rtp_streams_synchronizer.h
│ ├── rtp_video_stream_receiver.h
│ ├── send_delay_stats.h
│ ├── send_statistics_proxy.h
│ ├── stats_counter.h
│ ├── stream_synchronization.h
│ ├── test
│ └── mock_video_stream_encoder.h
│ ├── transport_adapter.h
│ ├── video_quality_observer.h
│ ├── video_quality_test.h
│ ├── video_receive_stream.h
│ ├── video_send_stream.h
│ ├── video_send_stream_impl.h
│ ├── video_stream_decoder.h
│ ├── video_stream_decoder_impl.h
│ └── video_stream_encoder.h
├── mac_project
├── .gitignore
├── AudioMixer.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── example
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── AudioMixerExample.entitlements
│ ├── Base.lproj
│ └── Main.storyboard
│ ├── Info.plist
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── mp3
├── iamyou-48k.mp3
├── lion-48k.mp3
├── morning-48k.mp3
├── morning-mono-16k.mp3
└── morning.raw
├── package_libs.sh
├── run_djinni.sh
├── settings.gradle
├── simple_lib_android_maven_release.sh
└── src
├── audio_file_decoder.cpp
├── audio_file_decoder.h
├── audio_file_source.cpp
├── audio_file_source.h
├── audio_mixer.cpp
├── audio_mixer.h
├── audio_mixer_global.cpp
├── audio_mixer_global.h
├── audio_record_source.cpp
├── audio_record_source.h
├── audio_resampler.cpp
├── audio_resampler.h
├── audio_source.cpp
├── audio_source.h
└── avx_helper.h
/.gitignore:
--------------------------------------------------------------------------------
1 | **.iml
2 | .idea
3 | .gradle
4 | /local.properties
5 | /gradle/bintray.properties
6 | **/build
7 | **/.externalNativeBuild
8 | **/.cxx
9 |
10 | /libs/ffmpeg/lib/
11 | /libs/webrtc/lib/
12 | libs*.zip
13 |
--------------------------------------------------------------------------------
/android_project/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | /captures
3 |
--------------------------------------------------------------------------------
/android_project/AudioMixer/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | /.externalNativeBuild/
3 |
--------------------------------------------------------------------------------
/android_project/AudioMixer/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/piasy/tools/android-sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/android_project/AudioMixer/src/debug/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/android_project/AudioMixer/src/debug/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/android_project/AudioMixer/src/debug/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/android_project/AudioMixer/src/debug/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/android_project/AudioMixer/src/debug/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | AudioMixer
3 |
4 |
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/debug/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/android_project/AudioMixer/src/main/java/com/github/piasy/audio_mixer/AudioBuffer.java:
--------------------------------------------------------------------------------
1 | package com.github.piasy.audio_mixer;
2 |
3 | /**
4 | * Created by Piasy{github.com/Piasy} on 15/11/2017.
5 | */
6 | public class AudioBuffer {
7 | private byte[] buffer;
8 | private int size;
9 |
10 | AudioBuffer(final byte[] buffer, final int size) {
11 | this.buffer = buffer;
12 | this.size = size;
13 | }
14 |
15 | public byte[] getBuffer() {
16 | return buffer;
17 | }
18 |
19 | public int getSize() {
20 | return size;
21 | }
22 |
23 | public AudioBuffer setSize(int size) {
24 | this.size = size;
25 | return this;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/djinni/audio_mixer.djinni:
--------------------------------------------------------------------------------
1 | mixer_source = record {
2 | type: i32;
3 | ssrc: i32;
4 | volume: f32;
5 |
6 | path: string;
7 |
8 | sample_rate: i32;
9 | channel_num: i32;
10 |
11 | const type_file: i32 = 1;
12 | const type_record: i32 = 2;
13 | }
14 |
15 | mixer_config = record {
16 | sources: list;
17 |
18 | output_sample_rate: i32;
19 | output_channel_num: i32;
20 |
21 | frame_duration_ms: i32;
22 | }
23 |
24 | audio_mixer_api = interface +c {
25 | static create(config: mixer_config): audio_mixer_api;
26 |
27 | update_volume(ssrc: i32, volume: f32);
28 |
29 | add_source(source: mixer_source): bool;
30 | remove_source(ssrc: i32): bool;
31 |
32 | const max_buf_size: i32 = 7680;
33 | const sample_size: i32 = 2;
34 | }
35 |
--------------------------------------------------------------------------------
/extract_libs.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | TAG=libs-20180702
4 |
5 | wget https://github.com/Piasy/AudioMixer/releases/download/${TAG}/${TAG}.zip && \
6 | rm -rf libs && \
7 | unzip ${TAG}.zip
8 |
--------------------------------------------------------------------------------
/generated_src/cpp/audio_mixer_api.cpp:
--------------------------------------------------------------------------------
1 | // AUTOGENERATED FILE - DO NOT MODIFY!
2 | // This file generated by Djinni from audio_mixer.djinni
3 |
4 | #include "audio_mixer_api.hpp" // my header
5 | #include "mixer_config.hpp"
6 | #include "mixer_source.hpp"
7 |
8 | namespace audio_mixer {
9 |
10 | int32_t constexpr AudioMixerApi::MAX_BUF_SIZE;
11 |
12 | int32_t constexpr AudioMixerApi::SAMPLE_SIZE;
13 |
14 | } // namespace audio_mixer
15 |
--------------------------------------------------------------------------------
/generated_src/cpp/audio_mixer_api.hpp:
--------------------------------------------------------------------------------
1 | // AUTOGENERATED FILE - DO NOT MODIFY!
2 | // This file generated by Djinni from audio_mixer.djinni
3 |
4 | #pragma once
5 |
6 | #include
7 | #include
8 |
9 | namespace audio_mixer {
10 |
11 | struct MixerConfig;
12 | struct MixerSource;
13 |
14 | class AudioMixerApi {
15 | public:
16 | virtual ~AudioMixerApi() {}
17 |
18 | static constexpr int32_t MAX_BUF_SIZE = 7680;
19 |
20 | static constexpr int32_t SAMPLE_SIZE = 2;
21 |
22 | static std::shared_ptr Create(const MixerConfig & config);
23 |
24 | virtual void UpdateVolume(int32_t ssrc, float volume) = 0;
25 |
26 | virtual bool AddSource(const MixerSource & source) = 0;
27 |
28 | virtual bool RemoveSource(int32_t ssrc) = 0;
29 | };
30 |
31 | } // namespace audio_mixer
32 |
--------------------------------------------------------------------------------
/generated_src/cpp/mixer_config.hpp:
--------------------------------------------------------------------------------
1 | // AUTOGENERATED FILE - DO NOT MODIFY!
2 | // This file generated by Djinni from audio_mixer.djinni
3 |
4 | #pragma once
5 |
6 | #include "mixer_source.hpp"
7 | #include
8 | #include
9 | #include
10 |
11 | namespace audio_mixer {
12 |
13 | struct MixerConfig final {
14 | std::vector sources;
15 | int32_t output_sample_rate;
16 | int32_t output_channel_num;
17 | int32_t frame_duration_ms;
18 |
19 | MixerConfig(std::vector sources_,
20 | int32_t output_sample_rate_,
21 | int32_t output_channel_num_,
22 | int32_t frame_duration_ms_)
23 | : sources(std::move(sources_))
24 | , output_sample_rate(std::move(output_sample_rate_))
25 | , output_channel_num(std::move(output_channel_num_))
26 | , frame_duration_ms(std::move(frame_duration_ms_))
27 | {}
28 | };
29 |
30 | } // namespace audio_mixer
31 |
--------------------------------------------------------------------------------
/generated_src/cpp/mixer_source.cpp:
--------------------------------------------------------------------------------
1 | // AUTOGENERATED FILE - DO NOT MODIFY!
2 | // This file generated by Djinni from audio_mixer.djinni
3 |
4 | #include "mixer_source.hpp" // my header
5 |
6 | namespace audio_mixer {
7 |
8 | int32_t constexpr MixerSource::TYPE_FILE;
9 |
10 | int32_t constexpr MixerSource::TYPE_RECORD;
11 |
12 | } // namespace audio_mixer
13 |
--------------------------------------------------------------------------------
/generated_src/objc/PYAAudioMixerApi+Private.h:
--------------------------------------------------------------------------------
1 | // AUTOGENERATED FILE - DO NOT MODIFY!
2 | // This file generated by Djinni from audio_mixer.djinni
3 |
4 | #include "audio_mixer_api.hpp"
5 | #include
6 |
7 | static_assert(__has_feature(objc_arc), "Djinni requires ARC to be enabled for this file");
8 |
9 | @class PYAAudioMixerApi;
10 |
11 | namespace djinni_generated {
12 |
13 | class AudioMixerApi
14 | {
15 | public:
16 | using CppType = std::shared_ptr<::audio_mixer::AudioMixerApi>;
17 | using CppOptType = std::shared_ptr<::audio_mixer::AudioMixerApi>;
18 | using ObjcType = PYAAudioMixerApi*;
19 |
20 | using Boxed = AudioMixerApi;
21 |
22 | static CppType toCpp(ObjcType objc);
23 | static ObjcType fromCppOpt(const CppOptType& cpp);
24 | static ObjcType fromCpp(const CppType& cpp) { return fromCppOpt(cpp); }
25 |
26 | private:
27 | class ObjcProxy;
28 | };
29 |
30 | } // namespace djinni_generated
31 |
32 |
--------------------------------------------------------------------------------
/generated_src/objc/PYAAudioMixerApi.h:
--------------------------------------------------------------------------------
1 | // AUTOGENERATED FILE - DO NOT MODIFY!
2 | // This file generated by Djinni from audio_mixer.djinni
3 |
4 | #import "PYAMixerConfig.h"
5 | #import "PYAMixerSource.h"
6 | #import
7 | @class PYAAudioMixerApi;
8 |
9 | extern int32_t const PYAAudioMixerApiMaxBufSize;
10 | extern int32_t const PYAAudioMixerApiSampleSize;
11 |
12 | @interface PYAAudioMixerApi : NSObject
13 |
14 | + (nullable PYAAudioMixerApi *)create:(nonnull PYAMixerConfig *)config;
15 |
16 | - (void)updateVolume:(int32_t)ssrc
17 | volume:(float)volume;
18 |
19 | - (BOOL)addSource:(nonnull PYAMixerSource *)source;
20 |
21 | - (BOOL)removeSource:(int32_t)ssrc;
22 |
23 | - (nullable void *)nativeMixer;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/generated_src/objc/PYAAudioMixerApi.mm:
--------------------------------------------------------------------------------
1 | // AUTOGENERATED FILE - DO NOT MODIFY!
2 | // This file generated by Djinni from audio_mixer.djinni
3 |
4 | #import "PYAAudioMixerApi.h"
5 |
6 |
7 | int32_t const PYAAudioMixerApiMaxBufSize = 7680;
8 |
9 | int32_t const PYAAudioMixerApiSampleSize = 2;
10 |
--------------------------------------------------------------------------------
/generated_src/objc/PYAMixerConfig+Private.h:
--------------------------------------------------------------------------------
1 | // AUTOGENERATED FILE - DO NOT MODIFY!
2 | // This file generated by Djinni from audio_mixer.djinni
3 |
4 | #import "PYAMixerConfig.h"
5 | #include "mixer_config.hpp"
6 |
7 | static_assert(__has_feature(objc_arc), "Djinni requires ARC to be enabled for this file");
8 |
9 | @class PYAMixerConfig;
10 |
11 | namespace djinni_generated {
12 |
13 | struct MixerConfig
14 | {
15 | using CppType = ::audio_mixer::MixerConfig;
16 | using ObjcType = PYAMixerConfig*;
17 |
18 | using Boxed = MixerConfig;
19 |
20 | static CppType toCpp(ObjcType objc);
21 | static ObjcType fromCpp(const CppType& cpp);
22 | };
23 |
24 | } // namespace djinni_generated
25 |
--------------------------------------------------------------------------------
/generated_src/objc/PYAMixerSource+Private.h:
--------------------------------------------------------------------------------
1 | // AUTOGENERATED FILE - DO NOT MODIFY!
2 | // This file generated by Djinni from audio_mixer.djinni
3 |
4 | #import "PYAMixerSource.h"
5 | #include "mixer_source.hpp"
6 |
7 | static_assert(__has_feature(objc_arc), "Djinni requires ARC to be enabled for this file");
8 |
9 | @class PYAMixerSource;
10 |
11 | namespace djinni_generated {
12 |
13 | struct MixerSource
14 | {
15 | using CppType = ::audio_mixer::MixerSource;
16 | using ObjcType = PYAMixerSource*;
17 |
18 | using Boxed = MixerSource;
19 |
20 | static CppType toCpp(ObjcType objc);
21 | static ObjcType fromCpp(const CppType& cpp);
22 | };
23 |
24 | } // namespace djinni_generated
25 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
19 | android.useAndroidX=true
20 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Jan 14 15:04:35 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
7 |
--------------------------------------------------------------------------------
/ios_project/.gitignore:
--------------------------------------------------------------------------------
1 | #AudioMixer.xcodeproj
2 | xcuserdata
3 |
--------------------------------------------------------------------------------
/ios_project/AudioMixer.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios_project/AudioMixer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios_project/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSHumanReadableCopyright
22 | Copyright © 2018 Piasy. All rights reserved.
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios_project/example/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/ios_project/setup_xcode_project.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | rm -rf AudioMixer.xcodeproj && xcodegen
4 |
--------------------------------------------------------------------------------
/libs/ffmpeg/include/libavutil/avconfig.h:
--------------------------------------------------------------------------------
1 | /* Generated by ffconf */
2 | #ifndef AVUTIL_AVCONFIG_H
3 | #define AVUTIL_AVCONFIG_H
4 | #define AV_HAVE_BIGENDIAN 0
5 | #define AV_HAVE_FAST_UNALIGNED 0
6 | #endif /* AVUTIL_AVCONFIG_H */
7 |
--------------------------------------------------------------------------------
/libs/ffmpeg/include/libavutil/ffversion.h:
--------------------------------------------------------------------------------
1 | /* Automatically generated by version.sh, do not manually edit! */
2 | #ifndef AVUTIL_FFVERSION_H
3 | #define AVUTIL_FFVERSION_H
4 | #define FFMPEG_VERSION "3.4.2"
5 | #endif /* AVUTIL_FFVERSION_H */
6 |
--------------------------------------------------------------------------------
/libs/webrtc/include/api/optional.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // TODO(bugs.webrtc.org/9078): Use absl::optional directly.
12 | #ifndef API_OPTIONAL_H_
13 | #define API_OPTIONAL_H_
14 |
15 | #include "absl/types/optional.h"
16 |
17 | namespace rtc {
18 |
19 | using absl::nullopt_t;
20 | using absl::nullopt;
21 |
22 | template
23 | using Optional = absl::optional;
24 |
25 | } // namespace rtc
26 |
27 | #endif // API_OPTIONAL_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/api/transport/test/mock_network_control.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef API_TRANSPORT_TEST_MOCK_NETWORK_CONTROL_H_
12 | #define API_TRANSPORT_TEST_MOCK_NETWORK_CONTROL_H_
13 |
14 | #include "api/transport/include/network_control.h"
15 | #include "test/gmock.h"
16 |
17 | namespace webrtc {
18 | namespace test {
19 | class MockTargetTransferRateObserver : public TargetTransferRateObserver {
20 | public:
21 | MOCK_METHOD1(OnTargetTransferRate, void(TargetTransferRate));
22 | };
23 | } // namespace test
24 | } // namespace webrtc
25 |
26 | #endif // API_TRANSPORT_TEST_MOCK_NETWORK_CONTROL_H_
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/api/video/video_rotation.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef API_VIDEO_VIDEO_ROTATION_H_
12 | #define API_VIDEO_VIDEO_ROTATION_H_
13 |
14 | namespace webrtc {
15 |
16 | // enum for clockwise rotation.
17 | enum VideoRotation {
18 | kVideoRotation_0 = 0,
19 | kVideoRotation_90 = 90,
20 | kVideoRotation_180 = 180,
21 | kVideoRotation_270 = 270
22 | };
23 |
24 | } // namespace webrtc
25 |
26 | #endif // API_VIDEO_VIDEO_ROTATION_H_
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/api/video_codecs/builtin_video_decoder_factory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef API_VIDEO_CODECS_BUILTIN_VIDEO_DECODER_FACTORY_H_
12 | #define API_VIDEO_CODECS_BUILTIN_VIDEO_DECODER_FACTORY_H_
13 |
14 | #include
15 |
16 | #include "api/video_codecs/video_decoder_factory.h"
17 |
18 | namespace webrtc {
19 |
20 | // Creates a new factory that can create the built-in types of video decoders.
21 | std::unique_ptr CreateBuiltinVideoDecoderFactory();
22 |
23 | } // namespace webrtc
24 |
25 | #endif // API_VIDEO_CODECS_BUILTIN_VIDEO_DECODER_FACTORY_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/api/videosourceinterface.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef API_VIDEOSOURCEINTERFACE_H_
12 | #define API_VIDEOSOURCEINTERFACE_H_
13 |
14 | // TODO(nisse): Place holder for moved file. Delete after applications are
15 | // updated.
16 | #include "api/video/video_source_interface.h"
17 |
18 | #endif // API_VIDEOSOURCEINTERFACE_H_
19 |
--------------------------------------------------------------------------------
/libs/webrtc/include/audio/conversion.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef AUDIO_CONVERSION_H_
12 | #define AUDIO_CONVERSION_H_
13 |
14 | namespace webrtc {
15 |
16 | // Convert fixed point number with 8 bit fractional part, to floating point.
17 | inline float Q8ToFloat(uint32_t v) {
18 | return static_cast(v) / (1 << 8);
19 | }
20 |
21 | // Convert fixed point number with 14 bit fractional part, to floating point.
22 | inline float Q14ToFloat(uint32_t v) {
23 | return static_cast(v) / (1 << 14);
24 | }
25 | } // namespace webrtc
26 |
27 | #endif // AUDIO_CONVERSION_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/allocator/allocator_check.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ALLOCATOR_ALLOCATOR_ALLOCATOR_CHECK_H_
6 | #define BASE_ALLOCATOR_ALLOCATOR_ALLOCATOR_CHECK_H_
7 |
8 | #include "base/base_export.h"
9 |
10 | namespace base {
11 | namespace allocator {
12 |
13 | BASE_EXPORT bool IsAllocatorInitialized();
14 |
15 | } // namespace allocator
16 | } // namespace base
17 |
18 | #endif // BASE_ALLOCATOR_ALLOCATOR_ALLOCATOR_CHECK_H_
19 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/allocator/allocator_shim_default_dispatch_to_mac_zoned_malloc.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ALLOCATOR_ALLOCATOR_SHIM_DEFAULT_DISPATCH_TO_ZONED_MALLOC_H_
6 | #define BASE_ALLOCATOR_ALLOCATOR_SHIM_DEFAULT_DISPATCH_TO_ZONED_MALLOC_H_
7 |
8 | namespace base {
9 | namespace allocator {
10 |
11 | // This initializes AllocatorDispatch::default_dispatch by saving pointers to
12 | // the functions in the current default malloc zone. This must be called before
13 | // the default malloc zone is changed to have its intended effect.
14 | void InitializeDefaultDispatchToMacAllocator();
15 |
16 | } // namespace allocator
17 | } // namespace base
18 |
19 | #endif // BASE_ALLOCATOR_ALLOCATOR_SHIM_DEFAULT_DISPATCH_TO_ZONED_MALLOC_H_
20 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/allocator/partition_allocator/page_allocator_internal.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ALLOCATOR_PARTITION_ALLOCATOR_PAGE_ALLOCATOR_INTERNAL_H_
6 | #define BASE_ALLOCATOR_PARTITION_ALLOCATOR_PAGE_ALLOCATOR_INTERNAL_H_
7 |
8 | namespace base {
9 |
10 | void* SystemAllocPages(void* hint,
11 | size_t length,
12 | PageAccessibilityConfiguration accessibility,
13 | PageTag page_tag,
14 | bool commit);
15 |
16 | } // namespace base
17 |
18 | #endif // BASE_ALLOCATOR_PARTITION_ALLOCATOR_PAGE_ALLOCATOR_INTERNAL_H_
19 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/allocator/partition_allocator/partition_oom.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | // Holds functions for generating OOM errors from PartitionAlloc. This is
6 | // distinct from oom.h in that it is meant only for use in PartitionAlloc.
7 |
8 | #ifndef BASE_ALLOCATOR_PARTITION_ALLOCATOR_PARTITION_OOM_H_
9 | #define BASE_ALLOCATOR_PARTITION_ALLOCATOR_PARTITION_OOM_H_
10 |
11 | #include "base/compiler_specific.h"
12 | #include "build/build_config.h"
13 |
14 | namespace base {
15 | namespace internal {
16 |
17 | NOINLINE void PartitionExcessiveAllocationSize();
18 |
19 | #if !defined(ARCH_CPU_64_BITS)
20 | NOINLINE void PartitionOutOfMemoryWithLotsOfUncommitedPages();
21 | #endif
22 |
23 | } // namespace internal
24 | } // namespace base
25 |
26 | #endif // BASE_ALLOCATOR_PARTITION_ALLOCATOR_PARTITION_OOM_H_
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/base_jni_onload.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_BASE_JNI_ONLOAD_H_
6 | #define BASE_ANDROID_BASE_JNI_ONLOAD_H_
7 |
8 | #include
9 | #include
10 |
11 | #include "base/base_export.h"
12 | #include "base/callback.h"
13 |
14 | namespace base {
15 | namespace android {
16 |
17 | // Returns whether initialization succeeded.
18 | BASE_EXPORT bool OnJNIOnLoadInit();
19 |
20 | } // namespace android
21 | } // namespace base
22 |
23 | #endif // BASE_ANDROID_BASE_JNI_ONLOAD_H_
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/child_process_binding_types.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_CHILD_PROCESS_BINDING_TYPES_H_
6 | #define BASE_ANDROID_CHILD_PROCESS_BINDING_TYPES_H_
7 |
8 | namespace base {
9 | namespace android {
10 |
11 | // Defines the state of bindgings with child process. See ChildProcessConnection
12 | // to see what the bindings are. Note these values are used as array indices.
13 | // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.base
14 | enum class ChildBindingState {
15 | UNBOUND,
16 | WAIVED,
17 | MODERATE,
18 | STRONG,
19 | MAX_VALUE = STRONG
20 | };
21 |
22 | } // namespace android
23 | } // namespace base
24 |
25 | #endif // BASE_ANDROID_CHILD_PROCESS_BINDING_TYPES_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/content_uri_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_CONTENT_URI_UTILS_H_
6 | #define BASE_ANDROID_CONTENT_URI_UTILS_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 | #include "base/files/file.h"
12 | #include "base/files/file_path.h"
13 |
14 | namespace base {
15 |
16 | // Opens a content URI for read and returns the file descriptor to the caller.
17 | // Returns -1 if the URI is invalid.
18 | BASE_EXPORT File OpenContentUriForRead(const FilePath& content_uri);
19 |
20 | // Check whether a content URI exists.
21 | BASE_EXPORT bool ContentUriExists(const FilePath& content_uri);
22 |
23 | // Gets MIME type from a content URI. Returns an empty string if the URI is
24 | // invalid.
25 | BASE_EXPORT std::string GetContentUriMimeType(const FilePath& content_uri);
26 |
27 | } // namespace base
28 |
29 | #endif // BASE_ANDROID_CONTENT_URI_UTILS_H_
30 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/event_log.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_EVENT_LOG_H_
6 | #define BASE_ANDROID_EVENT_LOG_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 |
12 | namespace base {
13 | namespace android {
14 |
15 | void BASE_EXPORT EventLogWriteInt(int tag, int value);
16 |
17 | } // namespace android
18 | } // namespace base
19 |
20 | #endif // BASE_ANDROID_EVENT_LOG_H_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/java_exception_reporter.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_JAVA_EXCEPTION_REPORTER_H_
6 | #define BASE_ANDROID_JAVA_EXCEPTION_REPORTER_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 |
12 | namespace base {
13 | namespace android {
14 |
15 | // Install the exception handler. This should only be called once per process.
16 | BASE_EXPORT void InitJavaExceptionReporter();
17 |
18 | // Same as above except the handler ensures child process exists immediately
19 | // after an unhandled exception. This is used for child processes because
20 | // DumpWithoutCrashing does not work for child processes on Android.
21 | BASE_EXPORT void InitJavaExceptionReporterForChildProcess();
22 |
23 | } // namespace android
24 | } // namespace base
25 |
26 | #endif // BASE_ANDROID_JAVA_EXCEPTION_REPORTER_H_
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/java_runtime.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_JAVA_RUNTIME_H_
6 | #define BASE_ANDROID_JAVA_RUNTIME_H_
7 |
8 | #include "base/android/scoped_java_ref.h"
9 | #include "base/base_export.h"
10 |
11 | namespace base {
12 | namespace android {
13 |
14 | // Wrapper class for using the java.lang.Runtime object from jni.
15 | class BASE_EXPORT JavaRuntime {
16 | public:
17 | // Fills the total memory used and memory allocated for objects by the java
18 | // heap in the current process. Returns true on success.
19 | static void GetMemoryUsage(long* total_memory, long* free_memory);
20 | };
21 |
22 | } // namespace android
23 | } // namespace base
24 |
25 | #endif // BASE_ANDROID_JAVA_RUNTIME_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/jni_registrar.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_JNI_REGISTRAR_H_
6 | #define BASE_ANDROID_JNI_REGISTRAR_H_
7 |
8 | #include
9 | #include
10 |
11 | #include "base/base_export.h"
12 |
13 | namespace base {
14 | namespace android {
15 |
16 | struct RegistrationMethod;
17 |
18 | // Registers the JNI bindings for the specified |method| definition containing
19 | // |count| elements. Returns whether the registration of the given methods
20 | // succeeded.
21 | BASE_EXPORT bool RegisterNativeMethods(JNIEnv* env,
22 | const RegistrationMethod* method,
23 | size_t count);
24 |
25 | } // namespace android
26 | } // namespace base
27 |
28 | #endif // BASE_ANDROID_JNI_REGISTRAR_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/jni_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_JNI_UTILS_H_
6 | #define BASE_ANDROID_JNI_UTILS_H_
7 |
8 | #include
9 |
10 | #include "base/android/scoped_java_ref.h"
11 |
12 | namespace base {
13 |
14 | namespace android {
15 |
16 | // Gets a ClassLoader instance capable of loading Chromium java classes.
17 | // This should be called either from JNI_OnLoad or from within a method called
18 | // via JNI from Java.
19 | BASE_EXPORT ScopedJavaLocalRef GetClassLoader(JNIEnv* env);
20 |
21 | // Returns true if the current process permits selective JNI registration.
22 | BASE_EXPORT bool IsSelectiveJniRegistrationEnabled(JNIEnv* env);
23 |
24 | } // namespace android
25 | } // namespace base
26 |
27 | #endif // BASE_ANDROID_JNI_UTILS_H_
28 |
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/locale_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_LOCALE_UTILS_H_
6 | #define BASE_ANDROID_LOCALE_UTILS_H_
7 |
8 | #include
9 |
10 | #include
11 |
12 | #include "base/base_export.h"
13 |
14 | namespace base {
15 | namespace android {
16 |
17 | BASE_EXPORT std::string GetDefaultCountryCode();
18 |
19 | // Return the current default locale of the device as string.
20 | BASE_EXPORT std::string GetDefaultLocaleString();
21 |
22 | } // namespace android
23 | } // namespace base
24 |
25 | #endif // BASE_ANDROID_LOCALE_UTILS_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/memory_pressure_listener_android.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_MEMORY_PRESSURE_LISTENER_ANDROID_H_
6 | #define BASE_ANDROID_MEMORY_PRESSURE_LISTENER_ANDROID_H_
7 |
8 | #include "base/android/jni_android.h"
9 | #include "base/macros.h"
10 |
11 | namespace base {
12 | namespace android {
13 |
14 | // Implements the C++ counter part of MemoryPressureListener.java
15 | class BASE_EXPORT MemoryPressureListenerAndroid {
16 | public:
17 | static void Initialize(JNIEnv* env);
18 |
19 | // Called by JNI.
20 | static void OnMemoryPressure(int memory_pressure_type);
21 |
22 | private:
23 | DISALLOW_COPY_AND_ASSIGN(MemoryPressureListenerAndroid);
24 | };
25 |
26 | } // namespace android
27 | } // namespace base
28 |
29 | #endif // BASE_ANDROID_MEMORY_PRESSURE_LISTENER_ANDROID_H_
30 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/sys_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_SYS_UTILS_H_
6 | #define BASE_ANDROID_SYS_UTILS_H_
7 |
8 | #include "base/android/jni_android.h"
9 |
10 | namespace base {
11 | namespace android {
12 |
13 | class BASE_EXPORT SysUtils {
14 | public:
15 | // Returns true iff this is a low-end device.
16 | static bool IsLowEndDeviceFromJni();
17 | // Returns true if system has low available memory.
18 | static bool IsCurrentlyLowMemory();
19 | };
20 |
21 | } // namespace android
22 | } // namespace base
23 |
24 | #endif // BASE_ANDROID_SYS_UTILS_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/throw_uncaught_exception.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_THROW_UNCAUGHT_EXCEPTION_H_
6 | #define BASE_ANDROID_THROW_UNCAUGHT_EXCEPTION_H_
7 |
8 | #include "base/base_export.h"
9 |
10 | namespace base {
11 | namespace android {
12 |
13 | // Throw that completely unwinds the java stack. In particular, this will not
14 | // trigger a jni CheckException crash.
15 | BASE_EXPORT void ThrowUncaughtException();
16 |
17 | } // namespace android
18 | } // namespace base
19 |
20 | #endif // BASE_ANDROID_THROW_UNCAUGHT_EXCEPTION_H_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/android/timezone_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_ANDROID_TIMEZONE_UTILS_H_
6 | #define BASE_ANDROID_TIMEZONE_UTILS_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 | #include "base/strings/string16.h"
12 |
13 | namespace base {
14 | namespace android {
15 |
16 | // Return an ICU timezone created from the host timezone.
17 | BASE_EXPORT base::string16 GetDefaultTimeZoneId();
18 |
19 | } // namespace android
20 | } // namespace base
21 |
22 | #endif // BASE_ANDROID_TIMEZONE_UTILS_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/base64.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_BASE64_H_
6 | #define BASE_BASE64_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 | #include "base/strings/string_piece.h"
12 |
13 | namespace base {
14 |
15 | // Encodes the input string in base64. The encoding can be done in-place.
16 | BASE_EXPORT void Base64Encode(const StringPiece& input, std::string* output);
17 |
18 | // Decodes the base64 input string. Returns true if successful and false
19 | // otherwise. The output string is only modified if successful. The decoding can
20 | // be done in-place.
21 | BASE_EXPORT bool Base64Decode(const StringPiece& input, std::string* output);
22 |
23 | } // namespace base
24 |
25 | #endif // BASE_BASE64_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/base_export.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_BASE_EXPORT_H_
6 | #define BASE_BASE_EXPORT_H_
7 |
8 | #if defined(COMPONENT_BUILD)
9 | #if defined(WIN32)
10 |
11 | #if defined(BASE_IMPLEMENTATION)
12 | #define BASE_EXPORT __declspec(dllexport)
13 | #else
14 | #define BASE_EXPORT __declspec(dllimport)
15 | #endif // defined(BASE_IMPLEMENTATION)
16 |
17 | #else // defined(WIN32)
18 | #if defined(BASE_IMPLEMENTATION)
19 | #define BASE_EXPORT __attribute__((visibility("default")))
20 | #else
21 | #define BASE_EXPORT
22 | #endif // defined(BASE_IMPLEMENTATION)
23 | #endif
24 |
25 | #else // defined(COMPONENT_BUILD)
26 | #define BASE_EXPORT
27 | #endif
28 |
29 | #endif // BASE_BASE_EXPORT_H_
30 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/base_paths_android.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_BASE_PATHS_ANDROID_H_
6 | #define BASE_BASE_PATHS_ANDROID_H_
7 |
8 | // This file declares Android-specific path keys for the base module.
9 | // These can be used with the PathService to access various special
10 | // directories and files.
11 |
12 | namespace base {
13 |
14 | enum {
15 | PATH_ANDROID_START = 300,
16 |
17 | DIR_ANDROID_APP_DATA, // Directory where to put Android app's data.
18 | DIR_ANDROID_EXTERNAL_STORAGE, // Android external storage directory.
19 |
20 | PATH_ANDROID_END
21 | };
22 |
23 | } // namespace base
24 |
25 | #endif // BASE_BASE_PATHS_ANDROID_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/base_paths_mac.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_BASE_PATHS_MAC_H_
6 | #define BASE_BASE_PATHS_MAC_H_
7 |
8 | // This file declares Mac-specific path keys for the base module.
9 | // These can be used with the PathService to access various special
10 | // directories and files.
11 |
12 | namespace base {
13 |
14 | enum {
15 | PATH_MAC_START = 200,
16 |
17 | DIR_APP_DATA, // ~/Library/Application Support
18 |
19 | PATH_MAC_END
20 | };
21 |
22 | } // namespace base
23 |
24 | #endif // BASE_BASE_PATHS_MAC_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/base_paths_posix.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_BASE_PATHS_POSIX_H_
6 | #define BASE_BASE_PATHS_POSIX_H_
7 |
8 | // This file declares windows-specific path keys for the base module.
9 | // These can be used with the PathService to access various special
10 | // directories and files.
11 |
12 | namespace base {
13 |
14 | enum {
15 | PATH_POSIX_START = 400,
16 |
17 | DIR_CACHE, // Directory where to put cache data. Note this is
18 | // *not* where the browser cache lives, but the
19 | // browser cache can be a subdirectory.
20 | // This is $XDG_CACHE_HOME on Linux and
21 | // ~/Library/Caches on Mac.
22 | PATH_POSIX_END
23 | };
24 |
25 | } // namespace base
26 |
27 | #endif // BASE_BASE_PATHS_POSIX_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/callback_forward.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_CALLBACK_FORWARD_H_
6 | #define BASE_CALLBACK_FORWARD_H_
7 |
8 | namespace base {
9 |
10 | template
11 | class OnceCallback;
12 |
13 | template
14 | class RepeatingCallback;
15 |
16 | template
17 | using Callback = RepeatingCallback;
18 |
19 | // Syntactic sugar to make Callback easier to declare since it
20 | // will be used in a lot of APIs with delayed execution.
21 | using OnceClosure = OnceCallback;
22 | using RepeatingClosure = RepeatingCallback;
23 | using Closure = Callback;
24 |
25 | } // namespace base
26 |
27 | #endif // BASE_CALLBACK_FORWARD_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/containers/queue.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_CONTAINERS_QUEUE_H_
6 | #define BASE_CONTAINERS_QUEUE_H_
7 |
8 | #include
9 |
10 | #include "base/containers/circular_deque.h"
11 |
12 | namespace base {
13 |
14 | // Provides a definition of base::queue that's like std::queue but uses a
15 | // base::circular_deque instead of std::deque. Since std::queue is just a
16 | // wrapper for an underlying type, we can just provide a typedef for it that
17 | // defaults to the base circular_deque.
18 | template >
19 | using queue = std::queue;
20 |
21 | } // namespace base
22 |
23 | #endif // BASE_CONTAINERS_QUEUE_H_
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/containers/stack.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_CONTAINERS_STACK_H_
6 | #define BASE_CONTAINERS_STACK_H_
7 |
8 | #include
9 |
10 | #include "base/containers/circular_deque.h"
11 |
12 | namespace base {
13 |
14 | // Provides a definition of base::stack that's like std::stack but uses a
15 | // base::circular_deque instead of std::deque. Since std::stack is just a
16 | // wrapper for an underlying type, we can just provide a typedef for it that
17 | // defaults to the base circular_deque.
18 | template >
19 | using stack = std::stack;
20 |
21 | } // namespace base
22 |
23 | #endif // BASE_CONTAINERS_STACK_H_
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/debug/close_handle_hook_win.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_DEBUG_CLOSE_HANDLE_HOOK_WIN_H_
6 | #define BASE_DEBUG_CLOSE_HANDLE_HOOK_WIN_H_
7 |
8 | #include "base/base_export.h"
9 |
10 | namespace base {
11 | namespace debug {
12 |
13 | // Installs the hooks required to debug use of improper handles.
14 | BASE_EXPORT void InstallHandleHooks();
15 |
16 | } // namespace debug
17 | } // namespace base
18 |
19 | #endif // BASE_DEBUG_CLOSE_HANDLE_HOOK_WIN_H_
20 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/debug/elf_reader_linux.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_DEBUG_ELF_READER_LINUX_H_
6 | #define BASE_DEBUG_ELF_READER_LINUX_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 | #include "base/optional.h"
12 |
13 | namespace base {
14 | namespace debug {
15 |
16 | // Returns the ELF section .note.gnu.build-id from the ELF file mapped at
17 | // |elf_base|, if present. The caller must ensure that the file is fully mapped
18 | // in memory.
19 | Optional BASE_EXPORT ReadElfBuildId(const void* elf_base);
20 |
21 | // Returns the library name from the ELF file mapped at |elf_base|, if present.
22 | // The caller must ensure that the file is fully mapped in memory.
23 | Optional BASE_EXPORT ReadElfLibraryName(const void* elf_base);
24 |
25 | } // namespace debug
26 | } // namespace base
27 |
28 | #endif // BASE_DEBUG_ELF_READER_LINUX_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/debug/gdi_debug_util_win.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_DEBUG_GDI_DEBUG_UTIL_WIN_H_
6 | #define BASE_DEBUG_GDI_DEBUG_UTIL_WIN_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 |
12 | namespace base {
13 | namespace debug {
14 |
15 | // Crashes the process, using base::debug::Alias to leave valuable debugging
16 | // information in the crash dump. Pass values for |header| and |shared_section|
17 | // in the event of a bitmap allocation failure, to gather information about
18 | // those as well.
19 | void BASE_EXPORT CollectGDIUsageAndDie(BITMAPINFOHEADER* header = nullptr,
20 | HANDLE shared_section = nullptr);
21 |
22 | } // namespace debug
23 | } // namespace base
24 |
25 | #endif // BASE_DEBUG_GDI_DEBUG_UTIL_WIN_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/fuchsia/default_job.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_FUCHSIA_DEFAULT_JOB_H_
6 | #define BASE_FUCHSIA_DEFAULT_JOB_H_
7 |
8 | #include "base/base_export.h"
9 | #include "base/fuchsia/scoped_zx_handle.h"
10 |
11 | namespace base {
12 |
13 | // Gets and sets the job object used for creating new child processes,
14 | // and looking them up by their process IDs.
15 | // zx_job_default() will be returned if no job is explicitly set here.
16 | // Only valid handles may be passed to SetDefaultJob().
17 | BASE_EXPORT zx_handle_t GetDefaultJob();
18 | BASE_EXPORT void SetDefaultJob(ScopedZxHandle job);
19 |
20 | } // namespace base
21 |
22 | #endif // BASE_FUCHSIA_DEFAULT_JOB_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/fuchsia/file_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_FUCHSIA_FILE_UTILS_H_
6 | #define BASE_FUCHSIA_FILE_UTILS_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 |
12 | namespace base {
13 |
14 | class File;
15 |
16 | namespace fuchsia {
17 |
18 | // Gets a Zircon handle from a file or directory |path| in the process'
19 | // namespace.
20 | BASE_EXPORT zx::handle GetHandleFromFile(base::File file);
21 |
22 | } // namespace fuchsia
23 | } // namespace base
24 |
25 | #endif // BASE_FUCHSIA_FILE_UTILS_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/i18n/base_i18n_export.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_I18N_BASE_I18N_EXPORT_H_
6 | #define BASE_I18N_BASE_I18N_EXPORT_H_
7 |
8 | #if defined(COMPONENT_BUILD)
9 | #if defined(WIN32)
10 |
11 | #if defined(BASE_I18N_IMPLEMENTATION)
12 | #define BASE_I18N_EXPORT __declspec(dllexport)
13 | #else
14 | #define BASE_I18N_EXPORT __declspec(dllimport)
15 | #endif // defined(BASE_I18N_IMPLEMENTATION)
16 |
17 | #else // defined(WIN32)
18 | #if defined(BASE_I18N_IMPLEMENTATION)
19 | #define BASE_I18N_EXPORT __attribute__((visibility("default")))
20 | #else
21 | #define BASE_I18N_EXPORT
22 | #endif
23 | #endif
24 |
25 | #else // defined(COMPONENT_BUILD)
26 | #define BASE_I18N_EXPORT
27 | #endif
28 |
29 | #endif // BASE_I18N_BASE_I18N_EXPORT_H_
30 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/i18n/base_i18n_switches.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_I18N_BASE_I18N_SWITCHES_H_
6 | #define BASE_I18N_BASE_I18N_SWITCHES_H_
7 |
8 | #include "base/i18n/base_i18n_export.h"
9 |
10 | namespace switches {
11 |
12 | BASE_I18N_EXPORT extern const char kForceUIDirection[];
13 | BASE_I18N_EXPORT extern const char kForceTextDirection[];
14 |
15 | // kForce*Direction choices for the switches above.
16 | BASE_I18N_EXPORT extern const char kForceDirectionLTR[];
17 | BASE_I18N_EXPORT extern const char kForceDirectionRTL[];
18 |
19 | } // namespace switches
20 |
21 | #endif // BASE_I18N_BASE_I18N_SWITCHES_H_
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/i18n/character_encoding.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_I18N_CHARACTER_ENCODING_H_
6 | #define BASE_I18N_CHARACTER_ENCODING_H_
7 |
8 | #include
9 |
10 | #include "base/i18n/base_i18n_export.h"
11 |
12 | namespace base {
13 |
14 | // Return canonical encoding name according to the encoding alias name.
15 | BASE_I18N_EXPORT std::string GetCanonicalEncodingNameByAliasName(
16 | const std::string& alias_name);
17 |
18 | } // namespace base
19 |
20 | #endif // BASE_I18N_CHARACTER_ENCODING_H_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/i18n/encoding_detection.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_I18N_ENCODING_DETECTION_H_
6 | #define BASE_I18N_ENCODING_DETECTION_H_
7 |
8 | #include
9 |
10 | #include "base/compiler_specific.h"
11 | #include "base/i18n/base_i18n_export.h"
12 |
13 | namespace base {
14 |
15 | // Detect encoding of |text| and put the name of encoding in |encoding|.
16 | // Returns true on success.
17 | BASE_I18N_EXPORT bool DetectEncoding(const std::string& text,
18 | std::string* encoding) WARN_UNUSED_RESULT;
19 | } // namespace base
20 |
21 | #endif // BASE_I18N_ENCODING_DETECTION_H_
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/i18n/i18n_constants.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_I18N_I18N_CONSTANTS_H_
6 | #define BASE_I18N_I18N_CONSTANTS_H_
7 |
8 | #include "base/i18n/base_i18n_export.h"
9 |
10 | namespace base {
11 |
12 | // Names of codepages (charsets) understood by icu.
13 | BASE_I18N_EXPORT extern const char kCodepageLatin1[]; // a.k.a. ISO 8859-1
14 | BASE_I18N_EXPORT extern const char kCodepageUTF8[];
15 |
16 | // The other possible options are UTF-16BE and UTF-16LE, but they are unused in
17 | // Chromium as of this writing.
18 |
19 | } // namespace base
20 |
21 | #endif // BASE_I18N_I18N_CONSTANTS_H_
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/i18n/string_compare.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_I18N_STRING_COMPARE_H_
6 | #define BASE_I18N_STRING_COMPARE_H_
7 |
8 | #include
9 | #include
10 | #include
11 |
12 | #include "base/i18n/base_i18n_export.h"
13 | #include "base/strings/string16.h"
14 | #include "third_party/icu/source/i18n/unicode/coll.h"
15 |
16 | namespace base {
17 | namespace i18n {
18 |
19 | // Compares the two strings using the specified collator.
20 | BASE_I18N_EXPORT UCollationResult
21 | CompareString16WithCollator(const icu::Collator& collator,
22 | const string16& lhs,
23 | const string16& rhs);
24 |
25 | } // namespace i18n
26 | } // namespace base
27 |
28 | #endif // BASE_I18N_STRING_COMPARE_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/i18n/timezone.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_I18N_TIMEZONE_H_
6 | #define BASE_I18N_TIMEZONE_H_
7 |
8 | #include
9 |
10 | #include "base/i18n/base_i18n_export.h"
11 |
12 | namespace base {
13 |
14 | // Checks the system timezone and turns it into a two-character ISO 3166 country
15 | // code. This may fail (for example, it used to always fail on Android), in
16 | // which case it will return an empty string. It'll also return an empty string
17 | // when the timezone is Etc/UTC or Etc/UCT, but will return 'GB" for Etc/GMT
18 | // because people in the UK tends to select Etc/GMT by mistake instead of
19 | // Europe/London (British Time).
20 | BASE_I18N_EXPORT std::string CountryCodeForCurrentTimezone();
21 |
22 | } // namespace base
23 |
24 | #endif // BASE_I18N_TIMEZONE_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/ios/block_types.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_IOS_BLOCK_TYPES_H_
6 | #define BASE_IOS_BLOCK_TYPES_H_
7 |
8 | // A generic procedural block type that takes no arguments and returns nothing.
9 | typedef void (^ProceduralBlock)(void);
10 |
11 | // A block that takes no arguments and returns a bool.
12 | typedef bool (^ConditionBlock)(void);
13 |
14 | #endif // BASE_IOS_BLOCK_TYPES_H_
15 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/ios/ns_error_util.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_IOS_NS_ERROR_UTIL_H_
6 | #define BASE_IOS_NS_ERROR_UTIL_H_
7 |
8 | @class NSError;
9 |
10 | namespace base {
11 | namespace ios {
12 |
13 | // Iterates through |error|'s underlying errors and returns the first error for
14 | // which there is no underlying error.
15 | NSError* GetFinalUnderlyingErrorFromError(NSError* error);
16 |
17 | // Returns a copy of |original_error| with |underlying_error| appended to the
18 | // end of its underlying error chain.
19 | NSError* ErrorWithAppendedUnderlyingError(NSError* original_error,
20 | NSError* underlying_error);
21 |
22 | } // namespace ios
23 | } // namespace base
24 |
25 | #endif // BASE_IOS_NS_ERROR_UTIL_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/mac/os_crash_dumps.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_MAC_OS_CRASH_DUMPS_H_
6 | #define BASE_MAC_OS_CRASH_DUMPS_H_
7 |
8 | #include "base/base_export.h"
9 |
10 | namespace base {
11 | namespace mac {
12 |
13 | // On Mac OS X, it can take a really long time for the OS crash handler to
14 | // process a Chrome crash when debugging symbols are available. This
15 | // translates into a long wait until the process actually dies. This call
16 | // disables Apple Crash Reporter entirely.
17 | BASE_EXPORT void DisableOSCrashDumps();
18 |
19 | } // namespace mac
20 | } // namespace base
21 |
22 | #endif // BASE_MAC_OS_CRASH_DUMPS_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/mac/scoped_dispatch_object.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_MAC_SCOPED_DISPATCH_OBJECT_H_
6 | #define BASE_MAC_SCOPED_DISPATCH_OBJECT_H_
7 |
8 | #include
9 |
10 | #include "base/mac/scoped_typeref.h"
11 |
12 | namespace base {
13 |
14 | namespace internal {
15 |
16 | template
17 | struct ScopedDispatchObjectTraits {
18 | static constexpr T InvalidValue() { return nullptr; }
19 | static T Retain(T object) {
20 | dispatch_retain(object);
21 | return object;
22 | }
23 | static void Release(T object) {
24 | dispatch_release(object);
25 | }
26 | };
27 |
28 | } // namepsace internal
29 |
30 | template
31 | using ScopedDispatchObject =
32 | ScopedTypeRef>;
33 |
34 | } // namespace base
35 |
36 | #endif // BASE_MAC_SCOPED_DISPATCH_OBJECT_H_
37 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/mac/scoped_ionotificationportref.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_MAC_SCOPED_IONOTIFICATIONPORTREF_H_
6 | #define BASE_MAC_SCOPED_IONOTIFICATIONPORTREF_H_
7 |
8 | #include
9 |
10 | #include "base/scoped_generic.h"
11 |
12 | namespace base {
13 | namespace mac {
14 |
15 | namespace internal {
16 |
17 | struct ScopedIONotificationPortRefTraits {
18 | static IONotificationPortRef InvalidValue() { return nullptr; }
19 | static void Free(IONotificationPortRef object) {
20 | IONotificationPortDestroy(object);
21 | }
22 | };
23 |
24 | } // namepsace internal
25 |
26 | using ScopedIONotificationPortRef =
27 | ScopedGeneric;
29 |
30 | } // namespace mac
31 | } // namespace base
32 |
33 | #endif // BASE_MAC_SCOPED_IONOTIFICATIONPORTREF_H_
34 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/mac/scoped_launch_data.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_MAC_SCOPED_LAUNCH_DATA_H_
6 | #define BASE_MAC_SCOPED_LAUNCH_DATA_H_
7 |
8 | #include
9 |
10 | #include "base/scoped_generic.h"
11 |
12 | namespace base {
13 | namespace mac {
14 |
15 | namespace internal {
16 |
17 | struct ScopedLaunchDataTraits {
18 | static launch_data_t InvalidValue() { return nullptr; }
19 | static void Free(launch_data_t ldt) { launch_data_free(ldt); }
20 | };
21 |
22 | } // namespace internal
23 |
24 | // Just like std::unique_ptr<> but for launch_data_t.
25 | using ScopedLaunchData =
26 | ScopedGeneric;
27 |
28 | } // namespace mac
29 | } // namespace base
30 |
31 | #endif // BASE_MAC_SCOPED_LAUNCH_DATA_H_
32 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/memory/free_deleter.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_MEMORY_FREE_DELETER_H_
6 | #define BASE_MEMORY_FREE_DELETER_H_
7 |
8 | #include
9 |
10 | namespace base {
11 |
12 | // Function object which invokes 'free' on its parameter, which must be
13 | // a pointer. Can be used to store malloc-allocated pointers in std::unique_ptr:
14 | //
15 | // std::unique_ptr foo_ptr(
16 | // static_cast(malloc(sizeof(int))));
17 | struct FreeDeleter {
18 | inline void operator()(void* ptr) const {
19 | free(ptr);
20 | }
21 | };
22 |
23 | } // namespace base
24 |
25 | #endif // BASE_MEMORY_FREE_DELETER_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/memory/ptr_util.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_MEMORY_PTR_UTIL_H_
6 | #define BASE_MEMORY_PTR_UTIL_H_
7 |
8 | #include
9 | #include
10 |
11 | namespace base {
12 |
13 | // Helper to transfer ownership of a raw pointer to a std::unique_ptr.
14 | // Note that std::unique_ptr has very different semantics from
15 | // std::unique_ptr: do not use this helper for array allocations.
16 | template
17 | std::unique_ptr WrapUnique(T* ptr) {
18 | return std::unique_ptr(ptr);
19 | }
20 |
21 | } // namespace base
22 |
23 | #endif // BASE_MEMORY_PTR_UTIL_H_
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/memory/scoped_policy.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_MEMORY_SCOPED_POLICY_H_
6 | #define BASE_MEMORY_SCOPED_POLICY_H_
7 |
8 | namespace base {
9 | namespace scoped_policy {
10 |
11 | // Defines the ownership policy for a scoped object.
12 | enum OwnershipPolicy {
13 | // The scoped object takes ownership of an object by taking over an existing
14 | // ownership claim.
15 | ASSUME,
16 |
17 | // The scoped object will retain the the object and any initial ownership is
18 | // not changed.
19 | RETAIN
20 | };
21 |
22 | } // namespace scoped_policy
23 | } // namespace base
24 |
25 | #endif // BASE_MEMORY_SCOPED_POLICY_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/message_loop/timer_slack.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_MESSAGE_LOOP_TIMER_SLACK_H_
6 | #define BASE_MESSAGE_LOOP_TIMER_SLACK_H_
7 |
8 | namespace base {
9 |
10 | // Amount of timer slack to use for delayed timers. Increasing timer slack
11 | // allows the OS to coalesce timers more effectively.
12 | enum TimerSlack {
13 | // Lowest value for timer slack allowed by OS.
14 | TIMER_SLACK_NONE,
15 |
16 | // Maximal value for timer slack allowed by OS.
17 | TIMER_SLACK_MAXIMUM
18 | };
19 |
20 | } // namespace base
21 |
22 | #endif // BASE_MESSAGE_LOOP_TIMER_SLACK_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/metrics/metrics_hashes.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_METRICS_METRICS_HASHES_H_
6 | #define BASE_METRICS_METRICS_HASHES_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 | #include "base/strings/string_piece.h"
12 |
13 | namespace base {
14 |
15 | // Computes a uint64_t hash of a given string based on its MD5 hash. Suitable
16 | // for metric names.
17 | BASE_EXPORT uint64_t HashMetricName(base::StringPiece name);
18 |
19 | } // namespace metrics
20 |
21 | #endif // BASE_METRICS_METRICS_HASHES_H_
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/metrics/record_histogram_checker.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_METRICS_RECORD_HISTOGRAM_CHECKER_H_
6 | #define BASE_METRICS_RECORD_HISTOGRAM_CHECKER_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 |
12 | namespace base {
13 |
14 | // RecordHistogramChecker provides an interface for checking whether
15 | // the given histogram should be recorded.
16 | class BASE_EXPORT RecordHistogramChecker {
17 | public:
18 | virtual ~RecordHistogramChecker() = default;
19 |
20 | // Returns true iff the given histogram should be recorded.
21 | // This method may be called on any thread, so it should not mutate any state.
22 | virtual bool ShouldRecord(uint64_t histogram_hash) const = 0;
23 | };
24 |
25 | } // namespace base
26 |
27 | #endif // BASE_METRICS_RECORD_HISTOGRAM_CHECKER_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/numerics/math_constants.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_NUMERICS_MATH_CONSTANTS_H_
6 | #define BASE_NUMERICS_MATH_CONSTANTS_H_
7 |
8 | namespace base {
9 |
10 | constexpr double kPiDouble = 3.14159265358979323846;
11 | constexpr float kPiFloat = 3.14159265358979323846f;
12 |
13 | } // namespace base
14 |
15 | #endif // BASE_NUMERICS_MATH_CONSTANTS_H_
16 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/numerics/ranges.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_NUMERICS_RANGES_H_
6 | #define BASE_NUMERICS_RANGES_H_
7 |
8 | #include
9 | #include
10 |
11 | namespace base {
12 |
13 | // To be replaced with std::clamp() from C++17, someday.
14 | template
15 | constexpr const T& ClampToRange(const T& value, const T& min, const T& max) {
16 | return std::min(std::max(value, min), max);
17 | }
18 |
19 | template
20 | constexpr bool IsApproximatelyEqual(T lhs, T rhs, T tolerance) {
21 | static_assert(std::is_arithmetic::value, "Argument must be arithmetic");
22 | return std::abs(rhs - lhs) <= tolerance;
23 | }
24 |
25 | } // namespace base
26 |
27 | #endif // BASE_NUMERICS_RANGES_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/numerics/safe_math.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_NUMERICS_SAFE_MATH_H_
6 | #define BASE_NUMERICS_SAFE_MATH_H_
7 |
8 | #include "base/numerics/checked_math.h"
9 | #include "base/numerics/clamped_math.h"
10 | #include "base/numerics/safe_conversions.h"
11 |
12 | #endif // BASE_NUMERICS_SAFE_MATH_H_
13 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/os_compat_android.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_OS_COMPAT_ANDROID_H_
6 | #define BASE_OS_COMPAT_ANDROID_H_
7 |
8 | #include
9 | #include
10 | #include
11 |
12 | // Not implemented in Bionic.
13 | extern "C" int futimes(int fd, const struct timeval tv[2]);
14 |
15 | // Not exposed or implemented in Bionic.
16 | extern "C" char* mkdtemp(char* path);
17 |
18 | // Android has no timegm().
19 | extern "C" time_t timegm(struct tm* const t);
20 |
21 | #endif // BASE_OS_COMPAT_ANDROID_H_
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/os_compat_nacl.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_OS_COMPAT_NACL_H_
6 | #define BASE_OS_COMPAT_NACL_H_
7 |
8 | #include
9 |
10 | #if !defined (__GLIBC__)
11 | // NaCl has no timegm().
12 | extern "C" time_t timegm(struct tm* const t);
13 | #endif // !defined (__GLIBC__)
14 |
15 | #endif // BASE_OS_COMPAT_NACL_H_
16 |
17 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/power_monitor/power_observer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_POWER_MONITOR_POWER_OBSERVER_H_
6 | #define BASE_POWER_MONITOR_POWER_OBSERVER_H_
7 |
8 | #include "base/base_export.h"
9 | #include "base/compiler_specific.h"
10 |
11 | namespace base {
12 |
13 | class BASE_EXPORT PowerObserver {
14 | public:
15 | // Notification of a change in power status of the computer, such
16 | // as from switching between battery and A/C power.
17 | virtual void OnPowerStateChange(bool on_battery_power) {};
18 |
19 | // Notification that the system is suspending.
20 | virtual void OnSuspend() {}
21 |
22 | // Notification that the system is resuming.
23 | virtual void OnResume() {}
24 |
25 | protected:
26 | virtual ~PowerObserver() = default;
27 | };
28 |
29 | } // namespace base
30 |
31 | #endif // BASE_POWER_MONITOR_POWER_OBSERVER_H_
32 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/scoped_clear_errno.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_SCOPED_CLEAR_ERRNO_H_
6 | #define BASE_SCOPED_CLEAR_ERRNO_H_
7 |
8 | #include
9 |
10 | #include "base/macros.h"
11 |
12 | namespace base {
13 |
14 | // Simple scoper that saves the current value of errno, resets it to 0, and on
15 | // destruction puts the old value back.
16 | class ScopedClearErrno {
17 | public:
18 | ScopedClearErrno() : old_errno_(errno) {
19 | errno = 0;
20 | }
21 | ~ScopedClearErrno() {
22 | if (errno == 0)
23 | errno = old_errno_;
24 | }
25 |
26 | private:
27 | const int old_errno_;
28 |
29 | DISALLOW_COPY_AND_ASSIGN(ScopedClearErrno);
30 | };
31 |
32 | } // namespace base
33 |
34 | #endif // BASE_SCOPED_CLEAR_ERRNO_H_
35 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/sha1.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_SHA1_H_
6 | #define BASE_SHA1_H_
7 |
8 | #include
9 |
10 | #include
11 |
12 | #include "base/base_export.h"
13 |
14 | namespace base {
15 |
16 | // These functions perform SHA-1 operations.
17 |
18 | static const size_t kSHA1Length = 20; // Length in bytes of a SHA-1 hash.
19 |
20 | // Computes the SHA-1 hash of the input string |str| and returns the full
21 | // hash.
22 | BASE_EXPORT std::string SHA1HashString(const std::string& str);
23 |
24 | // Computes the SHA-1 hash of the |len| bytes in |data| and puts the hash
25 | // in |hash|. |hash| must be kSHA1Length bytes long.
26 | BASE_EXPORT void SHA1HashBytes(const unsigned char* data, size_t len,
27 | unsigned char* hash);
28 |
29 | } // namespace base
30 |
31 | #endif // BASE_SHA1_H_
32 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/strings/pattern.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_STRINGS_PATTERN_H_
6 | #define BASE_STRINGS_PATTERN_H_
7 |
8 | #include "base/base_export.h"
9 | #include "base/strings/string_piece.h"
10 |
11 | namespace base {
12 |
13 | // Returns true if the |string| passed in matches the |pattern|. The pattern
14 | // string can contain wildcards like * and ?.
15 | //
16 | // The backslash character (\) is an escape character for * and ?.
17 | // ? matches 0 or 1 character, while * matches 0 or more characters.
18 | BASE_EXPORT bool MatchPattern(StringPiece string, StringPiece pattern);
19 | BASE_EXPORT bool MatchPattern(StringPiece16 string, StringPiece16 pattern);
20 |
21 | } // namespace base
22 |
23 | #endif // BASE_STRINGS_PATTERN_H_
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/strings/string_piece_forward.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | // Forward declaration of StringPiece types from base/strings/string_piece.h
6 |
7 | #ifndef BASE_STRINGS_STRING_PIECE_FORWARD_H_
8 | #define BASE_STRINGS_STRING_PIECE_FORWARD_H_
9 |
10 | #include
11 |
12 | #include "base/strings/string16.h"
13 |
14 | namespace base {
15 |
16 | template
17 | class BasicStringPiece;
18 | typedef BasicStringPiece StringPiece;
19 | typedef BasicStringPiece StringPiece16;
20 | typedef BasicStringPiece WStringPiece;
21 |
22 | } // namespace base
23 |
24 | #endif // BASE_STRINGS_STRING_PIECE_FORWARD_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/synchronization/cancellation_flag.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_SYNCHRONIZATION_CANCELLATION_FLAG_H_
6 | #define BASE_SYNCHRONIZATION_CANCELLATION_FLAG_H_
7 |
8 | #include "base/synchronization/atomic_flag.h"
9 |
10 | namespace base {
11 |
12 | // Use inheritance instead of "using" to allow forward declaration of "class
13 | // CancellationFlag".
14 | // TODO(fdoray): Replace CancellationFlag with AtomicFlag throughout the
15 | // codebase and delete this file. crbug.com/630251
16 | class CancellationFlag : public AtomicFlag {};
17 |
18 | } // namespace base
19 |
20 | #endif // BASE_SYNCHRONIZATION_CANCELLATION_FLAG_H_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/sys_info_internal.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_SYS_INFO_INTERNAL_H_
6 | #define BASE_SYS_INFO_INTERNAL_H_
7 |
8 | #include "base/macros.h"
9 |
10 | namespace base {
11 |
12 | namespace internal {
13 |
14 | template
15 | class LazySysInfoValue {
16 | public:
17 | LazySysInfoValue()
18 | : value_(F()) { }
19 |
20 | ~LazySysInfoValue() = default;
21 |
22 | T value() { return value_; }
23 |
24 | private:
25 | const T value_;
26 |
27 | DISALLOW_COPY_AND_ASSIGN(LazySysInfoValue);
28 | };
29 |
30 | } // namespace internal
31 |
32 | } // namespace base
33 |
34 | #endif // BASE_SYS_INFO_INTERNAL_H_
35 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/task_scheduler/can_schedule_sequence_observer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TASK_SCHEDULER_CAN_SCHEDULE_SEQUENCE_OBSERVER_H_
6 | #define BASE_TASK_SCHEDULER_CAN_SCHEDULE_SEQUENCE_OBSERVER_H_
7 |
8 | #include "base/task_scheduler/sequence.h"
9 |
10 | namespace base {
11 | namespace internal {
12 |
13 | class CanScheduleSequenceObserver {
14 | public:
15 | // Called when |sequence| can be scheduled. It is expected that
16 | // TaskTracker::RunNextTask() will be called with |sequence| as argument after
17 | // this is called.
18 | virtual void OnCanScheduleSequence(scoped_refptr sequence) = 0;
19 |
20 | protected:
21 | virtual ~CanScheduleSequenceObserver() = default;
22 | };
23 |
24 | } // namespace internal
25 | } // namespace base
26 |
27 | #endif // BASE_TASK_SCHEDULER_CAN_SCHEDULE_SEQUENCE_OBSERVER_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/task_scheduler/initialization_util.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TASK_SCHEDULER_INITIALIZATION_UTIL_H_
6 | #define BASE_TASK_SCHEDULER_INITIALIZATION_UTIL_H_
7 |
8 | #include "base/base_export.h"
9 |
10 | namespace base {
11 |
12 | // Computes a value that may be used as the maximum number of threads in a
13 | // TaskScheduler pool. Developers may use other methods to choose this maximum.
14 | BASE_EXPORT int RecommendedMaxNumberOfThreadsInPool(int min,
15 | int max,
16 | double cores_multiplier,
17 | int offset);
18 |
19 | } // namespace base
20 |
21 | #endif // BASE_TASK_SCHEDULER_INITIALIZATION_UTIL_H_
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/task_scheduler/scheduler_worker_observer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TASK_SCHEDULER_SCHEDULER_WORKER_OBSERVER_H_
6 | #define BASE_TASK_SCHEDULER_SCHEDULER_WORKER_OBSERVER_H_
7 |
8 | namespace base {
9 |
10 | // Interface to observe entry and exit of the main function of a TaskScheduler
11 | // worker.
12 | class SchedulerWorkerObserver {
13 | public:
14 | virtual ~SchedulerWorkerObserver() = default;
15 |
16 | // Invoked at the beginning of the main function of a TaskScheduler worker,
17 | // before any task runs.
18 | virtual void OnSchedulerWorkerMainEntry() = 0;
19 |
20 | // Invoked at the end of the main function of a TaskScheduler worker, when it
21 | // can no longer run tasks.
22 | virtual void OnSchedulerWorkerMainExit() = 0;
23 | };
24 |
25 | } // namespace base
26 |
27 | #endif // BASE_TASK_SCHEDULER_SCHEDULER_WORKER_OBSERVER_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/task_scheduler/scheduler_worker_params.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TASK_SCHEDULER_SCHEDULER_WORKER_PARAMS_H_
6 | #define BASE_TASK_SCHEDULER_SCHEDULER_WORKER_PARAMS_H_
7 |
8 | namespace base {
9 |
10 | enum class SchedulerBackwardCompatibility {
11 | // No backward compatibility.
12 | DISABLED,
13 |
14 | // On Windows, initialize COM STA to mimic SequencedWorkerPool and
15 | // BrowserThreadImpl. Behaves like DISABLED on other platforms.
16 | // TODO(fdoray): Get rid of this and force tasks that care about a
17 | // CoInitialized environment to request one explicitly (via an upcoming
18 | // execution mode).
19 | INIT_COM_STA,
20 | };
21 |
22 | } // namespace base
23 |
24 | #endif // BASE_TASK_SCHEDULER_SCHEDULER_WORKER_PARAMS_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/android/url_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_ANDROID_URL_UTILS_H_
6 | #define BASE_TEST_ANDROID_URL_UTILS_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 | #include "base/files/file_path.h"
12 |
13 | namespace base {
14 | namespace android {
15 |
16 | // Returns the root of the test data directory. This function will call into
17 | // Java class UrlUtils through JNI bridge.
18 | BASE_EXPORT FilePath GetIsolatedTestRoot();
19 |
20 | } // namespace android
21 | } // namespace base
22 |
23 | #endif // BASE_TEST_ANDROID_URL_UTILS_H_
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/fontconfig_util_linux.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_FONTCONFIG_UTIL_LINUX_H_
6 | #define BASE_TEST_FONTCONFIG_UTIL_LINUX_H_
7 |
8 | namespace base {
9 |
10 | // Initializes Fontconfig with a custom configuration suitable for tests.
11 | void SetUpFontconfig();
12 |
13 | // Deinitializes Fontconfig.
14 | void TearDownFontconfig();
15 |
16 | } // namespace base
17 |
18 | #endif // BASE_TEST_FONTCONFIG_UTIL_LINUX_H_
19 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/gtest_xml_util.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_GTEST_XML_UTIL_H_
6 | #define BASE_TEST_GTEST_XML_UTIL_H_
7 |
8 | #include
9 |
10 | #include "base/compiler_specific.h"
11 |
12 | namespace base {
13 |
14 | class FilePath;
15 | struct TestResult;
16 |
17 | // Produces a vector of test results based on GTest output file.
18 | // Returns true iff the output file exists and has been successfully parsed.
19 | // On successful return |crashed| is set to true if the test results
20 | // are valid but incomplete.
21 | bool ProcessGTestOutput(const base::FilePath& output_file,
22 | std::vector* results,
23 | bool* crashed) WARN_UNUSED_RESULT;
24 |
25 | } // namespace base
26 |
27 | #endif // BASE_TEST_GTEST_XML_UTIL_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/launcher/test_launcher_nacl_nonsfi.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_LAUNCHER_TEST_LAUNCHER_NACL_NONSFI_H_
6 | #define BASE_TEST_LAUNCHER_TEST_LAUNCHER_NACL_NONSFI_H_
7 |
8 | #include
9 |
10 | namespace base {
11 |
12 | // Launches the NaCl Non-SFI test binary |test_binary|.
13 | int TestLauncherNonSfiMain(const std::string& test_binary);
14 |
15 | } // namespace base
16 |
17 | #endif // BASE_TEST_LAUNCHER_TEST_LAUNCHER_NACL_NONSFI_H_
18 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/malloc_wrapper.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_MALLOC_WRAPPER_H_
6 | #define BASE_TEST_MALLOC_WRAPPER_H_
7 |
8 | #include
9 |
10 | // BASE_EXPORT depends on COMPONENT_BUILD.
11 | // This will always be a separate shared library, so don't use BASE_EXPORT here.
12 | #if defined(WIN32)
13 | #define MALLOC_WRAPPER_EXPORT __declspec(dllexport)
14 | #else
15 | #define MALLOC_WRAPPER_EXPORT __attribute__((visibility("default")))
16 | #endif // defined(WIN32)
17 |
18 | // Calls malloc directly.
19 | MALLOC_WRAPPER_EXPORT void* MallocWrapper(size_t size);
20 |
21 | #endif // BASE_TEST_MALLOC_WRAPPER_H_
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/mock_devices_changed_observer.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_MOCK_DEVICES_CHANGED_OBSERVER_H_
6 | #define BASE_TEST_MOCK_DEVICES_CHANGED_OBSERVER_H_
7 |
8 | #include
9 |
10 | #include "base/macros.h"
11 | #include "base/system_monitor/system_monitor.h"
12 | #include "testing/gmock/include/gmock/gmock.h"
13 |
14 | namespace base {
15 |
16 | class MockDevicesChangedObserver
17 | : public base::SystemMonitor::DevicesChangedObserver {
18 | public:
19 | MockDevicesChangedObserver();
20 | ~MockDevicesChangedObserver() override;
21 |
22 | MOCK_METHOD1(OnDevicesChanged,
23 | void(base::SystemMonitor::DeviceType device_type));
24 |
25 | private:
26 | DISALLOW_COPY_AND_ASSIGN(MockDevicesChangedObserver);
27 | };
28 |
29 | } // namespace base
30 |
31 | #endif // BASE_TEST_MOCK_DEVICES_CHANGED_OBSERVER_H_
32 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/mock_entropy_provider.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_MOCK_ENTROPY_PROVIDER_H_
6 | #define BASE_TEST_MOCK_ENTROPY_PROVIDER_H_
7 |
8 | #include
9 |
10 | #include "base/metrics/field_trial.h"
11 |
12 | namespace base {
13 |
14 | class MockEntropyProvider : public base::FieldTrial::EntropyProvider {
15 | public:
16 | MockEntropyProvider();
17 | explicit MockEntropyProvider(double entropy_value);
18 | ~MockEntropyProvider() override;
19 |
20 | // base::FieldTrial::EntropyProvider:
21 | double GetEntropyForTrial(const std::string& trial_name,
22 | uint32_t randomization_seed) const override;
23 |
24 | private:
25 | double entropy_value_;
26 |
27 | DISALLOW_COPY_AND_ASSIGN(MockEntropyProvider);
28 | };
29 |
30 | } // namespace base
31 |
32 | #endif // BASE_TEST_MOCK_ENTROPY_PROVIDER_H_
33 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/native_library_test_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_NATIVE_LIBRARY_TEST_UTILS_H_
6 | #define BASE_TEST_NATIVE_LIBRARY_TEST_UTILS_H_
7 |
8 | #include "build/build_config.h"
9 |
10 | #if defined(OS_WIN)
11 | #define NATIVE_LIBRARY_TEST_ALWAYS_EXPORT __declspec(dllexport)
12 | #else
13 | #define NATIVE_LIBRARY_TEST_ALWAYS_EXPORT __attribute__((visibility("default")))
14 | #endif
15 |
16 | extern "C" {
17 |
18 | extern NATIVE_LIBRARY_TEST_ALWAYS_EXPORT int g_native_library_exported_value;
19 |
20 | // A function which increments an internal counter value and returns its value.
21 | // The first call returns 1, then 2, etc.
22 | NATIVE_LIBRARY_TEST_ALWAYS_EXPORT int NativeLibraryTestIncrement();
23 |
24 | } // extern "C"
25 |
26 | #endif // BASE_TEST_NATIVE_LIBRARY_TEST_UTILS_H_
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/perf_log.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_PERF_LOG_H_
6 | #define BASE_TEST_PERF_LOG_H_
7 |
8 | namespace base {
9 |
10 | class FilePath;
11 |
12 | // Initializes and finalizes the perf log. These functions should be
13 | // called at the beginning and end (respectively) of running all the
14 | // performance tests. The init function returns true on success.
15 | bool InitPerfLog(const FilePath& log_path);
16 | void FinalizePerfLog();
17 |
18 | // Writes to the perf result log the given 'value' resulting from the
19 | // named 'test'. The units are to aid in reading the log by people.
20 | void LogPerfResult(const char* test_name, double value, const char* units);
21 |
22 | } // namespace base
23 |
24 | #endif // BASE_TEST_PERF_LOG_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/perf_test_suite.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_PERF_TEST_SUITE_H_
6 | #define BASE_TEST_PERF_TEST_SUITE_H_
7 |
8 | #include "base/test/test_suite.h"
9 |
10 | namespace base {
11 |
12 | class PerfTestSuite : public TestSuite {
13 | public:
14 | PerfTestSuite(int argc, char** argv);
15 |
16 | void Initialize() override;
17 | void Shutdown() override;
18 | };
19 |
20 | } // namespace base
21 |
22 | #endif // BASE_TEST_PERF_TEST_SUITE_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/scoped_locale.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_SCOPED_LOCALE_H_
6 | #define BASE_TEST_SCOPED_LOCALE_H_
7 |
8 | #include
9 |
10 | #include "base/macros.h"
11 |
12 | namespace base {
13 |
14 | // Sets the given |locale| on construction, and restores the previous locale
15 | // on destruction.
16 | class ScopedLocale {
17 | public:
18 | explicit ScopedLocale(const std::string& locale);
19 | ~ScopedLocale();
20 |
21 | private:
22 | std::string prev_locale_;
23 |
24 | DISALLOW_COPY_AND_ASSIGN(ScopedLocale);
25 | };
26 |
27 | } // namespace base
28 |
29 | #endif // BASE_TEST_SCOPED_LOCALE_H_
30 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/test_listener_ios.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_TEST_LISTENER_IOS_H_
6 | #define BASE_TEST_TEST_LISTENER_IOS_H_
7 |
8 | namespace base {
9 | namespace test_listener_ios {
10 |
11 | // Register an IOSRunLoopListener.
12 | void RegisterTestEndListener();
13 |
14 | } // namespace test_listener_ios
15 | } // namespace base
16 |
17 | #endif // BASE_TEST_TEST_LISTENER_IOS_H_
18 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/test_support_android.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_TEST_SUPPORT_ANDROID_H_
6 | #define BASE_TEST_TEST_SUPPORT_ANDROID_H_
7 |
8 | #include "base/base_export.h"
9 |
10 | namespace base {
11 |
12 | class FilePath;
13 |
14 | // Init logging for tests on Android. Logs will be output into Android's logcat.
15 | BASE_EXPORT void InitAndroidTestLogging();
16 |
17 | // Init path providers for tests on Android.
18 | BASE_EXPORT void InitAndroidTestPaths(const FilePath& test_data_dir);
19 |
20 | // Init the message loop for tests on Android.
21 | BASE_EXPORT void InitAndroidTestMessageLoop();
22 |
23 | } // namespace base
24 |
25 | #endif // BASE_TEST_TEST_SUPPORT_ANDROID_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/test_support_ios.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_TEST_SUPPORT_IOS_H_
6 | #define BASE_TEST_TEST_SUPPORT_IOS_H_
7 |
8 | #include "base/test/test_suite.h"
9 |
10 | namespace base {
11 |
12 | // Inits the message loop for tests on iOS.
13 | void InitIOSTestMessageLoop();
14 |
15 | // Inits the run hook for tests on iOS.
16 | void InitIOSRunHook(TestSuite* suite, int argc, char* argv[]);
17 |
18 | // Launches an iOS app that runs the tests in the suite passed to
19 | // InitIOSRunHook.
20 | void RunTestsFromIOSApp();
21 |
22 | } // namespace base
23 |
24 | #endif // BASE_TEST_TEST_SUPPORT_IOS_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/test_ui_thread_android.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_TEST_UI_THREAD_ANDROID_
6 | #define BASE_TEST_TEST_UI_THREAD_ANDROID_
7 |
8 | #include
9 |
10 | namespace base {
11 |
12 | // Set up a thread as the Chromium UI Thread, and run its looper. This is is
13 | // intended for C++ unit tests (e.g. the net unit tests) that don't run with the
14 | // UI thread as their main looper, but test code that, on Android, uses UI
15 | // thread events, so need a running UI thread.
16 | void StartTestUiThreadLooper();
17 |
18 | } // namespace base
19 |
20 | #endif // BASE_TEST_TEST_UI_THREAD_ANDROID_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/test/trace_to_file.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TEST_TRACE_TO_FILE_H_
6 | #define BASE_TEST_TRACE_TO_FILE_H_
7 |
8 | #include "base/files/file_path.h"
9 |
10 | namespace base {
11 | namespace test {
12 |
13 | class TraceToFile {
14 | public:
15 | TraceToFile();
16 | ~TraceToFile();
17 |
18 | void BeginTracingFromCommandLineOptions();
19 | void BeginTracing(const base::FilePath& path, const std::string& categories);
20 | void EndTracingIfNeeded();
21 |
22 | private:
23 | void WriteFileHeader();
24 | void AppendFileFooter();
25 |
26 | void TraceOutputCallback(const std::string& data);
27 |
28 | base::FilePath path_;
29 | bool started_;
30 | };
31 |
32 | } // namespace test
33 | } // namespace base
34 |
35 | #endif // BASE_TEST_TRACE_TO_FILE_H_
36 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/third_party/libevent/strlcpy-internal.h:
--------------------------------------------------------------------------------
1 | #ifndef _STRLCPY_INTERNAL_H_
2 | #define _STRLCPY_INTERNAL_H_
3 |
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 |
8 | #ifdef HAVE_CONFIG_H
9 | #include "config.h"
10 | #endif /* HAVE_CONFIG_H */
11 |
12 | #ifndef HAVE_STRLCPY
13 | #include
14 | size_t _event_strlcpy(char *dst, const char *src, size_t siz);
15 | #define strlcpy _event_strlcpy
16 | #endif
17 |
18 | #ifdef __cplusplus
19 | }
20 | #endif
21 |
22 | #endif
23 |
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/third_party/symbolize/config.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #define GOOGLE_NAMESPACE google
6 | #define _END_GOOGLE_NAMESPACE_ }
7 | #define _START_GOOGLE_NAMESPACE_ namespace google {
8 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/third_party/symbolize/glog/logging.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | // Empty.
6 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/third_party/symbolize/glog/raw_logging.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #define WARNING 1;
6 | #define RAW_LOG(severity, ...); // Do nothing.
7 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/third_party/symbolize/utilities.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #include
6 | #include
7 | #include
8 | #include
9 |
10 | #define HAVE_SYMBOLIZE 1
11 | #define ATTRIBUTE_NOINLINE __attribute__ ((noinline))
12 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/time/default_clock.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TIME_DEFAULT_CLOCK_H_
6 | #define BASE_TIME_DEFAULT_CLOCK_H_
7 |
8 | #include "base/base_export.h"
9 | #include "base/compiler_specific.h"
10 | #include "base/time/clock.h"
11 |
12 | namespace base {
13 |
14 | // DefaultClock is a Clock implementation that uses Time::Now().
15 | class BASE_EXPORT DefaultClock : public Clock {
16 | public:
17 | ~DefaultClock() override;
18 |
19 | // Simply returns Time::Now().
20 | Time Now() const override;
21 |
22 | // Returns a shared instance of DefaultClock. This is thread-safe.
23 | static DefaultClock* GetInstance();
24 | };
25 |
26 | } // namespace base
27 |
28 | #endif // BASE_TIME_DEFAULT_CLOCK_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/time/default_tick_clock.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TIME_DEFAULT_TICK_CLOCK_H_
6 | #define BASE_TIME_DEFAULT_TICK_CLOCK_H_
7 |
8 | #include "base/base_export.h"
9 | #include "base/time/tick_clock.h"
10 |
11 | namespace base {
12 |
13 | // DefaultClock is a Clock implementation that uses TimeTicks::Now().
14 | class BASE_EXPORT DefaultTickClock : public TickClock {
15 | public:
16 | ~DefaultTickClock() override;
17 |
18 | // Simply returns TimeTicks::Now().
19 | TimeTicks NowTicks() const override;
20 |
21 | // Returns a shared instance of DefaultTickClock. This is thread-safe.
22 | static const DefaultTickClock* GetInstance();
23 | };
24 |
25 | } // namespace base
26 |
27 | #endif // BASE_TIME_DEFAULT_TICK_CLOCK_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/time/time_to_iso8601.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TIME_TIME_TO_ISO8601_H_
6 | #define BASE_TIME_TIME_TO_ISO8601_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 |
12 | namespace base {
13 |
14 | class Time;
15 |
16 | BASE_EXPORT std::string TimeToISO8601(const base::Time& t);
17 |
18 | } // namespace base
19 |
20 | #endif // BASE_TIME_TIME_TO_ISO8601_H_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/timer/elapsed_timer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_TIMER_ELAPSED_TIMER_H_
6 | #define BASE_TIMER_ELAPSED_TIMER_H_
7 |
8 | #include "base/base_export.h"
9 | #include "base/macros.h"
10 | #include "base/time/time.h"
11 |
12 | namespace base {
13 |
14 | // A simple wrapper around TimeTicks::Now().
15 | class BASE_EXPORT ElapsedTimer {
16 | public:
17 | ElapsedTimer();
18 | ElapsedTimer(ElapsedTimer&& other);
19 |
20 | void operator=(ElapsedTimer&& other);
21 |
22 | // Returns the time elapsed since object construction.
23 | TimeDelta Elapsed() const;
24 |
25 | private:
26 | TimeTicks begin_;
27 |
28 | DISALLOW_COPY_AND_ASSIGN(ElapsedTimer);
29 | };
30 |
31 | } // namespace base
32 |
33 | #endif // BASE_TIMER_ELAPSED_TIMER_H_
34 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/win/current_module.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_WIN_CURRENT_MODULE_H_
6 | #define BASE_WIN_CURRENT_MODULE_H_
7 |
8 | #include
9 |
10 | // http://blogs.msdn.com/oldnewthing/archive/2004/10/25/247180.aspx
11 | extern "C" IMAGE_DOS_HEADER __ImageBase;
12 |
13 | // Returns the HMODULE of the dll the macro was expanded in.
14 | // Only use in cc files, not in h files.
15 | #define CURRENT_MODULE() reinterpret_cast(&__ImageBase)
16 |
17 | #endif // BASE_WIN_CURRENT_MODULE_H_
18 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/win/patch_util.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_WIN_PATCH_UTIL_H_
6 | #define BASE_WIN_PATCH_UTIL_H_
7 |
8 | #include
9 |
10 | #include "base/base_export.h"
11 |
12 | namespace base {
13 | namespace win {
14 | namespace internal {
15 |
16 | // Copies |length| bytes from |source| to |destination|, temporarily setting
17 | // |destination| to writable. Returns a Windows error code or NO_ERROR if
18 | // successful.
19 | BASE_EXPORT DWORD ModifyCode(void* destination, const void* source, int length);
20 |
21 | } // namespace internal
22 | } // namespace win
23 | } // namespace bsae
24 |
25 | #endif // BASE_WIN_PATCH_UTIL_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/win/process_startup_helper.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_WIN_PROCESS_STARTUP_HELPER_H_
6 | #define BASE_WIN_PROCESS_STARTUP_HELPER_H_
7 |
8 | #include "base/base_export.h"
9 |
10 | namespace base {
11 |
12 | class CommandLine;
13 |
14 | namespace win {
15 |
16 | // Register the invalid param handler and pure call handler to be able to
17 | // notify breakpad when it happens.
18 | BASE_EXPORT void RegisterInvalidParamHandler();
19 |
20 | // Sets up the CRT's debugging macros to output to stdout.
21 | BASE_EXPORT void SetupCRT(const CommandLine& command_line);
22 |
23 | } // namespace win
24 | } // namespace base
25 |
26 | #endif // BASE_WIN_PROCESS_STARTUP_HELPER_H_
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/win/scoped_windows_thread_environment.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_WIN_SCOPED_WINDOWS_THREAD_ENVIRONMENT_H_
6 | #define BASE_WIN_SCOPED_WINDOWS_THREAD_ENVIRONMENT_H_
7 |
8 | #include "base/macros.h"
9 |
10 | namespace base {
11 | namespace win {
12 |
13 | // Serves as a root class for ScopedCOMInitializer and ScopedWinrtInitializer.
14 | class ScopedWindowsThreadEnvironment {
15 | public:
16 | ScopedWindowsThreadEnvironment() {}
17 | virtual ~ScopedWindowsThreadEnvironment() {}
18 |
19 | virtual bool Succeeded() const = 0;
20 |
21 | private:
22 | DISALLOW_COPY_AND_ASSIGN(ScopedWindowsThreadEnvironment);
23 | };
24 |
25 | } // namespace win
26 | } // namespace base
27 |
28 | #endif // BASE_WIN_SCOPED_WINDOWS_THREAD_ENVIRONMENT_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/base/win/windows_full.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | // This header is needed so that mojo typemap files can specify their dependence
6 | // on Windows.h. This can be removed once https://crbug.com/798763 is resolved.
7 |
8 | #ifndef BASE_WIN_WINDOWS_FULL_H
9 | #define BASE_WIN_WINDOWS_FULL_H
10 |
11 | #include
12 |
13 | #endif // BASE_WIN_WINDOWS_FULL_H
14 |
--------------------------------------------------------------------------------
/libs/webrtc/include/call/callfactory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef CALL_CALLFACTORY_H_
12 | #define CALL_CALLFACTORY_H_
13 |
14 | #include "api/call/callfactoryinterface.h"
15 |
16 | namespace webrtc {
17 |
18 | class CallFactory : public CallFactoryInterface {
19 | ~CallFactory() override {}
20 |
21 | Call* CreateCall(const CallConfig& config) override;
22 | };
23 |
24 | } // namespace webrtc
25 |
26 | #endif // CALL_CALLFACTORY_H_
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/call/rtp_packet_sink_interface.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 | #ifndef CALL_RTP_PACKET_SINK_INTERFACE_H_
11 | #define CALL_RTP_PACKET_SINK_INTERFACE_H_
12 |
13 | namespace webrtc {
14 |
15 | class RtpPacketReceived;
16 |
17 | // This class represents a receiver of already parsed RTP packets.
18 | class RtpPacketSinkInterface {
19 | public:
20 | virtual ~RtpPacketSinkInterface() = default;
21 | virtual void OnRtpPacket(const RtpPacketReceived& packet) = 0;
22 | };
23 |
24 | } // namespace webrtc
25 |
26 | #endif // CALL_RTP_PACKET_SINK_INTERFACE_H_
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/call/test/mock_rtp_packet_sink_interface.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 | #ifndef CALL_TEST_MOCK_RTP_PACKET_SINK_INTERFACE_H_
11 | #define CALL_TEST_MOCK_RTP_PACKET_SINK_INTERFACE_H_
12 |
13 | #include "call/rtp_packet_sink_interface.h"
14 |
15 | #include "test/gmock.h"
16 |
17 | namespace webrtc {
18 |
19 | class MockRtpPacketSink : public RtpPacketSinkInterface {
20 | public:
21 | MOCK_METHOD1(OnRtpPacket, void(const RtpPacketReceived&));
22 | };
23 |
24 | } // namespace webrtc
25 |
26 | #endif // CALL_TEST_MOCK_RTP_PACKET_SINK_INTERFACE_H_
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/call/video_config.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef CALL_VIDEO_CONFIG_H_
12 | #define CALL_VIDEO_CONFIG_H_
13 |
14 | // TODO(bugs.webrtc.org/8830): Header file moved to api/. Delete this
15 | // file as soon as downstream applications are updated.
16 | #include "api/video_codecs/video_encoder_config.h"
17 |
18 | #endif // CALL_VIDEO_CONFIG_H_
19 |
--------------------------------------------------------------------------------
/libs/webrtc/include/common_audio/fft4g.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef COMMON_AUDIO_FFT4G_H_
12 | #define COMMON_AUDIO_FFT4G_H_
13 |
14 | #if defined(__cplusplus)
15 | extern "C" {
16 | #endif
17 |
18 | // Refer to fft4g.c for documentation.
19 | void WebRtc_rdft(size_t n, int isgn, float* a, size_t* ip, float* w);
20 |
21 | #if defined(__cplusplus)
22 | }
23 | #endif
24 |
25 | #endif // COMMON_AUDIO_FFT4G_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/common_audio/fir_filter.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef COMMON_AUDIO_FIR_FILTER_H_
12 | #define COMMON_AUDIO_FIR_FILTER_H_
13 |
14 | #include
15 |
16 | namespace webrtc {
17 |
18 | // Finite Impulse Response filter using floating-point arithmetic.
19 | class FIRFilter {
20 | public:
21 | virtual ~FIRFilter() {}
22 |
23 | // Filters the |in| data supplied.
24 | // |out| must be previously allocated and it must be at least of |length|.
25 | virtual void Filter(const float* in, size_t length, float* out) = 0;
26 | };
27 |
28 | } // namespace webrtc
29 |
30 | #endif // COMMON_AUDIO_FIR_FILTER_H_
31 |
--------------------------------------------------------------------------------
/libs/webrtc/include/common_audio/mocks/mock_smoothing_filter.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef COMMON_AUDIO_MOCKS_MOCK_SMOOTHING_FILTER_H_
12 | #define COMMON_AUDIO_MOCKS_MOCK_SMOOTHING_FILTER_H_
13 |
14 | #include "common_audio/smoothing_filter.h"
15 | #include "test/gmock.h"
16 |
17 | namespace webrtc {
18 |
19 | class MockSmoothingFilter : public SmoothingFilter {
20 | public:
21 | MOCK_METHOD1(AddSample, void(float));
22 | MOCK_METHOD0(GetAverage, absl::optional());
23 | MOCK_METHOD1(SetTimeConstantMs, bool(int));
24 | };
25 |
26 | } // namespace webrtc
27 |
28 | #endif // COMMON_AUDIO_MOCKS_MOCK_SMOOTHING_FILTER_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/common_video/h264/profile_level_id.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef COMMON_VIDEO_H264_PROFILE_LEVEL_ID_H_
12 | #define COMMON_VIDEO_H264_PROFILE_LEVEL_ID_H_
13 |
14 | #include "media/base/h264_profile_level_id.h"
15 |
16 | // TODO(zhihuang): Delete this file once dependent applications switch to
17 | // including "webrtc/media/base/h264_profile_level_id.h" directly.
18 |
19 | #endif // COMMON_VIDEO_H264_PROFILE_LEVEL_ID_H_
20 |
--------------------------------------------------------------------------------
/libs/webrtc/include/media/base/cryptoparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // TODO(bugs.webrtc.org/7504): Remove.
12 | #ifndef MEDIA_BASE_CRYPTOPARAMS_H_
13 | #define MEDIA_BASE_CRYPTOPARAMS_H_
14 |
15 | #include "api/cryptoparams.h"
16 |
17 | #endif // MEDIA_BASE_CRYPTOPARAMS_H_
18 |
--------------------------------------------------------------------------------
/libs/webrtc/include/media/base/turnutils.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MEDIA_BASE_TURNUTILS_H_
12 | #define MEDIA_BASE_TURNUTILS_H_
13 |
14 | #include
15 | #include
16 |
17 | namespace cricket {
18 |
19 | struct PacketOptions;
20 |
21 | // Finds data location within a TURN Channel Message or TURN Send Indication
22 | // message.
23 | bool UnwrapTurnPacket(const uint8_t* packet,
24 | size_t packet_size,
25 | size_t* content_position,
26 | size_t* content_size);
27 |
28 | } // namespace cricket
29 |
30 | #endif // MEDIA_BASE_TURNUTILS_H_
31 |
--------------------------------------------------------------------------------
/libs/webrtc/include/media/base/videocapturerfactory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MEDIA_BASE_VIDEOCAPTURERFACTORY_H_
12 | #define MEDIA_BASE_VIDEOCAPTURERFACTORY_H_
13 |
14 | #include
15 |
16 | #include "media/base/device.h"
17 |
18 | namespace cricket {
19 |
20 | class VideoCapturer;
21 |
22 | class VideoDeviceCapturerFactory {
23 | public:
24 | VideoDeviceCapturerFactory() {}
25 | virtual ~VideoDeviceCapturerFactory() {}
26 |
27 | virtual std::unique_ptr Create(const Device& device) = 0;
28 | };
29 |
30 | } // namespace cricket
31 |
32 | #endif // MEDIA_BASE_VIDEOCAPTURERFACTORY_H_
33 |
--------------------------------------------------------------------------------
/libs/webrtc/include/media/engine/adm_helpers.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MEDIA_ENGINE_ADM_HELPERS_H_
12 | #define MEDIA_ENGINE_ADM_HELPERS_H_
13 |
14 | #include "common_types.h" // NOLINT(build/include)
15 |
16 | namespace webrtc {
17 |
18 | class AudioDeviceModule;
19 |
20 | namespace adm_helpers {
21 |
22 | void Init(AudioDeviceModule* adm);
23 |
24 | } // namespace adm_helpers
25 | } // namespace webrtc
26 |
27 | #endif // MEDIA_ENGINE_ADM_HELPERS_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/media/engine/constants.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MEDIA_ENGINE_CONSTANTS_H_
12 | #define MEDIA_ENGINE_CONSTANTS_H_
13 |
14 | namespace cricket {
15 |
16 | extern const int kVideoMtu;
17 | extern const int kVideoRtpBufferSize;
18 |
19 | extern const char kH264CodecName[];
20 |
21 | extern const int kMinVideoBitrateBps;
22 |
23 | } // namespace cricket
24 |
25 | #endif // MEDIA_ENGINE_CONSTANTS_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/codecs/audio_decoder.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // This file is for backwards compatibility only! Use
12 | // webrtc/api/audio_codecs/audio_decoder.h instead!
13 | // TODO(kwiberg): Remove it.
14 |
15 | #ifndef MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_H_
16 | #define MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_H_
17 |
18 | #include "api/audio_codecs/audio_decoder.h"
19 |
20 | #endif // MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_H_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/codecs/audio_encoder.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // This file is for backwards compatibility only! Use
12 | // webrtc/api/audio_codecs/audio_encoder.h instead!
13 | // TODO(ossu): Remove it.
14 |
15 | #ifndef MODULES_AUDIO_CODING_CODECS_AUDIO_ENCODER_H_
16 | #define MODULES_AUDIO_CODING_CODECS_AUDIO_ENCODER_H_
17 |
18 | #include "api/audio_codecs/audio_encoder.h"
19 |
20 | #endif // MODULES_AUDIO_CODING_CODECS_AUDIO_ENCODER_H_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/codecs/audio_format_conversion.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_CONVERSION_H_
12 | #define MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_CONVERSION_H_
13 |
14 | #include "api/audio_codecs/audio_format.h"
15 | #include "common_types.h" // NOLINT(build/include)
16 |
17 | namespace webrtc {
18 |
19 | SdpAudioFormat CodecInstToSdp(const CodecInst& codec_inst);
20 | CodecInst SdpToCodecInst(int payload_type, const SdpAudioFormat& audio_format);
21 |
22 | } // namespace webrtc
23 |
24 | #endif // MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_CONVERSION_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/codecs/isac/bandwidth_info.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_CODING_CODECS_ISAC_BANDWIDTH_INFO_H_
12 | #define MODULES_AUDIO_CODING_CODECS_ISAC_BANDWIDTH_INFO_H_
13 |
14 | #include "typedefs.h" // NOLINT(build/include)
15 |
16 | typedef struct {
17 | int in_use;
18 | int32_t send_bw_avg;
19 | int32_t send_max_delay_avg;
20 | int16_t bottleneck_idx;
21 | int16_t jitter_info;
22 | } IsacBandwidthInfo;
23 |
24 | #endif // MODULES_AUDIO_CODING_CODECS_ISAC_BANDWIDTH_INFO_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/codecs/isac/fix/include/audio_decoder_isacfix.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_CODING_CODECS_ISAC_FIX_INCLUDE_AUDIO_DECODER_ISACFIX_H_
12 | #define MODULES_AUDIO_CODING_CODECS_ISAC_FIX_INCLUDE_AUDIO_DECODER_ISACFIX_H_
13 |
14 | #include "modules/audio_coding/codecs/isac/audio_decoder_isac_t.h"
15 | #include "modules/audio_coding/codecs/isac/fix/source/isac_fix_type.h"
16 |
17 | namespace webrtc {
18 |
19 | using AudioDecoderIsacFixImpl = AudioDecoderIsacT;
20 |
21 | } // namespace webrtc
22 | #endif // MODULES_AUDIO_CODING_CODECS_ISAC_FIX_INCLUDE_AUDIO_DECODER_ISACFIX_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/codecs/isac/fix/include/audio_encoder_isacfix.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_CODING_CODECS_ISAC_FIX_INCLUDE_AUDIO_ENCODER_ISACFIX_H_
12 | #define MODULES_AUDIO_CODING_CODECS_ISAC_FIX_INCLUDE_AUDIO_ENCODER_ISACFIX_H_
13 |
14 | #include "modules/audio_coding/codecs/isac/audio_encoder_isac_t.h"
15 | #include "modules/audio_coding/codecs/isac/fix/source/isac_fix_type.h"
16 |
17 | namespace webrtc {
18 |
19 | using AudioEncoderIsacFixImpl = AudioEncoderIsacT;
20 |
21 | } // namespace webrtc
22 | #endif // MODULES_AUDIO_CODING_CODECS_ISAC_FIX_INCLUDE_AUDIO_ENCODER_ISACFIX_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/codecs/isac/main/include/audio_decoder_isac.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_INCLUDE_AUDIO_DECODER_ISAC_H_
12 | #define MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_INCLUDE_AUDIO_DECODER_ISAC_H_
13 |
14 | #include "modules/audio_coding/codecs/isac/audio_decoder_isac_t.h"
15 | #include "modules/audio_coding/codecs/isac/main/source/isac_float_type.h"
16 |
17 | namespace webrtc {
18 |
19 | using AudioDecoderIsacFloatImpl = AudioDecoderIsacT;
20 |
21 | } // namespace webrtc
22 | #endif // MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_INCLUDE_AUDIO_ENCODER_ISAC_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/codecs/isac/main/include/audio_encoder_isac.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_INCLUDE_AUDIO_ENCODER_ISAC_H_
12 | #define MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_INCLUDE_AUDIO_ENCODER_ISAC_H_
13 |
14 | #include "modules/audio_coding/codecs/isac/audio_encoder_isac_t.h"
15 | #include "modules/audio_coding/codecs/isac/main/source/isac_float_type.h"
16 |
17 | namespace webrtc {
18 |
19 | using AudioEncoderIsacFloatImpl = AudioEncoderIsacT;
20 |
21 | } // namespace webrtc
22 | #endif // MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_INCLUDE_AUDIO_ENCODER_ISAC_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/codecs/pcm16b/pcm16b_common.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_CODING_CODECS_PCM16B_PCM16B_COMMON_H_
12 | #define MODULES_AUDIO_CODING_CODECS_PCM16B_PCM16B_COMMON_H_
13 |
14 | #include
15 |
16 | #include "api/audio_codecs/audio_decoder_factory.h"
17 |
18 | namespace webrtc {
19 | void Pcm16BAppendSupportedCodecSpecs(std::vector* specs);
20 | }
21 |
22 | #endif // MODULES_AUDIO_CODING_CODECS_PCM16B_PCM16B_COMMON_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_coding/test/ACMTest.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_CODING_TEST_ACMTEST_H_
12 | #define MODULES_AUDIO_CODING_TEST_ACMTEST_H_
13 |
14 | class ACMTest {
15 | public:
16 | ACMTest() {}
17 | virtual ~ACMTest() {}
18 | virtual void Perform() = 0;
19 | };
20 |
21 | #endif // MODULES_AUDIO_CODING_TEST_ACMTEST_H_
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_device/android/ensure_initialized.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | namespace webrtc {
12 | namespace audiodevicemodule {
13 |
14 | void EnsureInitialized();
15 |
16 | } // namespace audiodevicemodule
17 | } // namespace webrtc
18 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_device/audio_device_config.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef AUDIO_DEVICE_AUDIO_DEVICE_CONFIG_H_
12 | #define AUDIO_DEVICE_AUDIO_DEVICE_CONFIG_H_
13 |
14 | // Enumerators
15 | //
16 | enum { GET_MIC_VOLUME_INTERVAL_MS = 1000 };
17 |
18 | // Platform specifics
19 | //
20 | #if defined(_WIN32)
21 | #if (_MSC_VER >= 1400)
22 | #if !defined(WEBRTC_DUMMY_FILE_DEVICES)
23 | // Windows Core Audio is the default audio layer in Windows.
24 | // Only supported for VS 2005 and higher.
25 | #define WEBRTC_WINDOWS_CORE_AUDIO_BUILD
26 | #endif
27 | #endif
28 | #endif
29 |
30 | #endif // AUDIO_DEVICE_AUDIO_DEVICE_CONFIG_H_
31 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_device/ios/objc/RTCAudioSession.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "sdk/objc/Framework/Headers/WebRTC/RTCAudioSession.h"
12 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "sdk/objc/Framework/Headers/WebRTC/RTCAudioSessionConfiguration.h"
12 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_processing/agc/utility.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_PROCESSING_AGC_UTILITY_H_
12 | #define MODULES_AUDIO_PROCESSING_AGC_UTILITY_H_
13 |
14 | // TODO(turajs): Add description of function.
15 | double Loudness2Db(double loudness);
16 |
17 | double Linear2Loudness(double rms);
18 |
19 | double Db2Loudness(double db);
20 |
21 | double Dbfs2Loudness(double dbfs);
22 |
23 | #endif // MODULES_AUDIO_PROCESSING_AGC_UTILITY_H_
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/audio_processing/transient/common.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_AUDIO_PROCESSING_TRANSIENT_COMMON_H_
12 | #define MODULES_AUDIO_PROCESSING_TRANSIENT_COMMON_H_
13 | namespace webrtc {
14 | namespace ts {
15 |
16 | static const float kPi = 3.14159265358979323846f;
17 | static const int kChunkSizeMs = 10;
18 | enum {
19 | kSampleRate8kHz = 8000,
20 | kSampleRate16kHz = 16000,
21 | kSampleRate32kHz = 32000,
22 | kSampleRate48kHz = 48000
23 | };
24 |
25 | } // namespace ts
26 | } // namespace webrtc
27 | #endif // MODULES_AUDIO_PROCESSING_TRANSIENT_COMMON_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/desktop_capture/win/cursor.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_DESKTOP_CAPTURE_WIN_CURSOR_H_
12 | #define MODULES_DESKTOP_CAPTURE_WIN_CURSOR_H_
13 |
14 | #include
15 |
16 | namespace webrtc {
17 |
18 | class MouseCursor;
19 |
20 | // Converts an HCURSOR into a |MouseCursor| instance.
21 | MouseCursor* CreateMouseCursorFromHCursor(HDC dc, HCURSOR cursor);
22 |
23 | } // namespace webrtc
24 |
25 | #endif // MODULES_DESKTOP_CAPTURE_WIN_CURSOR_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/desktop_capture/win/cursor_unittest_resources.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_DESKTOP_CAPTURE_WIN_CURSOR_UNITTEST_RESOURCES_H_
12 | #define MODULES_DESKTOP_CAPTURE_WIN_CURSOR_UNITTEST_RESOURCES_H_
13 |
14 | #define IDD_CURSOR1_24BPP 101
15 | #define IDD_CURSOR1_32BPP 102
16 | #define IDD_CURSOR1_8BPP 103
17 |
18 | #define IDD_CURSOR2_1BPP 104
19 | #define IDD_CURSOR2_32BPP 105
20 |
21 | #define IDD_CURSOR3_4BPP 106
22 | #define IDD_CURSOR3_32BPP 107
23 |
24 | #endif // MODULES_DESKTOP_CAPTURE_WIN_CURSOR_UNITTEST_RESOURCES_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/modules/video_coding/qp_parser.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef MODULES_VIDEO_CODING_QP_PARSER_H_
12 | #define MODULES_VIDEO_CODING_QP_PARSER_H_
13 |
14 | #include "modules/video_coding/encoded_frame.h"
15 |
16 | namespace webrtc {
17 |
18 | class QpParser {
19 | public:
20 | QpParser() {}
21 | ~QpParser() {}
22 |
23 | // Parses an encoded |frame| and extracts the |qp|.
24 | // Returns true on success, false otherwise.
25 | bool GetQp(const VCMEncodedFrame& frame, int* qp);
26 | };
27 |
28 | } // namespace webrtc
29 |
30 | #endif // MODULES_VIDEO_CODING_QP_PARSER_H_
31 |
--------------------------------------------------------------------------------
/libs/webrtc/include/p2p/base/candidatepairinterface.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef P2P_BASE_CANDIDATEPAIRINTERFACE_H_
12 | #define P2P_BASE_CANDIDATEPAIRINTERFACE_H_
13 |
14 | namespace cricket {
15 |
16 | class Candidate;
17 |
18 | class CandidatePairInterface {
19 | public:
20 | virtual ~CandidatePairInterface() {}
21 |
22 | virtual const Candidate& local_candidate() const = 0;
23 | virtual const Candidate& remote_candidate() const = 0;
24 | };
25 |
26 | } // namespace cricket
27 |
28 | #endif // P2P_BASE_CANDIDATEPAIRINTERFACE_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/p2p/base/packettransportinterface.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // This exists for backwards compatibility with chromium remoting code that
12 | // uses it.
13 | // TODO(deadbeef): Update chromium and remove this file.
14 |
15 | #ifndef P2P_BASE_PACKETTRANSPORTINTERFACE_H_
16 | #define P2P_BASE_PACKETTRANSPORTINTERFACE_H_
17 |
18 | #include "p2p/base/packettransportinternal.h"
19 |
20 | namespace rtc {
21 | typedef PacketTransportInternal PacketTransportInterface;
22 | }
23 |
24 | #endif // P2P_BASE_PACKETTRANSPORTINTERFACE_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/p2p/base/transport.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // Most of the contents of this header have moved to jseptransport.h.
12 | // TODO(deadbeef): Delete this file when downstream dependents are updated.
13 |
14 | #ifndef P2P_BASE_TRANSPORT_H_
15 | #define P2P_BASE_TRANSPORT_H_
16 |
17 | #include "p2p/base/transport.h"
18 |
19 | #endif // P2P_BASE_TRANSPORT_H_
20 |
--------------------------------------------------------------------------------
/libs/webrtc/include/p2p/base/udpport.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef P2P_BASE_UDPPORT_H_
12 | #define P2P_BASE_UDPPORT_H_
13 |
14 | // StunPort will be handling UDPPort functionality.
15 | #include "p2p/base/stunport.h"
16 |
17 | #endif // P2P_BASE_UDPPORT_H_
18 |
--------------------------------------------------------------------------------
/libs/webrtc/include/pc/test/androidtestinitializer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef PC_TEST_ANDROIDTESTINITIALIZER_H_
12 | #define PC_TEST_ANDROIDTESTINITIALIZER_H_
13 |
14 | namespace webrtc {
15 |
16 | void InitializeAndroidObjects();
17 |
18 | } // namespace webrtc
19 |
20 | #endif // PC_TEST_ANDROIDTESTINITIALIZER_H_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/cpu_time.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef RTC_BASE_CPU_TIME_H_
12 | #define RTC_BASE_CPU_TIME_H_
13 |
14 | #include
15 |
16 | namespace rtc {
17 |
18 | // Returns total CPU time of a current process in nanoseconds.
19 | // Time base is unknown, therefore use only to calculate deltas.
20 | int64_t GetProcessCpuTimeNanos();
21 |
22 | // Returns total CPU time of a current thread in nanoseconds.
23 | // Time base is unknown, therefore use only to calculate deltas.
24 | int64_t GetThreadCpuTimeNanos();
25 |
26 | } // namespace rtc
27 |
28 | #endif // RTC_BASE_CPU_TIME_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/experiments/congestion_controller_experiment.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 | #ifndef RTC_BASE_EXPERIMENTS_CONGESTION_CONTROLLER_EXPERIMENT_H_
11 | #define RTC_BASE_EXPERIMENTS_CONGESTION_CONTROLLER_EXPERIMENT_H_
12 |
13 | namespace webrtc {
14 | class CongestionControllerExperiment {
15 | public:
16 | static bool BbrControllerEnabled();
17 | static bool InjectedControllerEnabled();
18 | };
19 |
20 | } // namespace webrtc
21 |
22 | #endif // RTC_BASE_EXPERIMENTS_CONGESTION_CONTROLLER_EXPERIMENT_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/gunit_prod.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2012 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef RTC_BASE_GUNIT_PROD_H_
12 | #define RTC_BASE_GUNIT_PROD_H_
13 |
14 | #if defined(WEBRTC_ANDROID)
15 | // Android doesn't use gtest at all, so anything that relies on gtest should
16 | // check this define first.
17 | #define NO_GTEST
18 | #elif defined(GTEST_RELATIVE_PATH)
19 | #include "gtest/gtest_prod.h"
20 | #else
21 | #include "testing/base/gunit_prod.h"
22 | #endif
23 |
24 | #endif // RTC_BASE_GUNIT_PROD_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/macutils.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2007 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef RTC_BASE_MACUTILS_H_
12 | #define RTC_BASE_MACUTILS_H_
13 |
14 | #include
15 | #include
16 |
17 | namespace rtc {
18 | bool ToUtf8(const CFStringRef str16, std::string* str8);
19 | bool ToUtf16(const std::string& str8, CFStringRef* str16);
20 | } // namespace rtc
21 |
22 | #endif // RTC_BASE_MACUTILS_H_
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/memory_usage.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 | #ifndef RTC_BASE_MEMORY_USAGE_H_
11 | #define RTC_BASE_MEMORY_USAGE_H_
12 |
13 | #include
14 |
15 | namespace rtc {
16 |
17 | // Returns current memory used by the process in bytes (working set size on
18 | // Windows and resident set size on other platforms).
19 | // Returns -1 on failure.
20 | int64_t GetProcessResidentSizeBytes();
21 |
22 | } // namespace rtc
23 |
24 | #endif // RTC_BASE_MEMORY_USAGE_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/openssl.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef RTC_BASE_OPENSSL_H_
12 | #define RTC_BASE_OPENSSL_H_
13 |
14 | #if defined(WEBRTC_WIN)
15 | // Must be included first before openssl headers.
16 | #include "rtc_base/win32.h" // NOLINT
17 | #endif // WEBRTC_WIN
18 |
19 | #include
20 |
21 | #if (OPENSSL_VERSION_NUMBER < 0x10100000L)
22 | #error OpenSSL is older than 1.1.0, which is the minimum supported version.
23 | #endif
24 |
25 | #endif // RTC_BASE_OPENSSL_H_
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/strings/audio_format_to_string.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef RTC_BASE_STRINGS_AUDIO_FORMAT_TO_STRING_H_
12 | #define RTC_BASE_STRINGS_AUDIO_FORMAT_TO_STRING_H_
13 |
14 | #include
15 |
16 | #include "api/audio_codecs/audio_format.h"
17 |
18 | namespace rtc {
19 | std::string ToString(const webrtc::SdpAudioFormat& saf);
20 | std::string ToString(const webrtc::AudioCodecInfo& saf);
21 | std::string ToString(const webrtc::AudioCodecSpec& acs);
22 | } // namespace rtc
23 |
24 | #endif // RTC_BASE_STRINGS_AUDIO_FORMAT_TO_STRING_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/system/inline.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef RTC_BASE_SYSTEM_INLINE_H_
12 | #define RTC_BASE_SYSTEM_INLINE_H_
13 |
14 | #if defined(_MSC_VER)
15 |
16 | #define RTC_FORCE_INLINE __forceinline
17 | #define RTC_NO_INLINE __declspec(noinline)
18 |
19 | #elif defined(__GNUC__)
20 |
21 | #define RTC_FORCE_INLINE __attribute__((__always_inline__))
22 | #define RTC_NO_INLINE __attribute__((__noinline__))
23 |
24 | #else
25 |
26 | #define RTC_FORCE_INLINE
27 | #define RTC_NO_INLINE
28 |
29 | #endif
30 |
31 | #endif // RTC_BASE_SYSTEM_INLINE_H_
32 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/task_queue_posix.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef RTC_BASE_TASK_QUEUE_POSIX_H_
12 | #define RTC_BASE_TASK_QUEUE_POSIX_H_
13 |
14 | #include
15 |
16 | namespace rtc {
17 |
18 | class TaskQueue;
19 |
20 | namespace internal {
21 |
22 | class AutoSetCurrentQueuePtr {
23 | public:
24 | explicit AutoSetCurrentQueuePtr(TaskQueue* q);
25 | ~AutoSetCurrentQueuePtr();
26 |
27 | private:
28 | TaskQueue* const prev_;
29 | };
30 |
31 | pthread_key_t GetQueuePtrTls();
32 |
33 | } // namespace internal
34 | } // namespace rtc
35 |
36 | #endif // RTC_BASE_TASK_QUEUE_POSIX_H_
37 |
--------------------------------------------------------------------------------
/libs/webrtc/include/rtc_base/win32socketinit.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2009 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef RTC_BASE_WIN32SOCKETINIT_H_
12 | #define RTC_BASE_WIN32SOCKETINIT_H_
13 |
14 | namespace rtc {
15 |
16 | void EnsureWinsockInit();
17 |
18 | } // namespace rtc
19 |
20 | #endif // RTC_BASE_WIN32SOCKETINIT_H_
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/android/native_api/base/init.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_ANDROID_NATIVE_API_BASE_INIT_H_
12 | #define SDK_ANDROID_NATIVE_API_BASE_INIT_H_
13 |
14 | #include
15 |
16 | namespace webrtc {
17 |
18 | // Initializes global state needed by WebRTC Android NDK.
19 | void InitAndroid(JavaVM* jvm);
20 |
21 | } // namespace webrtc
22 |
23 | #endif // SDK_ANDROID_NATIVE_API_BASE_INIT_H_
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/android/native_api/jni/jvm.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_ANDROID_NATIVE_API_JNI_JVM_H_
12 | #define SDK_ANDROID_NATIVE_API_JNI_JVM_H_
13 |
14 | #include
15 |
16 | namespace webrtc {
17 | // Returns a JNI environment usable on this thread.
18 | JNIEnv* AttachCurrentThreadIfNeeded();
19 | } // namespace webrtc
20 |
21 | #endif // SDK_ANDROID_NATIVE_API_JNI_JVM_H_
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/android/src/jni/androidnetworkmonitor_jni.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // TODO(deadbeef): Remove this file when clients are updated to new include
12 | // path.
13 |
14 | #include "sdk/android/src/jni/pc/androidnetworkmonitor.h"
15 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/android/src/jni/class_loader.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // Deprecated: use sdk/android/native_api/jni/class_loader.h instead.
12 |
13 | #ifndef SDK_ANDROID_SRC_JNI_CLASS_LOADER_H_
14 | #define SDK_ANDROID_SRC_JNI_CLASS_LOADER_H_
15 |
16 | #include "sdk/android/native_api/jni/class_loader.h"
17 |
18 | namespace webrtc {
19 | namespace jni {
20 | using ::webrtc::InitClassLoader;
21 | } // namespace jni
22 | } // namespace webrtc
23 |
24 | #endif // SDK_ANDROID_SRC_JNI_CLASS_LOADER_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/android/src/jni/pc/androidnetworkmonitor.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // TODO(sakal): Remove this file once clients have update to the native API.
12 | #include "sdk/android/src/jni/androidnetworkmonitor.h"
13 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/android/src/jni/pc/datachannel.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_ANDROID_SRC_JNI_PC_DATACHANNEL_H_
12 | #define SDK_ANDROID_SRC_JNI_PC_DATACHANNEL_H_
13 |
14 | namespace webrtc {
15 | namespace jni {
16 |
17 | DataChannelInit JavaToNativeDataChannelInit(JNIEnv* env,
18 | const JavaRef& j_init);
19 |
20 | ScopedJavaLocalRef WrapNativeDataChannel(
21 | JNIEnv* env,
22 | rtc::scoped_refptr channel);
23 |
24 | } // namespace jni
25 | } // namespace webrtc
26 |
27 | #endif // SDK_ANDROID_SRC_JNI_PC_DATACHANNEL_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/android/src/jni/pc/rtpsender.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_ANDROID_SRC_JNI_PC_RTPSENDER_H_
12 | #define SDK_ANDROID_SRC_JNI_PC_RTPSENDER_H_
13 |
14 | #include
15 |
16 | #include "api/rtpsenderinterface.h"
17 | #include "sdk/android/native_api/jni/scoped_java_ref.h"
18 |
19 | namespace webrtc {
20 | namespace jni {
21 |
22 | ScopedJavaLocalRef NativeToJavaRtpSender(
23 | JNIEnv* env,
24 | rtc::scoped_refptr sender);
25 |
26 | } // namespace jni
27 | } // namespace webrtc
28 |
29 | #endif // SDK_ANDROID_SRC_JNI_PC_RTPSENDER_H_
30 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/android/src/jni/pc/turncustomizer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_ANDROID_SRC_JNI_PC_TURNCUSTOMIZER_H_
12 | #define SDK_ANDROID_SRC_JNI_PC_TURNCUSTOMIZER_H_
13 |
14 | #include "api/turncustomizer.h"
15 | #include "sdk/android/native_api/jni/scoped_java_ref.h"
16 |
17 | namespace webrtc {
18 | namespace jni {
19 |
20 | TurnCustomizer* GetNativeTurnCustomizer(
21 | JNIEnv* env,
22 | const JavaRef& j_turn_customizer);
23 |
24 | } // namespace jni
25 | } // namespace webrtc
26 |
27 | #endif // SDK_ANDROID_SRC_JNI_PC_TURNCUSTOMIZER_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/android/src/jni/videocodecstatus.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_ANDROID_SRC_JNI_VIDEOCODECSTATUS_H_
12 | #define SDK_ANDROID_SRC_JNI_VIDEOCODECSTATUS_H_
13 |
14 | #include
15 | #include
16 |
17 | #include "sdk/android/native_api/jni/scoped_java_ref.h"
18 |
19 | namespace webrtc {
20 | namespace jni {
21 | int32_t JavaToNativeVideoCodecStatus(
22 | JNIEnv* env,
23 | const JavaRef& j_video_codec_status);
24 | } // namespace jni
25 | } // namespace webrtc
26 |
27 | #endif // SDK_ANDROID_SRC_JNI_VIDEOCODECSTATUS_H_
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Common/NSString+StdString.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #include
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface NSString (StdString)
18 |
19 | @property(nonatomic, readonly) std::string stdString;
20 |
21 | + (std::string)stdStringForString:(NSString *)nsString;
22 | + (NSString *)stringForStdString:(const std::string &)stdString;
23 |
24 | @end
25 |
26 | NS_ASSUME_NONNULL_END
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Common/RTCDispatcher+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCDispatcher.h"
12 |
13 | @interface RTCDispatcher ()
14 |
15 | + (dispatch_queue_t)dispatchQueueForType:(RTCDispatcherQueueType)dispatchType;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Common/RTCUIApplicationStatusObserver.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #if defined(WEBRTC_IOS)
12 |
13 | #import
14 |
15 | NS_EXTENSION_UNAVAILABLE_IOS("Application status not available in app extensions.")
16 | @interface RTCUIApplicationStatusObserver : NSObject
17 |
18 | + (instancetype)sharedInstance;
19 | + (void)prepareForUse;
20 |
21 | - (BOOL)isApplicationActive;
22 |
23 | @end
24 |
25 | #endif // WEBRTC_IOS
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Metal/RTCMTLI420Renderer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import "RTCMTLRenderer.h"
14 |
15 | NS_AVAILABLE(10_11, 9_0)
16 | @interface RTCMTLI420Renderer : RTCMTLRenderer
17 | @end
18 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import "RTCMTLRenderer.h"
14 |
15 | NS_AVAILABLE(10_11, 9_0)
16 | @interface RTCMTLNV12Renderer : RTCMTLRenderer
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Metal/RTCMTLRGBRenderer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import "RTCMTLRenderer.h"
14 |
15 | /** @abstract RGB/BGR renderer.
16 | * @discussion This renderer handles both kCVPixelFormatType_32BGRA and
17 | * kCVPixelFormatType_32ARGB.
18 | */
19 | NS_AVAILABLE(10_11, 9_0)
20 | @interface RTCMTLRGBRenderer : RTCMTLRenderer
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCConfiguration+Native.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCConfiguration.h"
12 |
13 | #include "api/peerconnectioninterface.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCConfiguration ()
18 |
19 | /** Optional TurnCustomizer.
20 | * With this class one can modify outgoing TURN messages.
21 | * The object passed in must remain valid until PeerConnection::Close() is
22 | * called.
23 | */
24 | @property(nonatomic, nullable) webrtc::TurnCustomizer* turnCustomizer;
25 |
26 | @end
27 |
28 | NS_ASSUME_NONNULL_END
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCDataChannelConfiguration.h"
12 |
13 | #include "api/datachannelinterface.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCDataChannelConfiguration ()
18 |
19 | @property(nonatomic, readonly) webrtc::DataChannelInit nativeDataChannelInit;
20 |
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCIntervalRange+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCIntervalRange.h"
12 |
13 | #include "rtc_base/timeutils.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCIntervalRange ()
18 |
19 | @property(nonatomic, readonly) std::unique_ptr nativeIntervalRange;
20 |
21 | - (instancetype)initWithNativeIntervalRange:(const rtc::IntervalRange &)config;
22 |
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCLegacyStatsReport.h"
12 |
13 | #include "api/statstypes.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCLegacyStatsReport ()
18 |
19 | /** Initialize an RTCLegacyStatsReport object from a native StatsReport. */
20 | - (instancetype)initWithNativeReport:(const webrtc::StatsReport &)nativeReport;
21 |
22 | @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactoryBuilder+DefaultComponents.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "RTCPeerConnectionFactoryBuilder.h"
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | @interface RTCPeerConnectionFactoryBuilder (DefaultComponents)
16 |
17 | + (RTCPeerConnectionFactoryBuilder *)defaultBuilder;
18 |
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactoryOptions+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCPeerConnectionFactoryOptions.h"
12 |
13 | #include "api/peerconnectioninterface.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCPeerConnectionFactoryOptions ()
18 |
19 | /** Returns the equivalent native PeerConnectionFactoryInterface::Options
20 | * structure. */
21 | @property(nonatomic, readonly)
22 | webrtc::PeerConnectionFactoryInterface::Options nativeOptions;
23 |
24 | @end
25 |
26 | NS_ASSUME_NONNULL_END
27 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCRtcpParameters+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCRtcpParameters.h"
12 |
13 | #include "api/rtpparameters.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCRtcpParameters ()
18 |
19 | /** Returns the equivalent native RtcpParameters structure. */
20 | @property(nonatomic, readonly) webrtc::RtcpParameters nativeParameters;
21 |
22 | /** Initialize the object with a native RtcpParameters structure. */
23 | - (instancetype)initWithNativeParameters:(const webrtc::RtcpParameters &)nativeParameters;
24 |
25 | @end
26 |
27 | NS_ASSUME_NONNULL_END
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCRtpHeaderExtension+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCRtpHeaderExtension.h"
12 |
13 | #include "api/rtpparameters.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCRtpHeaderExtension ()
18 |
19 | /** Returns the equivalent native RtpExtension structure. */
20 | @property(nonatomic, readonly) webrtc::RtpExtension nativeParameters;
21 |
22 | /** Initialize the object with a native RtpExtension structure. */
23 | - (instancetype)initWithNativeParameters:(const webrtc::RtpExtension &)nativeParameters;
24 |
25 | @end
26 |
27 | NS_ASSUME_NONNULL_END
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCRtpParameters+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCRtpParameters.h"
12 |
13 | #include "api/rtpparameters.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCRtpParameters ()
18 |
19 | /** Returns the equivalent native RtpParameters structure. */
20 | @property(nonatomic, readonly) webrtc::RtpParameters nativeParameters;
21 |
22 | /** Initialize the object with a native RtpParameters structure. */
23 | - (instancetype)initWithNativeParameters:(const webrtc::RtpParameters &)nativeParameters;
24 |
25 | @end
26 |
27 | NS_ASSUME_NONNULL_END
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCRtpSender+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCRtpSender.h"
12 |
13 | #include "api/rtpsenderinterface.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCRtpSender ()
18 |
19 | @property(nonatomic, readonly) rtc::scoped_refptr nativeRtpSender;
20 |
21 | /** Initialize an RTCRtpSender with a native RtpSenderInterface. */
22 | - (instancetype)initWithNativeRtpSender:
23 | (rtc::scoped_refptr)nativeRtpSender NS_DESIGNATED_INITIALIZER;
24 |
25 | @end
26 |
27 | NS_ASSUME_NONNULL_END
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | /*
16 | * Creates a rtc::VideoSinkInterface surface for an RTCVideoRenderer. The
17 | * rtc::VideoSinkInterface is used by WebRTC rendering code - this
18 | * adapter adapts calls made to that interface to the RTCVideoRenderer supplied
19 | * during construction.
20 | */
21 | @interface RTCVideoRendererAdapter : NSObject
22 |
23 | - (instancetype)init NS_UNAVAILABLE;
24 |
25 | @end
26 |
27 | NS_ASSUME_NONNULL_END
28 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/PeerConnection/RTCWrappedNativeVideoDecoder.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import "WebRTC/RTCVideoCodec.h"
14 | #include "api/video_codecs/video_decoder.h"
15 | #include "media/base/codec.h"
16 |
17 | @interface RTCWrappedNativeVideoDecoder : NSObject
18 |
19 | - (instancetype)initWithNativeDecoder:(std::unique_ptr)decoder;
20 |
21 | /* This moves the ownership of the wrapped decoder to the caller. */
22 | - (std::unique_ptr)releaseWrappedDecoder;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Video/AVCaptureSession+DevicePosition.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #import
13 |
14 | NS_ASSUME_NONNULL_BEGIN
15 |
16 | @interface AVCaptureSession (DevicePosition)
17 |
18 | // Check the image's EXIF for the camera the image came from.
19 | + (AVCaptureDevicePosition)devicePositionForSampleBuffer:(CMSampleBufferRef)sampleBuffer;
20 |
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Video/RTCDefaultShader.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCVideoViewShading.h"
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | /** Default RTCVideoViewShading that will be used in RTCNSGLVideoView and
16 | * RTCEAGLVideoView if no external shader is specified. This shader will render
17 | * the video in a rectangle without any color or geometric transformations.
18 | */
19 | @interface RTCDefaultShader : NSObject
20 |
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Video/RTCI420Buffer+Private.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCVideoFrameBuffer.h"
12 |
13 | #include "api/video/i420_buffer.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCI420Buffer ()
18 |
19 | /** Initialize an RTCI420Buffer with its backing I420BufferInterface. */
20 | - (instancetype)initWithFrameBuffer:(rtc::scoped_refptr)i420Buffer;
21 | - (rtc::scoped_refptr)nativeI420Buffer;
22 |
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Video/RTCI420TextureCache.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "RTCOpenGLDefines.h"
12 | #import "WebRTC/RTCVideoFrame.h"
13 |
14 | @interface RTCI420TextureCache : NSObject
15 |
16 | @property(nonatomic, readonly) GLuint yTexture;
17 | @property(nonatomic, readonly) GLuint uTexture;
18 | @property(nonatomic, readonly) GLuint vTexture;
19 |
20 | - (instancetype)init NS_UNAVAILABLE;
21 | - (instancetype)initWithContext:(GlContextType *)context NS_DESIGNATED_INITIALIZER;
22 |
23 | - (void)uploadFrameToTextures:(RTCVideoFrame *)frame;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Video/RTCNV12TextureCache.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | @class RTCVideoFrame;
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface RTCNV12TextureCache : NSObject
18 |
19 | @property(nonatomic, readonly) GLuint yTexture;
20 | @property(nonatomic, readonly) GLuint uvTexture;
21 |
22 | - (instancetype)init NS_UNAVAILABLE;
23 | - (nullable instancetype)initWithContext:(EAGLContext *)context NS_DESIGNATED_INITIALIZER;
24 |
25 | - (BOOL)uploadFrameToTextures:(RTCVideoFrame *)frame;
26 |
27 | - (void)releaseTextures;
28 |
29 | @end
30 |
31 | NS_ASSUME_NONNULL_END
32 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Video/RTCShader.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import "WebRTC/RTCVideoFrame.h"
12 |
13 | RTC_EXTERN const char kRTCVertexShaderSource[];
14 |
15 | RTC_EXTERN GLuint RTCCreateShader(GLenum type, const GLchar* source);
16 | RTC_EXTERN GLuint RTCCreateProgram(GLuint vertexShader, GLuint fragmentShader);
17 | RTC_EXTERN GLuint
18 | RTCCreateProgramFromFragmentSource(const char fragmentShaderSource[]);
19 | RTC_EXTERN BOOL RTCCreateVertexBuffer(GLuint* vertexBuffer,
20 | GLuint* vertexArray);
21 | RTC_EXTERN void RTCSetVertexData(RTCVideoRotation rotation);
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Classes/Video/UIDevice+H264Profile.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #include "media/base/h264_profile_level_id.h"
14 |
15 | @interface UIDevice (H264Profile)
16 |
17 | + (absl::optional)maxSupportedH264Profile;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #import
13 |
14 | NS_ASSUME_NONNULL_BEGIN
15 |
16 | @class RTCAudioSource;
17 |
18 | RTC_EXPORT
19 | @interface RTCAudioTrack : RTCMediaStreamTrack
20 |
21 | - (instancetype)init NS_UNAVAILABLE;
22 |
23 | /** The audio source for this audio track. */
24 | @property(nonatomic, readonly) RTCAudioSource *source;
25 |
26 | @end
27 |
28 | NS_ASSUME_NONNULL_END
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCIntervalRange.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | @interface RTCIntervalRange : NSObject
16 |
17 | @property(nonatomic, readonly) NSInteger min;
18 | @property(nonatomic, readonly) NSInteger max;
19 |
20 | - (instancetype)init;
21 | - (instancetype)initWithMin:(NSInteger)min max:(NSInteger)max NS_DESIGNATED_INITIALIZER;
22 |
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #import "WebRTC/RTCVideoRenderer.h"
13 |
14 | NS_AVAILABLE_MAC(10.11)
15 | @interface RTCMTLNSVideoView : NSView
16 |
17 | @property(nonatomic, weak) id delegate;
18 |
19 | + (BOOL)isMetalAvailable;
20 | @end
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCMetrics.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | /**
17 | * Enables gathering of metrics (which can be fetched with
18 | * RTCGetAndResetMetrics). Must be called before any other call into WebRTC.
19 | */
20 | RTC_EXTERN void RTCEnableMetrics(void);
21 |
22 | /** Gets and clears native histograms. */
23 | RTC_EXTERN NSArray* RTCGetAndResetMetrics(void);
24 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCRtcpParameters.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | RTC_EXPORT
18 | @interface RTCRtcpParameters : NSObject
19 |
20 | /** The Canonical Name used by RTCP. */
21 | @property(nonatomic, readonly, copy) NSString *cname;
22 |
23 | /** Whether reduced size RTCP is configured or compound RTCP. */
24 | @property(nonatomic, assign) BOOL isReducedSize;
25 |
26 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
27 |
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCSSLAdapter.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | /**
16 | * Initialize and clean up the SSL library. Failure is fatal. These call the
17 | * corresponding functions in webrtc/rtc_base/ssladapter.h.
18 | */
19 | RTC_EXTERN BOOL RTCInitializeSSL(void);
20 | RTC_EXTERN BOOL RTCCleanupSSL(void);
21 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCTracing.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | RTC_EXTERN void RTCSetupInternalTracer(void);
16 | /** Starts capture to specified file. Must be a valid writable path.
17 | * Returns YES if capture starts.
18 | */
19 | RTC_EXTERN BOOL RTCStartInternalCapture(NSString* filePath);
20 | RTC_EXTERN void RTCStopInternalCapture(void);
21 | RTC_EXTERN void RTCShutdownInternalTracer(void);
22 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCVideoCapturer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | @class RTCVideoCapturer;
16 |
17 | RTC_EXPORT
18 | @protocol RTCVideoCapturerDelegate
19 | - (void)capturer:(RTCVideoCapturer *)capturer didCaptureVideoFrame:(RTCVideoFrame *)frame;
20 | @end
21 |
22 | RTC_EXPORT
23 | @interface RTCVideoCapturer : NSObject
24 |
25 | @property(nonatomic, weak) id delegate;
26 |
27 | - (instancetype)initWithDelegate:(id)delegate;
28 |
29 | @end
30 |
31 | NS_ASSUME_NONNULL_END
32 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCVideoDecoderVP8.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_EXPORT
17 | @interface RTCVideoDecoderVP8 : NSObject
18 |
19 | /* This returns a VP8 decoder that can be returned from a RTCVideoDecoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)vp8Decoder;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCVideoDecoderVP9.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_EXPORT
17 | @interface RTCVideoDecoderVP9 : NSObject
18 |
19 | /* This returns a VP9 decoder that can be returned from a RTCVideoDecoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)vp9Decoder;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCVideoEncoderVP8.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_EXPORT
17 | @interface RTCVideoEncoderVP8 : NSObject
18 |
19 | /* This returns a VP8 encoder that can be returned from a RTCVideoEncoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)vp8Encoder;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Headers/WebRTC/RTCVideoEncoderVP9.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_EXPORT
17 | @interface RTCVideoEncoderVP9 : NSObject
18 |
19 | /* This returns a VP9 encoder that can be returned from a RTCVideoEncoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)vp9Encoder;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Native/api/audio_device_module.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_OBJC_FRAMEWORK_NATIVE_API_AUDIO_DEVICE_MODULE_H_
12 | #define SDK_OBJC_FRAMEWORK_NATIVE_API_AUDIO_DEVICE_MODULE_H_
13 |
14 | #include
15 |
16 | #include "modules/audio_device/include/audio_device.h"
17 |
18 | namespace webrtc {
19 |
20 | rtc::scoped_refptr CreateAudioDeviceModule();
21 |
22 | } // namespace webrtc
23 |
24 | #endif // SDK_OBJC_FRAMEWORK_NATIVE_API_AUDIO_DEVICE_MODULE_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Native/api/video_frame.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_OBJC_FRAMEWORK_NATIVE_API_VIDEO_FRAME_H_
12 | #define SDK_OBJC_FRAMEWORK_NATIVE_API_VIDEO_FRAME_H_
13 |
14 | #import "WebRTC/RTCVideoFrame.h"
15 |
16 | #include "api/video/video_frame.h"
17 |
18 | namespace webrtc {
19 |
20 | RTCVideoFrame* NativeToObjCVideoFrame(const VideoFrame& frame);
21 |
22 | } // namespace webrtc
23 |
24 | #endif // SDK_OBJC_FRAMEWORK_NATIVE_API_VIDEO_FRAME_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Native/api/video_renderer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_OBJC_FRAMEWORK_NATIVE_API_VIDEO_RENDERER_H_
12 | #define SDK_OBJC_FRAMEWORK_NATIVE_API_VIDEO_RENDERER_H_
13 |
14 | #import "WebRTC/RTCVideoRenderer.h"
15 |
16 | #include
17 |
18 | #include "api/video/video_frame.h"
19 | #include "api/video/video_sink_interface.h"
20 |
21 | namespace webrtc {
22 |
23 | std::unique_ptr> ObjCToNativeVideoRenderer(
24 | id objc_video_renderer);
25 |
26 | } // namespace webrtc
27 |
28 | #endif // SDK_OBJC_FRAMEWORK_NATIVE_API_VIDEO_RENDERER_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/Native/src/objc_video_frame.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SDK_OBJC_FRAMEWORK_NATIVE_SRC_OBJC_VIDEO_FRAME_H_
12 | #define SDK_OBJC_FRAMEWORK_NATIVE_SRC_OBJC_VIDEO_FRAME_H_
13 |
14 | #import "WebRTC/RTCVideoFrame.h"
15 |
16 | #include "api/video/video_frame.h"
17 |
18 | namespace webrtc {
19 |
20 | RTCVideoFrame* ToObjCVideoFrame(const VideoFrame& frame);
21 |
22 | } // namespace webrtc
23 |
24 | #endif // SDK_OBJC_FRAMEWORK_NATIVE_SRC_OBJC_VIDEO_FRAME_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/sdk/objc/Framework/UnitTests/frame_buffer_helpers.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #include "api/video/i420_buffer.h"
14 |
15 | void DrawGradientInRGBPixelBuffer(CVPixelBufferRef pixelBuffer);
16 |
17 | rtc::scoped_refptr CreateI420Gradient(int width,
18 | int height);
19 |
20 | void CopyI420BufferToCVPixelBuffer(
21 | rtc::scoped_refptr i420Buffer,
22 | CVPixelBufferRef pixelBuffer);
23 |
--------------------------------------------------------------------------------
/libs/webrtc/include/system_wrappers/include/cpu_info.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef SYSTEM_WRAPPERS_INCLUDE_CPU_INFO_H_
12 | #define SYSTEM_WRAPPERS_INCLUDE_CPU_INFO_H_
13 |
14 | #include "typedefs.h" // NOLINT(build/include)
15 |
16 | namespace webrtc {
17 |
18 | class CpuInfo {
19 | public:
20 | static uint32_t DetectNumberOfCores();
21 |
22 | private:
23 | CpuInfo() {}
24 | };
25 |
26 | } // namespace webrtc
27 |
28 | #endif // SYSTEM_WRAPPERS_INCLUDE_CPU_INFO_H_
29 |
--------------------------------------------------------------------------------
/libs/webrtc/include/system_wrappers/include/sleep.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 | // An OS-independent sleep function.
11 |
12 | #ifndef SYSTEM_WRAPPERS_INCLUDE_SLEEP_H_
13 | #define SYSTEM_WRAPPERS_INCLUDE_SLEEP_H_
14 |
15 | namespace webrtc {
16 |
17 | // This function sleeps for the specified number of milliseconds.
18 | // It may return early if the thread is woken by some other event,
19 | // such as the delivery of a signal on Unix.
20 | void SleepMs(int msecs);
21 |
22 | } // namespace webrtc
23 |
24 | #endif // SYSTEM_WRAPPERS_INCLUDE_SLEEP_H_
25 |
--------------------------------------------------------------------------------
/libs/webrtc/include/typedefs.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // TODO(solenberg): Make the files including typedefs.h directly include the
12 | // files below they need.
13 | #ifndef TYPEDEFS_H_
14 | #define TYPEDEFS_H_
15 |
16 | #include
17 |
18 | #include "rtc_base/system/arch.h"
19 | #include "rtc_base/system/unused.h"
20 |
21 | #endif // TYPEDEFS_H_
22 |
--------------------------------------------------------------------------------
/mac_project/.gitignore:
--------------------------------------------------------------------------------
1 | #AudioMixer.xcodeproj
2 | xcuserdata
3 |
--------------------------------------------------------------------------------
/mac_project/AudioMixer.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/mac_project/AudioMixer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mac_project/example/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/mac_project/example/AudioMixerExample.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.files.user-selected.read-only
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/mp3/iamyou-48k.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/mp3/iamyou-48k.mp3
--------------------------------------------------------------------------------
/mp3/lion-48k.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/mp3/lion-48k.mp3
--------------------------------------------------------------------------------
/mp3/morning-48k.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/mp3/morning-48k.mp3
--------------------------------------------------------------------------------
/mp3/morning-mono-16k.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/mp3/morning-mono-16k.mp3
--------------------------------------------------------------------------------
/mp3/morning.raw:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Piasy/AudioMixer/e09f3a5c60d4b695497a1dfac072c795a6f7a0d6/mp3/morning.raw
--------------------------------------------------------------------------------
/package_libs.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | find libs -name ".DS_Store" | xargs rm && \
4 | zip -r libs-20180702.zip libs
5 |
--------------------------------------------------------------------------------
/run_djinni.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | base_dir=$(cd "`dirname "0"`" && pwd)
4 | cpp_out="$base_dir/generated_src/cpp"
5 | jni_out="$base_dir/generated_src/jni"
6 | objc_out="$base_dir/generated_src/objc"
7 | java_out="$base_dir/generated_src/java/com/github/piasy/audio_mixer"
8 | java_package="com.github.piasy.audio_mixer"
9 | namespace="audio_mixer"
10 | objc_prefix="PYA"
11 | djinni_file="$base_dir/djinni/audio_mixer.djinni"
12 |
13 | rm -rf $base_dir/generated_src && \
14 | /usr/local/djinni/src/run \
15 | --java-out $java_out \
16 | --java-package $java_package \
17 | --ident-java-field mFooBar \
18 | \
19 | --cpp-out $cpp_out \
20 | --cpp-namespace $namespace \
21 | --ident-cpp-method FooBar \
22 | \
23 | --jni-out $jni_out \
24 | --ident-jni-class NativeFooBar \
25 | --ident-jni-file NativeFooBar \
26 | \
27 | --objc-out $objc_out \
28 | --objc-type-prefix $objc_prefix \
29 | \
30 | --objcpp-out $objc_out \
31 | \
32 | --idl $djinni_file
33 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':android_project:AudioMixer'
2 |
--------------------------------------------------------------------------------
/simple_lib_android_maven_release.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export IS_PIASY_LIB_RELEASE=true
3 | ./gradlew clean --stacktrace && \
4 | ./gradlew :android_project:AudioMixer:assembleRelease && \
5 | ./gradlew publishReleasePublicationToSonatypeRepository && \
6 | ./gradlew closeAndReleaseRepository
7 | unset IS_PIASY_LIB_RELEASE
8 |
--------------------------------------------------------------------------------
/src/audio_mixer_global.cpp:
--------------------------------------------------------------------------------
1 | #include "audio_mixer_global.h"
2 |
3 | namespace audio_mixer {
4 |
5 | const AVSampleFormat kOutputSampleFormat = AV_SAMPLE_FMT_S16;
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/src/audio_mixer_global.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #ifdef __cplusplus
4 | extern "C" {
5 | #endif
6 |
7 | #include
8 |
9 | #ifdef __cplusplus
10 | }
11 | #endif
12 |
13 | namespace audio_mixer {
14 |
15 | extern const AVSampleFormat kOutputSampleFormat;
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/audio_record_source.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Piasy on 2018/5/28.
3 | //
4 |
5 | #pragma once
6 |
7 | #include
8 |
9 | #include "audio_source.h"
10 |
11 | namespace audio_mixer {
12 |
13 | class AudioRecordSource : public AudioSource {
14 | public:
15 | AudioRecordSource(int32_t ssrc, int32_t sample_rate, int32_t channel_num,
16 | int32_t frame_duration_ms, float volume);
17 |
18 | ~AudioRecordSource();
19 |
20 | void OnAudioRecorded(const void* data, int32_t size);
21 |
22 | AudioFrameInfo
23 | GetAudioFrameWithInfo(int32_t sample_rate_hz, webrtc::AudioFrame* audio_frame) override;
24 |
25 | int32_t Ssrc() const override;
26 |
27 | int32_t PreferredSampleRate() const override;
28 |
29 | private:
30 | int32_t ssrc_;
31 |
32 | int32_t sample_rate_;
33 | int32_t channel_num_;
34 |
35 | int32_t frame_duration_ms_;
36 | int32_t report_output_samples_;
37 | int32_t real_buffer_num_elements_;
38 |
39 | rtc::BufferT buffer_;
40 | };
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/src/audio_resampler.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Piasy on 04/11/2017.
3 | //
4 |
5 | #pragma once
6 |
7 | #include
8 |
9 | #include "avx_helper.h"
10 |
11 | namespace audio_mixer {
12 |
13 | class AudioResampler {
14 | public:
15 | AudioResampler(
16 | AVSampleFormat input_format, int32_t input_sample_rate, int32_t input_channel_num,
17 | AVSampleFormat output_format, int32_t output_sample_rate, int32_t output_channel_num
18 | );
19 |
20 | ~AudioResampler() {}
21 |
22 | int32_t Resample(void** input_buffer, int32_t input_size, void** output_buffer);
23 |
24 | private:
25 |
26 | std::unique_ptr context_;
27 | AVSampleFormat input_format_;
28 | int32_t input_sample_rate_;
29 | int32_t input_channel_num_;
30 | AVSampleFormat output_format_;
31 | int32_t output_sample_rate_;
32 | int32_t output_channel_num_;
33 | };
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/src/audio_source.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Piasy on 2018/5/28.
3 | //
4 |
5 | #include