#pragma once // Exclude rarely-used stuff from Windows headers #include <cassert> #include <cstdint> #include <functional> #include <mutex> #include <string> #include <unordered_set> #if defined(MR_SHARING_WIN) #include <SDKDDKVer.h> #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #ifndef NOMINMAX #define NOMINMAX #endif #include <windows.h> #include <WinSock2.h> #endif // Core WebRTC #include <api/audio_codecs/builtin_audio_decoder_factory.h> #include "api/audio_codecs/builtin_audio_encoder_factory.h" #include "api/video_codecs/builtin_video_decoder_factory.h" #include "api/video_codecs/builtin_video_encoder_factory.h" #include "api/data_channel_interface.h" #include "api/peer_connection_interface.h" #include "api/media_stream_interface.h" #include "api/peer_connection_interface.h" #include "api/rtp_sender_interface.h" #include "api/stats/rtcstats_objects.h" #include "api/transport/bitrate_settings.h" #include "api/video/i420_buffer.h" #include "media/base/adapted_video_track_source.h" #include "media/engine/internal_decoder_factory.h" #include "media/engine/internal_encoder_factory.h" #include "media/engine/multiplex_codec_factory.h" #include "media/engine/webrtc_video_engine.h" // #include "media/engine/webrtcvideodecoderfactory.h" // #include "media/engine/webrtcvideoencoderfactory.h" #include "modules/audio_device/include/audio_device.h" #include "modules/audio_mixer/audio_mixer_impl.h" #include "modules/audio_processing/include/audio_processing.h" #include "modules/video_capture/video_capture_factory.h" //#include "rtc_base/bind.h" #include "rtc_base/memory/aligned_malloc.h" // libyuv from WebRTC repository for color conversion #include "libyuv.h"