Revert "Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely"
This reverts commit 5f0eb93d2a44cec2102fc8c3757d5bb814bd145f. Reason for revert: Breaks downstream project. I'm going to fix that one and create a reland of this CL after. Original change's description: > Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely > > Bug: webrtc:13555, webrtc:13082 > Change-Id: Iff2cda6f516739419e97e975e03f77a98f74be03 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249260 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Reviewed-by: Artem Titov <titovartem@webrtc.org> > Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com> > Cr-Commit-Position: refs/heads/main@{#35805} TBR=hta@webrtc.org,titovartem@webrtc.org,daniel.l@hpcnt.com,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com Change-Id: I33d497f1132adfe6d151023195a388d9b7d548f9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:13555, webrtc:13082 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249364 Reviewed-by: Artem Titov <titovartem@webrtc.org> Owners-Override: Artem Titov <titovartem@webrtc.org> Reviewed-by: Andrey Logvin <landrey@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35807}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
d3b3a3b6bb
commit
3f87250a4f
15
api/DEPS
15
api/DEPS
@ -112,6 +112,14 @@ specific_include_rules = {
|
|||||||
"+rtc_base/ref_count.h",
|
"+rtc_base/ref_count.h",
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"jsep_ice_candidate\.h": [
|
||||||
|
"+rtc_base/constructor_magic.h",
|
||||||
|
],
|
||||||
|
|
||||||
|
"jsep_session_description\.h": [
|
||||||
|
"+rtc_base/constructor_magic.h",
|
||||||
|
],
|
||||||
|
|
||||||
"media_stream_interface\.h": [
|
"media_stream_interface\.h": [
|
||||||
"+modules/audio_processing/include/audio_processing_statistics.h",
|
"+modules/audio_processing/include/audio_processing_statistics.h",
|
||||||
"+rtc_base/ref_count.h",
|
"+rtc_base/ref_count.h",
|
||||||
@ -148,6 +156,7 @@ specific_include_rules = {
|
|||||||
],
|
],
|
||||||
|
|
||||||
"ref_counted_base\.h": [
|
"ref_counted_base\.h": [
|
||||||
|
"+rtc_base/constructor_magic.h",
|
||||||
"+rtc_base/ref_count.h",
|
"+rtc_base/ref_count.h",
|
||||||
"+rtc_base/ref_counter.h",
|
"+rtc_base/ref_counter.h",
|
||||||
],
|
],
|
||||||
@ -186,6 +195,7 @@ specific_include_rules = {
|
|||||||
],
|
],
|
||||||
|
|
||||||
"stats_types\.h": [
|
"stats_types\.h": [
|
||||||
|
"+rtc_base/constructor_magic.h",
|
||||||
"+rtc_base/ref_count.h",
|
"+rtc_base/ref_count.h",
|
||||||
"+rtc_base/thread_checker.h",
|
"+rtc_base/thread_checker.h",
|
||||||
],
|
],
|
||||||
@ -194,12 +204,17 @@ specific_include_rules = {
|
|||||||
"+rtc_base/ref_count.h",
|
"+rtc_base/ref_count.h",
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"audio_frame\.h": [
|
||||||
|
"+rtc_base/constructor_magic.h",
|
||||||
|
],
|
||||||
|
|
||||||
"audio_mixer\.h": [
|
"audio_mixer\.h": [
|
||||||
"+rtc_base/ref_count.h",
|
"+rtc_base/ref_count.h",
|
||||||
],
|
],
|
||||||
|
|
||||||
"audio_decoder\.h": [
|
"audio_decoder\.h": [
|
||||||
"+rtc_base/buffer.h",
|
"+rtc_base/buffer.h",
|
||||||
|
"+rtc_base/constructor_magic.h",
|
||||||
],
|
],
|
||||||
|
|
||||||
"audio_decoder_factory\.h": [
|
"audio_decoder_factory\.h": [
|
||||||
|
|||||||
@ -23,6 +23,7 @@
|
|||||||
#include "call/adaptation/video_source_restrictions.h"
|
#include "call/adaptation/video_source_restrictions.h"
|
||||||
#include "call/adaptation/video_stream_input_state.h"
|
#include "call/adaptation/video_stream_input_state.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/numerics/safe_conversions.h"
|
#include "rtc_base/numerics/safe_conversions.h"
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,8 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
// Format conversion (remixing and resampling) for audio. Only simple remixing
|
// Format conversion (remixing and resampling) for audio. Only simple remixing
|
||||||
@ -33,9 +35,6 @@ class AudioConverter {
|
|||||||
size_t dst_frames);
|
size_t dst_frames);
|
||||||
virtual ~AudioConverter() {}
|
virtual ~AudioConverter() {}
|
||||||
|
|
||||||
AudioConverter(const AudioConverter&) = delete;
|
|
||||||
AudioConverter& operator=(const AudioConverter&) = delete;
|
|
||||||
|
|
||||||
// Convert `src`, containing `src_size` samples, to `dst`, having a sample
|
// Convert `src`, containing `src_size` samples, to `dst`, having a sample
|
||||||
// capacity of `dst_capacity`. Both point to a series of buffers containing
|
// capacity of `dst_capacity`. Both point to a series of buffers containing
|
||||||
// the samples for each channel. The sizes must correspond to the format
|
// the samples for each channel. The sizes must correspond to the format
|
||||||
@ -65,6 +64,8 @@ class AudioConverter {
|
|||||||
const size_t src_frames_;
|
const size_t src_frames_;
|
||||||
const size_t dst_channels_;
|
const size_t dst_channels_;
|
||||||
const size_t dst_frames_;
|
const size_t dst_frames_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(AudioConverter);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "common_audio/resampler/sinc_resampler.h"
|
#include "common_audio/resampler/sinc_resampler.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -32,9 +33,6 @@ class PushSincResampler : public SincResamplerCallback {
|
|||||||
PushSincResampler(size_t source_frames, size_t destination_frames);
|
PushSincResampler(size_t source_frames, size_t destination_frames);
|
||||||
~PushSincResampler() override;
|
~PushSincResampler() override;
|
||||||
|
|
||||||
PushSincResampler(const PushSincResampler&) = delete;
|
|
||||||
PushSincResampler& operator=(const PushSincResampler&) = delete;
|
|
||||||
|
|
||||||
// Perform the resampling. `source_frames` must always equal the
|
// Perform the resampling. `source_frames` must always equal the
|
||||||
// `source_frames` provided at construction. `destination_capacity` must be
|
// `source_frames` provided at construction. `destination_capacity` must be
|
||||||
// at least as large as `destination_frames`. Returns the number of samples
|
// at least as large as `destination_frames`. Returns the number of samples
|
||||||
@ -74,6 +72,8 @@ class PushSincResampler : public SincResamplerCallback {
|
|||||||
|
|
||||||
// Used to assert we are only requested for as much data as is available.
|
// Used to assert we are only requested for as much data as is available.
|
||||||
size_t source_available_;
|
size_t source_available_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(PushSincResampler);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/gtest_prod_util.h"
|
#include "rtc_base/gtest_prod_util.h"
|
||||||
#include "rtc_base/memory/aligned_malloc.h"
|
#include "rtc_base/memory/aligned_malloc.h"
|
||||||
#include "rtc_base/system/arch.h"
|
#include "rtc_base/system/arch.h"
|
||||||
@ -63,9 +64,6 @@ class SincResampler {
|
|||||||
SincResamplerCallback* read_cb);
|
SincResamplerCallback* read_cb);
|
||||||
virtual ~SincResampler();
|
virtual ~SincResampler();
|
||||||
|
|
||||||
SincResampler(const SincResampler&) = delete;
|
|
||||||
SincResampler& operator=(const SincResampler&) = delete;
|
|
||||||
|
|
||||||
// Resample `frames` of data from `read_cb_` into `destination`.
|
// Resample `frames` of data from `read_cb_` into `destination`.
|
||||||
void Resample(size_t frames, float* destination);
|
void Resample(size_t frames, float* destination);
|
||||||
|
|
||||||
@ -174,6 +172,8 @@ class SincResampler {
|
|||||||
float* const r2_;
|
float* const r2_;
|
||||||
float* r3_;
|
float* r3_;
|
||||||
float* r4_;
|
float* r4_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SincResampler);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
#define COMMON_AUDIO_RESAMPLER_SINUSOIDAL_LINEAR_CHIRP_SOURCE_H_
|
#define COMMON_AUDIO_RESAMPLER_SINUSOIDAL_LINEAR_CHIRP_SOURCE_H_
|
||||||
|
|
||||||
#include "common_audio/resampler/sinc_resampler.h"
|
#include "common_audio/resampler/sinc_resampler.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -32,10 +33,6 @@ class SinusoidalLinearChirpSource : public SincResamplerCallback {
|
|||||||
|
|
||||||
~SinusoidalLinearChirpSource() override {}
|
~SinusoidalLinearChirpSource() override {}
|
||||||
|
|
||||||
SinusoidalLinearChirpSource(const SinusoidalLinearChirpSource&) = delete;
|
|
||||||
SinusoidalLinearChirpSource& operator=(const SinusoidalLinearChirpSource&) =
|
|
||||||
delete;
|
|
||||||
|
|
||||||
void Run(size_t frames, float* destination) override;
|
void Run(size_t frames, float* destination) override;
|
||||||
|
|
||||||
double Frequency(size_t position);
|
double Frequency(size_t position);
|
||||||
@ -49,6 +46,8 @@ class SinusoidalLinearChirpSource : public SincResamplerCallback {
|
|||||||
double k_;
|
double k_;
|
||||||
size_t current_index_;
|
size_t current_index_;
|
||||||
double delay_samples_;
|
double delay_samples_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SinusoidalLinearChirpSource);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -23,6 +23,7 @@
|
|||||||
#include "examples/peerconnection/client/main_wnd.h"
|
#include "examples/peerconnection/client/main_wnd.h"
|
||||||
#include "examples/peerconnection/client/peer_connection_client.h"
|
#include "examples/peerconnection/client/peer_connection_client.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/ssl_adapter.h"
|
#include "rtc_base/ssl_adapter.h"
|
||||||
#include "rtc_base/string_utils.h" // For ToUtf8
|
#include "rtc_base/string_utils.h" // For ToUtf8
|
||||||
#include "rtc_base/win32_socket_init.h"
|
#include "rtc_base/win32_socket_init.h"
|
||||||
@ -39,9 +40,6 @@ class WindowsCommandLineArguments {
|
|||||||
public:
|
public:
|
||||||
WindowsCommandLineArguments();
|
WindowsCommandLineArguments();
|
||||||
|
|
||||||
WindowsCommandLineArguments(const WindowsCommandLineArguments&) = delete;
|
|
||||||
WindowsCommandLineArguments& operator=(WindowsCommandLineArguments&) = delete;
|
|
||||||
|
|
||||||
int argc() { return argv_.size(); }
|
int argc() { return argv_.size(); }
|
||||||
char** argv() { return argv_.data(); }
|
char** argv() { return argv_.data(); }
|
||||||
|
|
||||||
@ -50,6 +48,9 @@ class WindowsCommandLineArguments {
|
|||||||
std::vector<std::string> args_;
|
std::vector<std::string> args_;
|
||||||
// Pointers, to get layout compatible with char** argv.
|
// Pointers, to get layout compatible with char** argv.
|
||||||
std::vector<char*> argv_;
|
std::vector<char*> argv_;
|
||||||
|
|
||||||
|
private:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(WindowsCommandLineArguments);
|
||||||
};
|
};
|
||||||
|
|
||||||
WindowsCommandLineArguments::WindowsCommandLineArguments() {
|
WindowsCommandLineArguments::WindowsCommandLineArguments() {
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
#include "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h"
|
#include "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h"
|
||||||
#include "logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h"
|
#include "logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/event.h"
|
#include "rtc_base/event.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/numerics/safe_conversions.h"
|
#include "rtc_base/numerics/safe_conversions.h"
|
||||||
|
|||||||
@ -64,9 +64,7 @@ class VoiceEngineInterface : public RtpHeaderExtensionQueryInterface {
|
|||||||
public:
|
public:
|
||||||
VoiceEngineInterface() = default;
|
VoiceEngineInterface() = default;
|
||||||
virtual ~VoiceEngineInterface() = default;
|
virtual ~VoiceEngineInterface() = default;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(VoiceEngineInterface);
|
||||||
VoiceEngineInterface(const VoiceEngineInterface&) = delete;
|
|
||||||
VoiceEngineInterface& operator=(const VoiceEngineInterface&) = delete;
|
|
||||||
|
|
||||||
// Initialization
|
// Initialization
|
||||||
// Starts the engine.
|
// Starts the engine.
|
||||||
@ -100,9 +98,7 @@ class VideoEngineInterface : public RtpHeaderExtensionQueryInterface {
|
|||||||
public:
|
public:
|
||||||
VideoEngineInterface() = default;
|
VideoEngineInterface() = default;
|
||||||
virtual ~VideoEngineInterface() = default;
|
virtual ~VideoEngineInterface() = default;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(VideoEngineInterface);
|
||||||
VideoEngineInterface(const VideoEngineInterface&) = delete;
|
|
||||||
VideoEngineInterface& operator=(const VideoEngineInterface&) = delete;
|
|
||||||
|
|
||||||
// Creates a video media channel, paired with the specified voice channel.
|
// Creates a video media channel, paired with the specified voice channel.
|
||||||
// Returns NULL on failure.
|
// Returns NULL on failure.
|
||||||
|
|||||||
@ -54,6 +54,7 @@
|
|||||||
|
|
||||||
#include "absl/algorithm/container.h"
|
#include "absl/algorithm/container.h"
|
||||||
#include "media/base/rid_description.h"
|
#include "media/base/rid_description.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/unique_id_generator.h"
|
#include "rtc_base/unique_id_generator.h"
|
||||||
|
|
||||||
namespace cricket {
|
namespace cricket {
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
#include "api/video/video_source_interface.h"
|
#include "api/video/video_source_interface.h"
|
||||||
#include "common_video/framerate_controller.h"
|
#include "common_video/framerate_controller.h"
|
||||||
#include "media/base/video_common.h"
|
#include "media/base/video_common.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/synchronization/mutex.h"
|
#include "rtc_base/synchronization/mutex.h"
|
||||||
#include "rtc_base/system/rtc_export.h"
|
#include "rtc_base/system/rtc_export.h"
|
||||||
#include "rtc_base/thread_annotations.h"
|
#include "rtc_base/thread_annotations.h"
|
||||||
@ -37,9 +38,6 @@ class RTC_EXPORT VideoAdapter {
|
|||||||
explicit VideoAdapter(int source_resolution_alignment);
|
explicit VideoAdapter(int source_resolution_alignment);
|
||||||
virtual ~VideoAdapter();
|
virtual ~VideoAdapter();
|
||||||
|
|
||||||
VideoAdapter(const VideoAdapter&) = delete;
|
|
||||||
VideoAdapter& operator=(const VideoAdapter&) = delete;
|
|
||||||
|
|
||||||
// Return the adapted resolution and cropping parameters given the
|
// Return the adapted resolution and cropping parameters given the
|
||||||
// input resolution. The input frame should first be cropped, then
|
// input resolution. The input frame should first be cropped, then
|
||||||
// scaled to the final output resolution. Returns true if the frame
|
// scaled to the final output resolution. Returns true if the frame
|
||||||
@ -148,6 +146,8 @@ class RTC_EXPORT VideoAdapter {
|
|||||||
|
|
||||||
// The critical section to protect the above variables.
|
// The critical section to protect the above variables.
|
||||||
mutable webrtc::Mutex mutex_;
|
mutable webrtc::Mutex mutex_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(VideoAdapter);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace cricket
|
} // namespace cricket
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#include "absl/types/optional.h"
|
#include "absl/types/optional.h"
|
||||||
#include "rtc_base/buffer.h"
|
#include "rtc_base/buffer.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/copy_on_write_buffer.h"
|
#include "rtc_base/copy_on_write_buffer.h"
|
||||||
#include "rtc_base/task_utils/pending_task_safety_flag.h"
|
#include "rtc_base/task_utils/pending_task_safety_flag.h"
|
||||||
#include "rtc_base/third_party/sigslot/sigslot.h"
|
#include "rtc_base/third_party/sigslot/sigslot.h"
|
||||||
@ -75,9 +76,6 @@ class UsrsctpTransport : public SctpTransportInternal,
|
|||||||
rtc::PacketTransportInternal* transport);
|
rtc::PacketTransportInternal* transport);
|
||||||
~UsrsctpTransport() override;
|
~UsrsctpTransport() override;
|
||||||
|
|
||||||
UsrsctpTransport(const UsrsctpTransport&) = delete;
|
|
||||||
UsrsctpTransport& operator=(const UsrsctpTransport&) = delete;
|
|
||||||
|
|
||||||
// SctpTransportInternal overrides (see sctptransportinternal.h for comments).
|
// SctpTransportInternal overrides (see sctptransportinternal.h for comments).
|
||||||
void SetDtlsTransport(rtc::PacketTransportInternal* transport) override;
|
void SetDtlsTransport(rtc::PacketTransportInternal* transport) override;
|
||||||
bool Start(int local_port, int remote_port, int max_message_size) override;
|
bool Start(int local_port, int remote_port, int max_message_size) override;
|
||||||
@ -287,6 +285,8 @@ class UsrsctpTransport : public SctpTransportInternal,
|
|||||||
uintptr_t id_ = 0;
|
uintptr_t id_ = 0;
|
||||||
|
|
||||||
friend class UsrsctpTransportMap;
|
friend class UsrsctpTransportMap;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(UsrsctpTransport);
|
||||||
};
|
};
|
||||||
|
|
||||||
class UsrsctpTransportMap;
|
class UsrsctpTransportMap;
|
||||||
|
|||||||
@ -58,9 +58,6 @@ class SimulatedPacketTransport final : public rtc::PacketTransportInternal {
|
|||||||
SignalWritableState(this);
|
SignalWritableState(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
SimulatedPacketTransport(const SimulatedPacketTransport&) = delete;
|
|
||||||
SimulatedPacketTransport& operator=(const SimulatedPacketTransport&) = delete;
|
|
||||||
|
|
||||||
const std::string& transport_name() const override { return transport_name_; }
|
const std::string& transport_name() const override { return transport_name_; }
|
||||||
|
|
||||||
bool writable() const override { return destination_ != nullptr; }
|
bool writable() const override { return destination_ != nullptr; }
|
||||||
@ -132,6 +129,7 @@ class SimulatedPacketTransport final : public rtc::PacketTransportInternal {
|
|||||||
std::atomic<SimulatedPacketTransport*> destination_ ATOMIC_VAR_INIT(nullptr);
|
std::atomic<SimulatedPacketTransport*> destination_ ATOMIC_VAR_INIT(nullptr);
|
||||||
webrtc::Random random_;
|
webrtc::Random random_;
|
||||||
webrtc::ScopedTaskSafety task_safety_;
|
webrtc::ScopedTaskSafety task_safety_;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SimulatedPacketTransport);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -158,9 +156,6 @@ class SctpDataSender final {
|
|||||||
RTC_DCHECK(transport_);
|
RTC_DCHECK(transport_);
|
||||||
}
|
}
|
||||||
|
|
||||||
SctpDataSender(const SctpDataSender&) = delete;
|
|
||||||
SctpDataSender& operator=(const SctpDataSender&) = delete;
|
|
||||||
|
|
||||||
void Start() {
|
void Start() {
|
||||||
thread_->PostTask(ToQueuedTask(task_safety_.flag(), [this] {
|
thread_->PostTask(ToQueuedTask(task_safety_.flag(), [this] {
|
||||||
if (started_) {
|
if (started_) {
|
||||||
@ -241,6 +236,7 @@ class SctpDataSender final {
|
|||||||
std::atomic<uint64_t> num_bytes_sent_ ATOMIC_VAR_INIT(0);
|
std::atomic<uint64_t> num_bytes_sent_ ATOMIC_VAR_INIT(0);
|
||||||
absl::optional<std::string> last_error_;
|
absl::optional<std::string> last_error_;
|
||||||
webrtc::ScopedTaskSafetyDetached task_safety_;
|
webrtc::ScopedTaskSafetyDetached task_safety_;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SctpDataSender);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -255,9 +251,6 @@ class SctpDataReceiver final : public sigslot::has_slots<> {
|
|||||||
: receiver_id_(receiver_id),
|
: receiver_id_(receiver_id),
|
||||||
target_messages_count_(target_messages_count) {}
|
target_messages_count_(target_messages_count) {}
|
||||||
|
|
||||||
SctpDataReceiver(const SctpDataReceiver&) = delete;
|
|
||||||
SctpDataReceiver& operator=(const SctpDataReceiver&) = delete;
|
|
||||||
|
|
||||||
void OnDataReceived(const cricket::ReceiveDataParams& params,
|
void OnDataReceived(const cricket::ReceiveDataParams& params,
|
||||||
const rtc::CopyOnWriteBuffer& data) {
|
const rtc::CopyOnWriteBuffer& data) {
|
||||||
num_bytes_received_ += data.size();
|
num_bytes_received_ += data.size();
|
||||||
@ -285,6 +278,7 @@ class SctpDataReceiver final : public sigslot::has_slots<> {
|
|||||||
rtc::Event received_target_messages_count_{true, false};
|
rtc::Event received_target_messages_count_{true, false};
|
||||||
const uint32_t receiver_id_;
|
const uint32_t receiver_id_;
|
||||||
const uint64_t target_messages_count_;
|
const uint64_t target_messages_count_;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SctpDataReceiver);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -303,9 +297,6 @@ class ThreadPool final {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ThreadPool(const ThreadPool&) = delete;
|
|
||||||
ThreadPool& operator=(const ThreadPool&) = delete;
|
|
||||||
|
|
||||||
rtc::Thread* GetRandomThread() {
|
rtc::Thread* GetRandomThread() {
|
||||||
return threads_[random_.Rand(0U, threads_.size() - 1)].get();
|
return threads_[random_.Rand(0U, threads_.size() - 1)].get();
|
||||||
}
|
}
|
||||||
@ -313,6 +304,7 @@ class ThreadPool final {
|
|||||||
private:
|
private:
|
||||||
webrtc::Random random_;
|
webrtc::Random random_;
|
||||||
std::vector<std::unique_ptr<rtc::Thread>> threads_;
|
std::vector<std::unique_ptr<rtc::Thread>> threads_;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ThreadPool);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -368,9 +360,6 @@ class SctpPingPong final {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
SctpPingPong(const SctpPingPong&) = delete;
|
|
||||||
SctpPingPong& operator=(const SctpPingPong&) = delete;
|
|
||||||
|
|
||||||
bool Start() {
|
bool Start() {
|
||||||
CreateTwoConnectedSctpTransportsWithAllStreams();
|
CreateTwoConnectedSctpTransportsWithAllStreams();
|
||||||
|
|
||||||
@ -588,6 +577,7 @@ class SctpPingPong final {
|
|||||||
const uint8_t packet_loss_percents_;
|
const uint8_t packet_loss_percents_;
|
||||||
const uint16_t avg_send_delay_millis_;
|
const uint16_t avg_send_delay_millis_;
|
||||||
const webrtc::SendDataParams send_params_;
|
const webrtc::SendDataParams send_params_;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SctpPingPong);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "modules/audio_coding/audio_network_adaptor/controller.h"
|
#include "modules/audio_coding/audio_network_adaptor/controller.h"
|
||||||
#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h"
|
#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/ignore_wundef.h"
|
#include "rtc_base/ignore_wundef.h"
|
||||||
#include "rtc_base/system/file_wrapper.h"
|
#include "rtc_base/system/file_wrapper.h"
|
||||||
#if WEBRTC_ENABLE_PROTOBUF
|
#if WEBRTC_ENABLE_PROTOBUF
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "common_audio/vad/mock/mock_vad.h"
|
#include "common_audio/vad/mock/mock_vad.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/numerics/safe_conversions.h"
|
#include "rtc_base/numerics/safe_conversions.h"
|
||||||
#include "test/gtest.h"
|
#include "test/gtest.h"
|
||||||
#include "test/mock_audio_encoder.h"
|
#include "test/mock_audio_encoder.h"
|
||||||
@ -49,9 +50,6 @@ class AudioEncoderCngTest : public ::testing::Test {
|
|||||||
EXPECT_CALL(*mock_encoder_, NumChannels()).WillRepeatedly(Return(1));
|
EXPECT_CALL(*mock_encoder_, NumChannels()).WillRepeatedly(Return(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioEncoderCngTest(const AudioEncoderCngTest&) = delete;
|
|
||||||
AudioEncoderCngTest& operator=(const AudioEncoderCngTest&) = delete;
|
|
||||||
|
|
||||||
void TearDown() override {
|
void TearDown() override {
|
||||||
EXPECT_CALL(*mock_vad_, Die()).Times(1);
|
EXPECT_CALL(*mock_vad_, Die()).Times(1);
|
||||||
cng_.reset();
|
cng_.reset();
|
||||||
@ -210,6 +208,8 @@ class AudioEncoderCngTest : public ::testing::Test {
|
|||||||
rtc::Buffer encoded_;
|
rtc::Buffer encoded_;
|
||||||
AudioEncoder::EncodedInfo encoded_info_;
|
AudioEncoder::EncodedInfo encoded_info_;
|
||||||
int sample_rate_hz_;
|
int sample_rate_hz_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(AudioEncoderCngTest);
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_F(AudioEncoderCngTest, CreateAndDestroy) {
|
TEST_F(AudioEncoderCngTest, CreateAndDestroy) {
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
// This file provides macros for creating "symbol table" classes to simplify the
|
// This file provides macros for creating "symbol table" classes to simplify the
|
||||||
// dynamic loading of symbols from DLLs. Currently the implementation only
|
// dynamic loading of symbols from DLLs. Currently the implementation only
|
||||||
@ -54,9 +55,6 @@ class LateBindingSymbolTable {
|
|||||||
|
|
||||||
~LateBindingSymbolTable() { Unload(); }
|
~LateBindingSymbolTable() { Unload(); }
|
||||||
|
|
||||||
LateBindingSymbolTable(const LateBindingSymbolTable&) = delete;
|
|
||||||
LateBindingSymbolTable& operator=(LateBindingSymbolTable&) = delete;
|
|
||||||
|
|
||||||
static int NumSymbols() { return SYMBOL_TABLE_SIZE; }
|
static int NumSymbols() { return SYMBOL_TABLE_SIZE; }
|
||||||
|
|
||||||
// We do not use this, but we offer it for theoretical convenience.
|
// We do not use this, but we offer it for theoretical convenience.
|
||||||
@ -111,6 +109,8 @@ class LateBindingSymbolTable {
|
|||||||
DllHandle handle_;
|
DllHandle handle_;
|
||||||
bool undefined_symbols_;
|
bool undefined_symbols_;
|
||||||
void* symbols_[SYMBOL_TABLE_SIZE];
|
void* symbols_[SYMBOL_TABLE_SIZE];
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(LateBindingSymbolTable);
|
||||||
};
|
};
|
||||||
|
|
||||||
// This macro must be invoked in a header to declare a symbol table class.
|
// This macro must be invoked in a header to declare a symbol table class.
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
#include "modules/audio_processing/aec3/aec3_common.h"
|
#include "modules/audio_processing/aec3/aec3_common.h"
|
||||||
#include "modules/audio_processing/aec3/aec_state.h"
|
#include "modules/audio_processing/aec3/aec_state.h"
|
||||||
#include "modules/audio_processing/aec3/fft_data.h"
|
#include "modules/audio_processing/aec3/fft_data.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/system/arch.h"
|
#include "rtc_base/system/arch.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
#include "modules/audio_processing/aec3/render_buffer.h"
|
#include "modules/audio_processing/aec3/render_buffer.h"
|
||||||
#include "modules/audio_processing/aec3/spectrum_buffer.h"
|
#include "modules/audio_processing/aec3/spectrum_buffer.h"
|
||||||
#include "modules/audio_processing/aec3/stationarity_estimator.h"
|
#include "modules/audio_processing/aec3/stationarity_estimator.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
|
|||||||
@ -20,6 +20,7 @@
|
|||||||
#include "api/array_view.h"
|
#include "api/array_view.h"
|
||||||
#include "api/audio/echo_canceller3_config.h"
|
#include "api/audio/echo_canceller3_config.h"
|
||||||
#include "modules/audio_processing/aec3/aec3_common.h"
|
#include "modules/audio_processing/aec3/aec3_common.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
#include "modules/audio_processing/agc2/fixed_digital_level_estimator.h"
|
#include "modules/audio_processing/agc2/fixed_digital_level_estimator.h"
|
||||||
#include "modules/audio_processing/agc2/interpolated_gain_curve.h"
|
#include "modules/audio_processing/agc2/interpolated_gain_curve.h"
|
||||||
#include "modules/audio_processing/include/audio_frame_view.h"
|
#include "modules/audio_processing/include/audio_frame_view.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
class ApmDataDumper;
|
class ApmDataDumper;
|
||||||
|
|||||||
@ -30,6 +30,7 @@
|
|||||||
#include "modules/audio_processing/optionally_built_submodule_creators.h"
|
#include "modules/audio_processing/optionally_built_submodule_creators.h"
|
||||||
#include "rtc_base/atomic_ops.h"
|
#include "rtc_base/atomic_ops.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/ref_counted_object.h"
|
#include "rtc_base/ref_counted_object.h"
|
||||||
#include "rtc_base/time_utils.h"
|
#include "rtc_base/time_utils.h"
|
||||||
|
|||||||
@ -30,6 +30,7 @@
|
|||||||
#include "api/scoped_refptr.h"
|
#include "api/scoped_refptr.h"
|
||||||
#include "modules/audio_processing/include/audio_processing_statistics.h"
|
#include "modules/audio_processing/include/audio_processing_statistics.h"
|
||||||
#include "rtc_base/arraysize.h"
|
#include "rtc_base/arraysize.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/ref_count.h"
|
#include "rtc_base/ref_count.h"
|
||||||
#include "rtc_base/system/file_wrapper.h"
|
#include "rtc_base/system/file_wrapper.h"
|
||||||
#include "rtc_base/system/rtc_export.h"
|
#include "rtc_base/system/rtc_export.h"
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
#include "common_audio/include/audio_util.h"
|
#include "common_audio/include/audio_util.h"
|
||||||
#include "common_audio/wav_file.h"
|
#include "common_audio/wav_file.h"
|
||||||
#include "modules/audio_processing/test/conversational_speech/wavreader_interface.h"
|
#include "modules/audio_processing/test/conversational_speech/wavreader_interface.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/numerics/safe_conversions.h"
|
#include "rtc_base/numerics/safe_conversions.h"
|
||||||
#include "test/testsupport/file_utils.h"
|
#include "test/testsupport/file_utils.h"
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include "modules/audio_processing/test/conversational_speech/multiend_call.h"
|
#include "modules/audio_processing/test/conversational_speech/multiend_call.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
namespace test {
|
namespace test {
|
||||||
|
|||||||
@ -16,6 +16,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "modules/desktop_capture/desktop_frame.h"
|
#include "modules/desktop_capture/desktop_frame.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -25,9 +26,6 @@ class DesktopFrameWin : public DesktopFrame {
|
|||||||
public:
|
public:
|
||||||
~DesktopFrameWin() override;
|
~DesktopFrameWin() override;
|
||||||
|
|
||||||
DesktopFrameWin(const DesktopFrameWin&) = delete;
|
|
||||||
DesktopFrameWin& operator=(const DesktopFrameWin&) = delete;
|
|
||||||
|
|
||||||
static std::unique_ptr<DesktopFrameWin>
|
static std::unique_ptr<DesktopFrameWin>
|
||||||
Create(DesktopSize size, SharedMemoryFactory* shared_memory_factory, HDC hdc);
|
Create(DesktopSize size, SharedMemoryFactory* shared_memory_factory, HDC hdc);
|
||||||
|
|
||||||
@ -42,6 +40,8 @@ class DesktopFrameWin : public DesktopFrame {
|
|||||||
|
|
||||||
HBITMAP bitmap_;
|
HBITMAP bitmap_;
|
||||||
std::unique_ptr<SharedMemory> owned_shared_memory_;
|
std::unique_ptr<SharedMemory> owned_shared_memory_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(DesktopFrameWin);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
#include "modules/desktop_capture/desktop_capturer.h"
|
#include "modules/desktop_capture/desktop_capturer.h"
|
||||||
#include "modules/desktop_capture/linux/wayland/screencast_portal.h"
|
#include "modules/desktop_capture/linux/wayland/screencast_portal.h"
|
||||||
#include "modules/desktop_capture/linux/wayland/shared_screencast_stream.h"
|
#include "modules/desktop_capture/linux/wayland/shared_screencast_stream.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -24,9 +25,6 @@ class BaseCapturerPipeWire : public DesktopCapturer,
|
|||||||
BaseCapturerPipeWire(const DesktopCaptureOptions& options);
|
BaseCapturerPipeWire(const DesktopCaptureOptions& options);
|
||||||
~BaseCapturerPipeWire() override;
|
~BaseCapturerPipeWire() override;
|
||||||
|
|
||||||
BaseCapturerPipeWire(const BaseCapturerPipeWire&) = delete;
|
|
||||||
BaseCapturerPipeWire& operator=(const BaseCapturerPipeWire&) = delete;
|
|
||||||
|
|
||||||
// DesktopCapturer interface.
|
// DesktopCapturer interface.
|
||||||
void Start(Callback* delegate) override;
|
void Start(Callback* delegate) override;
|
||||||
void CaptureFrame() override;
|
void CaptureFrame() override;
|
||||||
@ -44,6 +42,8 @@ class BaseCapturerPipeWire : public DesktopCapturer,
|
|||||||
Callback* callback_ = nullptr;
|
Callback* callback_ = nullptr;
|
||||||
bool capturer_failed_ = false;
|
bool capturer_failed_ = false;
|
||||||
std::unique_ptr<ScreenCastPortal> screencast_portal_;
|
std::unique_ptr<ScreenCastPortal> screencast_portal_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(BaseCapturerPipeWire);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -29,6 +29,7 @@
|
|||||||
#include "modules/desktop_capture/screen_capture_frame_queue.h"
|
#include "modules/desktop_capture/screen_capture_frame_queue.h"
|
||||||
#include "modules/desktop_capture/screen_capturer_helper.h"
|
#include "modules/desktop_capture/screen_capturer_helper.h"
|
||||||
#include "modules/desktop_capture/shared_desktop_frame.h"
|
#include "modules/desktop_capture/shared_desktop_frame.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -45,9 +46,6 @@ class ScreenCapturerX11 : public DesktopCapturer,
|
|||||||
ScreenCapturerX11();
|
ScreenCapturerX11();
|
||||||
~ScreenCapturerX11() override;
|
~ScreenCapturerX11() override;
|
||||||
|
|
||||||
ScreenCapturerX11(const ScreenCapturerX11&) = delete;
|
|
||||||
ScreenCapturerX11& operator=(const ScreenCapturerX11&) = delete;
|
|
||||||
|
|
||||||
static std::unique_ptr<DesktopCapturer> CreateRawScreenCapturer(
|
static std::unique_ptr<DesktopCapturer> CreateRawScreenCapturer(
|
||||||
const DesktopCaptureOptions& options);
|
const DesktopCaptureOptions& options);
|
||||||
|
|
||||||
@ -140,6 +138,8 @@ class ScreenCapturerX11 : public DesktopCapturer,
|
|||||||
DesktopRegion last_invalid_region_;
|
DesktopRegion last_invalid_region_;
|
||||||
|
|
||||||
std::unique_ptr<XAtomCache> atom_cache_;
|
std::unique_ptr<XAtomCache> atom_cache_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerX11);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include "api/ref_counted_base.h"
|
#include "api/ref_counted_base.h"
|
||||||
#include "api/scoped_refptr.h"
|
#include "api/scoped_refptr.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/system/rtc_export.h"
|
#include "rtc_base/system/rtc_export.h"
|
||||||
|
|
||||||
// Including Xlib.h will involve evil defines (Bool, Status, True, False), which
|
// Including Xlib.h will involve evil defines (Bool, Status, True, False), which
|
||||||
@ -64,9 +65,6 @@ class RTC_EXPORT SharedXDisplay
|
|||||||
|
|
||||||
~SharedXDisplay();
|
~SharedXDisplay();
|
||||||
|
|
||||||
SharedXDisplay(const SharedXDisplay&) = delete;
|
|
||||||
SharedXDisplay& operator=(const SharedXDisplay&) = delete;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Takes ownership of `display`.
|
// Takes ownership of `display`.
|
||||||
explicit SharedXDisplay(Display* display);
|
explicit SharedXDisplay(Display* display);
|
||||||
@ -77,6 +75,8 @@ class RTC_EXPORT SharedXDisplay
|
|||||||
Display* display_;
|
Display* display_;
|
||||||
|
|
||||||
EventHandlersMap event_handlers_;
|
EventHandlersMap event_handlers_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SharedXDisplay);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -25,6 +25,7 @@
|
|||||||
#include "modules/desktop_capture/linux/x11/window_finder_x11.h"
|
#include "modules/desktop_capture/linux/x11/window_finder_x11.h"
|
||||||
#include "modules/desktop_capture/linux/x11/x_atom_cache.h"
|
#include "modules/desktop_capture/linux/x11/x_atom_cache.h"
|
||||||
#include "modules/desktop_capture/linux/x11/x_server_pixel_buffer.h"
|
#include "modules/desktop_capture/linux/x11/x_server_pixel_buffer.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -34,9 +35,6 @@ class WindowCapturerX11 : public DesktopCapturer,
|
|||||||
explicit WindowCapturerX11(const DesktopCaptureOptions& options);
|
explicit WindowCapturerX11(const DesktopCaptureOptions& options);
|
||||||
~WindowCapturerX11() override;
|
~WindowCapturerX11() override;
|
||||||
|
|
||||||
WindowCapturerX11(const WindowCapturerX11&) = delete;
|
|
||||||
WindowCapturerX11& operator=(const WindowCapturerX11&) = delete;
|
|
||||||
|
|
||||||
static std::unique_ptr<DesktopCapturer> CreateRawWindowCapturer(
|
static std::unique_ptr<DesktopCapturer> CreateRawWindowCapturer(
|
||||||
const DesktopCaptureOptions& options);
|
const DesktopCaptureOptions& options);
|
||||||
|
|
||||||
@ -67,6 +65,8 @@ class WindowCapturerX11 : public DesktopCapturer,
|
|||||||
XServerPixelBuffer x_server_pixel_buffer_;
|
XServerPixelBuffer x_server_pixel_buffer_;
|
||||||
XAtomCache atom_cache_;
|
XAtomCache atom_cache_;
|
||||||
WindowFinderX11 window_finder_;
|
WindowFinderX11 window_finder_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(WindowCapturerX11);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
#include "modules/desktop_capture/linux/x11/x_error_trap.h"
|
#include "modules/desktop_capture/linux/x11/x_error_trap.h"
|
||||||
#include "modules/desktop_capture/linux/x11/x_window_property.h"
|
#include "modules/desktop_capture/linux/x11/x_window_property.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|||||||
@ -13,6 +13,8 @@
|
|||||||
|
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
// Helper class that registers X Window error handler. Caller can use
|
// Helper class that registers X Window error handler. Caller can use
|
||||||
@ -22,15 +24,14 @@ class XErrorTrap {
|
|||||||
explicit XErrorTrap(Display* display);
|
explicit XErrorTrap(Display* display);
|
||||||
~XErrorTrap();
|
~XErrorTrap();
|
||||||
|
|
||||||
XErrorTrap(const XErrorTrap&) = delete;
|
|
||||||
XErrorTrap& operator=(const XErrorTrap&) = delete;
|
|
||||||
|
|
||||||
// Returns last error and removes unregisters the error handler.
|
// Returns last error and removes unregisters the error handler.
|
||||||
int GetLastErrorAndDisable();
|
int GetLastErrorAndDisable();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
XErrorHandler original_error_handler_;
|
XErrorHandler original_error_handler_;
|
||||||
bool enabled_;
|
bool enabled_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(XErrorTrap);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -20,6 +20,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "modules/desktop_capture/desktop_geometry.h"
|
#include "modules/desktop_capture/desktop_geometry.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -33,9 +34,6 @@ class XServerPixelBuffer {
|
|||||||
XServerPixelBuffer();
|
XServerPixelBuffer();
|
||||||
~XServerPixelBuffer();
|
~XServerPixelBuffer();
|
||||||
|
|
||||||
XServerPixelBuffer(const XServerPixelBuffer&) = delete;
|
|
||||||
XServerPixelBuffer& operator=(const XServerPixelBuffer&) = delete;
|
|
||||||
|
|
||||||
void Release();
|
void Release();
|
||||||
|
|
||||||
// Allocate (or reallocate) the pixel buffer for `window`. Returns false in
|
// Allocate (or reallocate) the pixel buffer for `window`. Returns false in
|
||||||
@ -82,6 +80,8 @@ class XServerPixelBuffer {
|
|||||||
GC shm_gc_ = nullptr;
|
GC shm_gc_ = nullptr;
|
||||||
bool xshm_get_image_succeeded_ = false;
|
bool xshm_get_image_succeeded_ = false;
|
||||||
std::vector<uint8_t> icc_profile_;
|
std::vector<uint8_t> icc_profile_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(XServerPixelBuffer);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -14,6 +14,8 @@
|
|||||||
#include <X11/X.h>
|
#include <X11/X.h>
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
class XWindowPropertyBase {
|
class XWindowPropertyBase {
|
||||||
@ -24,9 +26,6 @@ class XWindowPropertyBase {
|
|||||||
int expected_size);
|
int expected_size);
|
||||||
virtual ~XWindowPropertyBase();
|
virtual ~XWindowPropertyBase();
|
||||||
|
|
||||||
XWindowPropertyBase(const XWindowPropertyBase&) = delete;
|
|
||||||
XWindowPropertyBase& operator=(const XWindowPropertyBase&) = delete;
|
|
||||||
|
|
||||||
// True if we got properly value successfully.
|
// True if we got properly value successfully.
|
||||||
bool is_valid() const { return is_valid_; }
|
bool is_valid() const { return is_valid_; }
|
||||||
|
|
||||||
@ -39,6 +38,8 @@ class XWindowPropertyBase {
|
|||||||
private:
|
private:
|
||||||
bool is_valid_ = false;
|
bool is_valid_ = false;
|
||||||
unsigned long size_ = 0; // NOLINT: type required by XGetWindowProperty
|
unsigned long size_ = 0; // NOLINT: type required by XGetWindowProperty
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(XWindowPropertyBase);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Convenience wrapper for XGetWindowProperty() results.
|
// Convenience wrapper for XGetWindowProperty() results.
|
||||||
@ -49,13 +50,12 @@ class XWindowProperty : public XWindowPropertyBase {
|
|||||||
: XWindowPropertyBase(display, window, property, sizeof(PropertyType)) {}
|
: XWindowPropertyBase(display, window, property, sizeof(PropertyType)) {}
|
||||||
~XWindowProperty() override = default;
|
~XWindowProperty() override = default;
|
||||||
|
|
||||||
XWindowProperty(const XWindowProperty&) = delete;
|
|
||||||
XWindowProperty& operator=(const XWindowProperty&) = delete;
|
|
||||||
|
|
||||||
const PropertyType* data() const {
|
const PropertyType* data() const {
|
||||||
return reinterpret_cast<PropertyType*>(data_);
|
return reinterpret_cast<PropertyType*>(data_);
|
||||||
}
|
}
|
||||||
PropertyType* data() { return reinterpret_cast<PropertyType*>(data_); }
|
PropertyType* data() { return reinterpret_cast<PropertyType*>(data_); }
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(XWindowProperty);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
#include "modules/desktop_capture/mac/desktop_frame_provider.h"
|
#include "modules/desktop_capture/mac/desktop_frame_provider.h"
|
||||||
#include "modules/desktop_capture/mac/window_list_utils.h"
|
#include "modules/desktop_capture/mac/window_list_utils.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/time_utils.h"
|
#include "rtc_base/time_utils.h"
|
||||||
#include "rtc_base/trace_event.h"
|
#include "rtc_base/trace_event.h"
|
||||||
|
|||||||
@ -25,6 +25,7 @@
|
|||||||
#include "modules/desktop_capture/rgba_color.h"
|
#include "modules/desktop_capture/rgba_color.h"
|
||||||
#include "modules/desktop_capture/screen_drawer.h"
|
#include "modules/desktop_capture/screen_drawer.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/third_party/base64/base64.h"
|
#include "rtc_base/third_party/base64/base64.h"
|
||||||
#include "test/gmock.h"
|
#include "test/gmock.h"
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/system/rtc_export.h"
|
#include "rtc_base/system/rtc_export.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
@ -23,9 +24,6 @@ class RTC_EXPORT Desktop {
|
|||||||
public:
|
public:
|
||||||
~Desktop();
|
~Desktop();
|
||||||
|
|
||||||
Desktop(const Desktop&) = delete;
|
|
||||||
Desktop& operator=(const Desktop&) = delete;
|
|
||||||
|
|
||||||
// Returns the name of the desktop represented by the object. Return false if
|
// Returns the name of the desktop represented by the object. Return false if
|
||||||
// quering the name failed for any reason.
|
// quering the name failed for any reason.
|
||||||
bool GetName(std::wstring* desktop_name_out) const;
|
bool GetName(std::wstring* desktop_name_out) const;
|
||||||
@ -58,6 +56,8 @@ class RTC_EXPORT Desktop {
|
|||||||
|
|
||||||
// True if `desktop_` must be closed on teardown.
|
// True if `desktop_` must be closed on teardown.
|
||||||
bool own_;
|
bool own_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(Desktop);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -13,6 +13,8 @@
|
|||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
namespace win {
|
namespace win {
|
||||||
|
|
||||||
@ -25,9 +27,6 @@ class ScopedGDIObject {
|
|||||||
|
|
||||||
~ScopedGDIObject() { Traits::Close(handle_); }
|
~ScopedGDIObject() { Traits::Close(handle_); }
|
||||||
|
|
||||||
ScopedGDIObject(const ScopedGDIObject&) = delete;
|
|
||||||
ScopedGDIObject& operator=(const ScopedGDIObject&) = delete;
|
|
||||||
|
|
||||||
T Get() { return handle_; }
|
T Get() { return handle_; }
|
||||||
|
|
||||||
void Set(T object) {
|
void Set(T object) {
|
||||||
@ -51,6 +50,8 @@ class ScopedGDIObject {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
T handle_;
|
T handle_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ScopedGDIObject);
|
||||||
};
|
};
|
||||||
|
|
||||||
// The traits class that uses DeleteObject() to close a handle.
|
// The traits class that uses DeleteObject() to close a handle.
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/system/rtc_export.h"
|
#include "rtc_base/system/rtc_export.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
@ -26,9 +27,6 @@ class RTC_EXPORT ScopedThreadDesktop {
|
|||||||
ScopedThreadDesktop();
|
ScopedThreadDesktop();
|
||||||
~ScopedThreadDesktop();
|
~ScopedThreadDesktop();
|
||||||
|
|
||||||
ScopedThreadDesktop(const ScopedThreadDesktop&) = delete;
|
|
||||||
ScopedThreadDesktop& operator=(const ScopedThreadDesktop&) = delete;
|
|
||||||
|
|
||||||
// Returns true if `desktop` has the same desktop name as the currently
|
// Returns true if `desktop` has the same desktop name as the currently
|
||||||
// assigned desktop (if assigned) or as the initial desktop (if not assigned).
|
// assigned desktop (if assigned) or as the initial desktop (if not assigned).
|
||||||
// Returns false in any other case including failing Win32 APIs and
|
// Returns false in any other case including failing Win32 APIs and
|
||||||
@ -48,6 +46,8 @@ class RTC_EXPORT ScopedThreadDesktop {
|
|||||||
|
|
||||||
// The desktop handle assigned to the calling thread at creation.
|
// The desktop handle assigned to the calling thread at creation.
|
||||||
std::unique_ptr<Desktop> initial_;
|
std::unique_ptr<Desktop> initial_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ScopedThreadDesktop);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -23,6 +23,7 @@
|
|||||||
#include "modules/desktop_capture/screen_capture_frame_queue.h"
|
#include "modules/desktop_capture/screen_capture_frame_queue.h"
|
||||||
#include "modules/desktop_capture/win/dxgi_duplicator_controller.h"
|
#include "modules/desktop_capture/win/dxgi_duplicator_controller.h"
|
||||||
#include "modules/desktop_capture/win/dxgi_frame.h"
|
#include "modules/desktop_capture/win/dxgi_frame.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/system/rtc_export.h"
|
#include "rtc_base/system/rtc_export.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
@ -73,9 +74,6 @@ class RTC_EXPORT ScreenCapturerWinDirectx : public DesktopCapturer {
|
|||||||
|
|
||||||
~ScreenCapturerWinDirectx() override;
|
~ScreenCapturerWinDirectx() override;
|
||||||
|
|
||||||
ScreenCapturerWinDirectx(const ScreenCapturerWinDirectx&) = delete;
|
|
||||||
ScreenCapturerWinDirectx& operator=(const ScreenCapturerWinDirectx&) = delete;
|
|
||||||
|
|
||||||
// DesktopCapturer implementation.
|
// DesktopCapturer implementation.
|
||||||
void Start(Callback* callback) override;
|
void Start(Callback* callback) override;
|
||||||
void SetSharedMemoryFactory(
|
void SetSharedMemoryFactory(
|
||||||
@ -90,6 +88,8 @@ class RTC_EXPORT ScreenCapturerWinDirectx : public DesktopCapturer {
|
|||||||
std::unique_ptr<SharedMemoryFactory> shared_memory_factory_;
|
std::unique_ptr<SharedMemoryFactory> shared_memory_factory_;
|
||||||
Callback* callback_ = nullptr;
|
Callback* callback_ = nullptr;
|
||||||
SourceId current_screen_id_ = kFullDesktopScreenId;
|
SourceId current_screen_id_ = kFullDesktopScreenId;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinDirectx);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -20,6 +20,7 @@
|
|||||||
#include "modules/desktop_capture/shared_desktop_frame.h"
|
#include "modules/desktop_capture/shared_desktop_frame.h"
|
||||||
#include "modules/desktop_capture/win/display_configuration_monitor.h"
|
#include "modules/desktop_capture/win/display_configuration_monitor.h"
|
||||||
#include "modules/desktop_capture/win/scoped_thread_desktop.h"
|
#include "modules/desktop_capture/win/scoped_thread_desktop.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -34,9 +35,6 @@ class ScreenCapturerWinGdi : public DesktopCapturer {
|
|||||||
explicit ScreenCapturerWinGdi(const DesktopCaptureOptions& options);
|
explicit ScreenCapturerWinGdi(const DesktopCaptureOptions& options);
|
||||||
~ScreenCapturerWinGdi() override;
|
~ScreenCapturerWinGdi() override;
|
||||||
|
|
||||||
ScreenCapturerWinGdi(const ScreenCapturerWinGdi&) = delete;
|
|
||||||
ScreenCapturerWinGdi& operator=(const ScreenCapturerWinGdi&) = delete;
|
|
||||||
|
|
||||||
// Overridden from ScreenCapturer:
|
// Overridden from ScreenCapturer:
|
||||||
void Start(Callback* callback) override;
|
void Start(Callback* callback) override;
|
||||||
void SetSharedMemoryFactory(
|
void SetSharedMemoryFactory(
|
||||||
@ -76,6 +74,8 @@ class ScreenCapturerWinGdi : public DesktopCapturer {
|
|||||||
|
|
||||||
HMODULE dwmapi_library_ = NULL;
|
HMODULE dwmapi_library_ = NULL;
|
||||||
DwmEnableCompositionFunc composition_func_ = nullptr;
|
DwmEnableCompositionFunc composition_func_ = nullptr;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinGdi);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
#include "modules/desktop_capture/screen_capturer_helper.h"
|
#include "modules/desktop_capture/screen_capturer_helper.h"
|
||||||
#include "modules/desktop_capture/shared_desktop_frame.h"
|
#include "modules/desktop_capture/shared_desktop_frame.h"
|
||||||
#include "modules/desktop_capture/win/scoped_thread_desktop.h"
|
#include "modules/desktop_capture/win/scoped_thread_desktop.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -41,10 +42,6 @@ class ScreenCapturerWinMagnifier : public DesktopCapturer {
|
|||||||
ScreenCapturerWinMagnifier();
|
ScreenCapturerWinMagnifier();
|
||||||
~ScreenCapturerWinMagnifier() override;
|
~ScreenCapturerWinMagnifier() override;
|
||||||
|
|
||||||
ScreenCapturerWinMagnifier(const ScreenCapturerWinMagnifier&) = delete;
|
|
||||||
ScreenCapturerWinMagnifier& operator=(const ScreenCapturerWinMagnifier&) =
|
|
||||||
delete;
|
|
||||||
|
|
||||||
// Overridden from ScreenCapturer:
|
// Overridden from ScreenCapturer:
|
||||||
void Start(Callback* callback) override;
|
void Start(Callback* callback) override;
|
||||||
void SetSharedMemoryFactory(
|
void SetSharedMemoryFactory(
|
||||||
@ -133,6 +130,8 @@ class ScreenCapturerWinMagnifier : public DesktopCapturer {
|
|||||||
// True if the last OnMagImageScalingCallback was called and handled
|
// True if the last OnMagImageScalingCallback was called and handled
|
||||||
// successfully. Reset at the beginning of each CaptureImage call.
|
// successfully. Reset at the beginning of each CaptureImage call.
|
||||||
bool magnifier_capture_succeeded_ = true;
|
bool magnifier_capture_succeeded_ = true;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinMagnifier);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include "modules/desktop_capture/desktop_capturer.h"
|
#include "modules/desktop_capture/desktop_capturer.h"
|
||||||
#include "modules/desktop_capture/desktop_geometry.h"
|
#include "modules/desktop_capture/desktop_geometry.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -103,9 +104,6 @@ class WindowCaptureHelperWin {
|
|||||||
WindowCaptureHelperWin();
|
WindowCaptureHelperWin();
|
||||||
~WindowCaptureHelperWin();
|
~WindowCaptureHelperWin();
|
||||||
|
|
||||||
WindowCaptureHelperWin(const WindowCaptureHelperWin&) = delete;
|
|
||||||
WindowCaptureHelperWin& operator=(const WindowCaptureHelperWin&) = delete;
|
|
||||||
|
|
||||||
bool IsAeroEnabled();
|
bool IsAeroEnabled();
|
||||||
bool IsWindowChromeNotification(HWND hwnd);
|
bool IsWindowChromeNotification(HWND hwnd);
|
||||||
bool AreWindowsOverlapping(HWND hwnd,
|
bool AreWindowsOverlapping(HWND hwnd,
|
||||||
@ -129,6 +127,8 @@ class WindowCaptureHelperWin {
|
|||||||
|
|
||||||
// Only used on Win10+.
|
// Only used on Win10+.
|
||||||
Microsoft::WRL::ComPtr<IVirtualDesktopManager> virtual_desktop_manager_;
|
Microsoft::WRL::ComPtr<IVirtualDesktopManager> virtual_desktop_manager_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(WindowCaptureHelperWin);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -11,6 +11,7 @@
|
|||||||
#include "modules/desktop_capture/desktop_capturer.h"
|
#include "modules/desktop_capture/desktop_capturer.h"
|
||||||
#include "modules/desktop_capture/desktop_frame.h"
|
#include "modules/desktop_capture/desktop_frame.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -21,9 +22,6 @@ class WindowCapturerNull : public DesktopCapturer {
|
|||||||
WindowCapturerNull();
|
WindowCapturerNull();
|
||||||
~WindowCapturerNull() override;
|
~WindowCapturerNull() override;
|
||||||
|
|
||||||
WindowCapturerNull(const WindowCapturerNull&) = delete;
|
|
||||||
WindowCapturerNull& operator=(const WindowCapturerNull&) = delete;
|
|
||||||
|
|
||||||
// DesktopCapturer interface.
|
// DesktopCapturer interface.
|
||||||
void Start(Callback* callback) override;
|
void Start(Callback* callback) override;
|
||||||
void CaptureFrame() override;
|
void CaptureFrame() override;
|
||||||
@ -32,6 +30,8 @@ class WindowCapturerNull : public DesktopCapturer {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Callback* callback_ = nullptr;
|
Callback* callback_ = nullptr;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(WindowCapturerNull);
|
||||||
};
|
};
|
||||||
|
|
||||||
WindowCapturerNull::WindowCapturerNull() {}
|
WindowCapturerNull::WindowCapturerNull() {}
|
||||||
|
|||||||
@ -128,6 +128,7 @@
|
|||||||
#include <stack>
|
#include <stack>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/synchronization/mutex.h"
|
#include "rtc_base/synchronization/mutex.h"
|
||||||
|
|
||||||
#define BWE_TEST_LOGGING_GLOBAL_CONTEXT(name) \
|
#define BWE_TEST_LOGGING_GLOBAL_CONTEXT(name) \
|
||||||
@ -340,10 +341,6 @@ class Logging {
|
|||||||
|
|
||||||
Logging();
|
Logging();
|
||||||
~Logging();
|
~Logging();
|
||||||
|
|
||||||
Logging(const Logging&) = delete;
|
|
||||||
Logging& operator=(const Logging&) = delete;
|
|
||||||
|
|
||||||
void PushState(const std::string& append_to_tag,
|
void PushState(const std::string& append_to_tag,
|
||||||
int64_t timestamp_ms,
|
int64_t timestamp_ms,
|
||||||
bool enabled);
|
bool enabled);
|
||||||
@ -351,6 +348,8 @@ class Logging {
|
|||||||
|
|
||||||
Mutex mutex_;
|
Mutex mutex_;
|
||||||
ThreadMap thread_map_;
|
ThreadMap thread_map_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(Logging);
|
||||||
};
|
};
|
||||||
} // namespace bwe
|
} // namespace bwe
|
||||||
} // namespace testing
|
} // namespace testing
|
||||||
|
|||||||
@ -27,6 +27,7 @@
|
|||||||
#include "api/sequence_checker.h"
|
#include "api/sequence_checker.h"
|
||||||
#include "pc/session_description.h"
|
#include "pc/session_description.h"
|
||||||
#include "rtc_base/buffer.h"
|
#include "rtc_base/buffer.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/ssl_stream_adapter.h"
|
#include "rtc_base/ssl_stream_adapter.h"
|
||||||
|
|
||||||
// Forward declaration to avoid pulling in libsrtp headers here
|
// Forward declaration to avoid pulling in libsrtp headers here
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "rtc_base/buffer.h"
|
#include "rtc_base/buffer.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/ssl_certificate.h"
|
#include "rtc_base/ssl_certificate.h"
|
||||||
#include "rtc_base/ssl_identity.h"
|
#include "rtc_base/ssl_identity.h"
|
||||||
|
|
||||||
@ -41,9 +42,6 @@ class OpenSSLCertificate final : public SSLCertificate {
|
|||||||
|
|
||||||
~OpenSSLCertificate() override;
|
~OpenSSLCertificate() override;
|
||||||
|
|
||||||
OpenSSLCertificate(const OpenSSLCertificate&) = delete;
|
|
||||||
OpenSSLCertificate& operator=(const OpenSSLCertificate&) = delete;
|
|
||||||
|
|
||||||
std::unique_ptr<SSLCertificate> Clone() const override;
|
std::unique_ptr<SSLCertificate> Clone() const override;
|
||||||
|
|
||||||
X509* x509() const { return x509_; }
|
X509* x509() const { return x509_; }
|
||||||
@ -72,6 +70,7 @@ class OpenSSLCertificate final : public SSLCertificate {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
X509* x509_; // NOT OWNED
|
X509* x509_; // NOT OWNED
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(OpenSSLCertificate);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace rtc
|
} // namespace rtc
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/openssl_certificate.h"
|
#include "rtc_base/openssl_certificate.h"
|
||||||
#include "rtc_base/openssl_key_pair.h"
|
#include "rtc_base/openssl_key_pair.h"
|
||||||
#include "rtc_base/ssl_certificate.h"
|
#include "rtc_base/ssl_certificate.h"
|
||||||
@ -42,9 +43,6 @@ class OpenSSLIdentity final : public SSLIdentity {
|
|||||||
const std::string& certificate_chain);
|
const std::string& certificate_chain);
|
||||||
~OpenSSLIdentity() override;
|
~OpenSSLIdentity() override;
|
||||||
|
|
||||||
OpenSSLIdentity(const OpenSSLIdentity&) = delete;
|
|
||||||
OpenSSLIdentity& operator=(const OpenSSLIdentity&) = delete;
|
|
||||||
|
|
||||||
const OpenSSLCertificate& certificate() const override;
|
const OpenSSLCertificate& certificate() const override;
|
||||||
const SSLCertChain& cert_chain() const override;
|
const SSLCertChain& cert_chain() const override;
|
||||||
|
|
||||||
@ -68,6 +66,8 @@ class OpenSSLIdentity final : public SSLIdentity {
|
|||||||
|
|
||||||
std::unique_ptr<OpenSSLKeyPair> key_pair_;
|
std::unique_ptr<OpenSSLKeyPair> key_pair_;
|
||||||
std::unique_ptr<SSLCertChain> cert_chain_;
|
std::unique_ptr<SSLCertChain> cert_chain_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(OpenSSLIdentity);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace rtc
|
} // namespace rtc
|
||||||
|
|||||||
@ -35,6 +35,7 @@
|
|||||||
// EXPECT_EQ("hello", capture);
|
// EXPECT_EQ("hello", capture);
|
||||||
// /* See unit-tests for more examples */
|
// /* See unit-tests for more examples */
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/third_party/sigslot/sigslot.h"
|
#include "rtc_base/third_party/sigslot/sigslot.h"
|
||||||
|
|
||||||
namespace rtc {
|
namespace rtc {
|
||||||
@ -46,14 +47,13 @@ class SigslotTester0 : public sigslot::has_slots<> {
|
|||||||
signal->connect(this, &SigslotTester0::OnSignalCallback);
|
signal->connect(this, &SigslotTester0::OnSignalCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
SigslotTester0(const SigslotTester0&) = delete;
|
|
||||||
SigslotTester0& operator=(const SigslotTester0&) = delete;
|
|
||||||
|
|
||||||
int callback_count() const { return callback_count_; }
|
int callback_count() const { return callback_count_; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void OnSignalCallback() { callback_count_++; }
|
void OnSignalCallback() { callback_count_++; }
|
||||||
int callback_count_;
|
int callback_count_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SigslotTester0);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Versions below are for testing signals that pass arguments. For all the
|
// Versions below are for testing signals that pass arguments. For all the
|
||||||
@ -78,9 +78,6 @@ class SigslotTester$i : public sigslot::has_slots<> {
|
|||||||
signal->connect(this, &SigslotTester$i::OnSignalCallback);
|
signal->connect(this, &SigslotTester$i::OnSignalCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
SigslotTester$i(const SigslotTester$i&) = delete;
|
|
||||||
SigslotTester$i& operator=(const SigslotTester$i&) = delete;
|
|
||||||
|
|
||||||
int callback_count() const { return callback_count_; }
|
int callback_count() const { return callback_count_; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -94,6 +91,9 @@ class SigslotTester$i : public sigslot::has_slots<> {
|
|||||||
int callback_count_;$for j [[
|
int callback_count_;$for j [[
|
||||||
|
|
||||||
C$j* capture$j[[]]_;]]
|
C$j* capture$j[[]]_;]]
|
||||||
|
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SigslotTester$i);
|
||||||
};
|
};
|
||||||
|
|
||||||
]]
|
]]
|
||||||
|
|||||||
@ -34,6 +34,7 @@
|
|||||||
#include "api/task_queue/task_queue_base.h"
|
#include "api/task_queue/task_queue_base.h"
|
||||||
#include "rtc_base/arraysize.h"
|
#include "rtc_base/arraysize.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/event.h"
|
#include "rtc_base/event.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/numerics/safe_conversions.h"
|
#include "rtc_base/numerics/safe_conversions.h"
|
||||||
@ -121,9 +122,6 @@ class MultimediaTimer {
|
|||||||
::CloseHandle(event_);
|
::CloseHandle(event_);
|
||||||
}
|
}
|
||||||
|
|
||||||
MultimediaTimer(const MultimediaTimer&) = delete;
|
|
||||||
MultimediaTimer& operator=(const MultimediaTimer&) = delete;
|
|
||||||
|
|
||||||
bool StartOneShotTimer(UINT delay_ms) {
|
bool StartOneShotTimer(UINT delay_ms) {
|
||||||
RTC_DCHECK_EQ(0, timer_id_);
|
RTC_DCHECK_EQ(0, timer_id_);
|
||||||
RTC_DCHECK(event_ != nullptr);
|
RTC_DCHECK(event_ != nullptr);
|
||||||
@ -150,6 +148,8 @@ class MultimediaTimer {
|
|||||||
private:
|
private:
|
||||||
HANDLE event_ = nullptr;
|
HANDLE event_ = nullptr;
|
||||||
MMRESULT timer_id_ = 0;
|
MMRESULT timer_id_ = 0;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(MultimediaTimer);
|
||||||
};
|
};
|
||||||
|
|
||||||
class TaskQueueWin : public TaskQueueBase {
|
class TaskQueueWin : public TaskQueueBase {
|
||||||
|
|||||||
@ -15,6 +15,8 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
typedef void* HANDLE;
|
typedef void* HANDLE;
|
||||||
|
|
||||||
namespace rtc {
|
namespace rtc {
|
||||||
@ -103,9 +105,6 @@ class OSInfo {
|
|||||||
WOW64_UNKNOWN,
|
WOW64_UNKNOWN,
|
||||||
};
|
};
|
||||||
|
|
||||||
OSInfo(const OSInfo&) = delete;
|
|
||||||
OSInfo& operator=(const OSInfo&) = delete;
|
|
||||||
|
|
||||||
static OSInfo* GetInstance();
|
static OSInfo* GetInstance();
|
||||||
|
|
||||||
Version version() const { return version_; }
|
Version version() const { return version_; }
|
||||||
@ -141,6 +140,8 @@ class OSInfo {
|
|||||||
size_t allocation_granularity_;
|
size_t allocation_granularity_;
|
||||||
WOW64Status wow64_status_;
|
WOW64Status wow64_status_;
|
||||||
std::string processor_model_name_;
|
std::string processor_model_name_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(OSInfo);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Because this is by far the most commonly-requested value from the above
|
// Because this is by far the most commonly-requested value from the above
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "absl/types/optional.h"
|
#include "absl/types/optional.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/ignore_wundef.h"
|
#include "rtc_base/ignore_wundef.h"
|
||||||
|
|
||||||
#ifdef WEBRTC_NETWORK_TESTER_PROTO
|
#ifdef WEBRTC_NETWORK_TESTER_PROTO
|
||||||
@ -38,14 +39,12 @@ class ConfigReader {
|
|||||||
explicit ConfigReader(const std::string& config_file_path);
|
explicit ConfigReader(const std::string& config_file_path);
|
||||||
~ConfigReader();
|
~ConfigReader();
|
||||||
|
|
||||||
ConfigReader(const ConfigReader&) = delete;
|
|
||||||
ConfigReader& operator=(const ConfigReader&) = delete;
|
|
||||||
|
|
||||||
absl::optional<Config> GetNextConfig();
|
absl::optional<Config> GetNextConfig();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
NetworkTesterAllConfigs proto_all_configs_;
|
NetworkTesterAllConfigs proto_all_configs_;
|
||||||
int proto_config_index_;
|
int proto_config_index_;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ConfigReader);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/ignore_wundef.h"
|
#include "rtc_base/ignore_wundef.h"
|
||||||
|
|
||||||
#ifdef WEBRTC_NETWORK_TESTER_PROTO
|
#ifdef WEBRTC_NETWORK_TESTER_PROTO
|
||||||
@ -32,13 +33,12 @@ class PacketLogger {
|
|||||||
explicit PacketLogger(const std::string& log_file_path);
|
explicit PacketLogger(const std::string& log_file_path);
|
||||||
~PacketLogger();
|
~PacketLogger();
|
||||||
|
|
||||||
PacketLogger(const PacketLogger&) = delete;
|
|
||||||
PacketLogger& operator=(const PacketLogger&) = delete;
|
|
||||||
|
|
||||||
void LogPacket(const NetworkTesterPacket& packet);
|
void LogPacket(const NetworkTesterPacket& packet);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::ofstream packet_logger_stream_;
|
std::ofstream packet_logger_stream_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(PacketLogger);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include "api/sequence_checker.h"
|
#include "api/sequence_checker.h"
|
||||||
#include "api/task_queue/task_queue_factory.h"
|
#include "api/task_queue/task_queue_factory.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/ignore_wundef.h"
|
#include "rtc_base/ignore_wundef.h"
|
||||||
#include "rtc_base/system/no_unique_address.h"
|
#include "rtc_base/system/no_unique_address.h"
|
||||||
#include "rtc_base/task_queue.h"
|
#include "rtc_base/task_queue.h"
|
||||||
@ -39,9 +40,6 @@ class PacketSender {
|
|||||||
const std::string& config_file_path);
|
const std::string& config_file_path);
|
||||||
~PacketSender();
|
~PacketSender();
|
||||||
|
|
||||||
PacketSender(const PacketSender&) = delete;
|
|
||||||
PacketSender& operator=(const PacketSender&) = delete;
|
|
||||||
|
|
||||||
void StartSending();
|
void StartSending();
|
||||||
void StopSending();
|
void StopSending();
|
||||||
bool IsSending() const;
|
bool IsSending() const;
|
||||||
@ -61,6 +59,8 @@ class PacketSender {
|
|||||||
TestController* const test_controller_;
|
TestController* const test_controller_;
|
||||||
std::unique_ptr<TaskQueueFactory> task_queue_factory_;
|
std::unique_ptr<TaskQueueFactory> task_queue_factory_;
|
||||||
rtc::TaskQueue worker_queue_;
|
rtc::TaskQueue worker_queue_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(PacketSender);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
#include "api/sequence_checker.h"
|
#include "api/sequence_checker.h"
|
||||||
#include "p2p/base/basic_packet_socket_factory.h"
|
#include "p2p/base/basic_packet_socket_factory.h"
|
||||||
#include "rtc_base/async_packet_socket.h"
|
#include "rtc_base/async_packet_socket.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/ignore_wundef.h"
|
#include "rtc_base/ignore_wundef.h"
|
||||||
#include "rtc_base/socket_address.h"
|
#include "rtc_base/socket_address.h"
|
||||||
#include "rtc_base/synchronization/mutex.h"
|
#include "rtc_base/synchronization/mutex.h"
|
||||||
@ -50,9 +51,6 @@ class TestController : public sigslot::has_slots<> {
|
|||||||
const std::string& config_file_path,
|
const std::string& config_file_path,
|
||||||
const std::string& log_file_path);
|
const std::string& log_file_path);
|
||||||
|
|
||||||
TestController(const TestController&) = delete;
|
|
||||||
TestController& operator=(const TestController&) = delete;
|
|
||||||
|
|
||||||
void Run();
|
void Run();
|
||||||
|
|
||||||
void SendConnectTo(const std::string& hostname, int port);
|
void SendConnectTo(const std::string& hostname, int port);
|
||||||
@ -82,6 +80,8 @@ class TestController : public sigslot::has_slots<> {
|
|||||||
std::unique_ptr<rtc::AsyncPacketSocket> udp_socket_;
|
std::unique_ptr<rtc::AsyncPacketSocket> udp_socket_;
|
||||||
rtc::SocketAddress remote_address_;
|
rtc::SocketAddress remote_address_;
|
||||||
std::unique_ptr<PacketSender> packet_sender_;
|
std::unique_ptr<PacketSender> packet_sender_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(TestController);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include "absl/strings/string_view.h"
|
#include "absl/strings/string_view.h"
|
||||||
#include "logging/rtc_event_log/rtc_event_log_parser.h"
|
#include "logging/rtc_event_log/rtc_event_log_parser.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_tools/rtc_event_log_visualizer/analyzer_common.h"
|
#include "rtc_tools/rtc_event_log_visualizer/analyzer_common.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
@ -48,9 +49,6 @@ class TriageHelper {
|
|||||||
public:
|
public:
|
||||||
explicit TriageHelper(const AnalyzerConfig& config) : config_(config) {}
|
explicit TriageHelper(const AnalyzerConfig& config) : config_(config) {}
|
||||||
|
|
||||||
TriageHelper(const TriageHelper&) = delete;
|
|
||||||
TriageHelper& operator=(const TriageHelper&) = delete;
|
|
||||||
|
|
||||||
void AnalyzeLog(const ParsedRtcEventLog& parsed_log);
|
void AnalyzeLog(const ParsedRtcEventLog& parsed_log);
|
||||||
|
|
||||||
void AnalyzeStreamGaps(const ParsedRtcEventLog& parsed_log,
|
void AnalyzeStreamGaps(const ParsedRtcEventLog& parsed_log,
|
||||||
@ -82,6 +80,7 @@ class TriageHelper {
|
|||||||
it->second.count += 1;
|
it->second.count += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(TriageHelper);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
#include <random>
|
#include <random>
|
||||||
|
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/null_socket_server.h"
|
#include "rtc_base/null_socket_server.h"
|
||||||
#include "rtc_base/thread.h"
|
#include "rtc_base/thread.h"
|
||||||
#include "test/gtest.h"
|
#include "test/gtest.h"
|
||||||
@ -87,9 +88,6 @@ class IncrementThread : public Thread {
|
|||||||
explicit IncrementThread(int* value)
|
explicit IncrementThread(int* value)
|
||||||
: Thread(std::make_unique<NullSocketServer>()), value_(value) {}
|
: Thread(std::make_unique<NullSocketServer>()), value_(value) {}
|
||||||
|
|
||||||
IncrementThread(const IncrementThread&) = delete;
|
|
||||||
IncrementThread& operator=(const IncrementThread&) = delete;
|
|
||||||
|
|
||||||
void Run() override {
|
void Run() override {
|
||||||
++*value_;
|
++*value_;
|
||||||
Thread::Current()->SleepMs(100);
|
Thread::Current()->SleepMs(100);
|
||||||
@ -100,6 +98,8 @@ class IncrementThread : public Thread {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
int* value_;
|
int* value_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(IncrementThread);
|
||||||
};
|
};
|
||||||
|
|
||||||
void DataRace() {
|
void DataRace() {
|
||||||
|
|||||||
@ -57,9 +57,6 @@ class Iterable {
|
|||||||
|
|
||||||
~Iterable();
|
~Iterable();
|
||||||
|
|
||||||
Iterable(const Iterable&) = delete;
|
|
||||||
Iterable& operator=(const Iterable&) = delete;
|
|
||||||
|
|
||||||
class Iterator {
|
class Iterator {
|
||||||
public:
|
public:
|
||||||
// Creates an iterator representing the end of any collection.
|
// Creates an iterator representing the end of any collection.
|
||||||
@ -74,9 +71,6 @@ class Iterable {
|
|||||||
|
|
||||||
~Iterator();
|
~Iterator();
|
||||||
|
|
||||||
Iterator(const Iterator&) = delete;
|
|
||||||
Iterator& operator=(const Iterator&) = delete;
|
|
||||||
|
|
||||||
// Move assignment should not be used.
|
// Move assignment should not be used.
|
||||||
Iterator& operator=(Iterator&&) = delete;
|
Iterator& operator=(Iterator&&) = delete;
|
||||||
|
|
||||||
@ -102,6 +96,8 @@ class Iterable {
|
|||||||
ScopedJavaLocalRef<jobject> iterator_;
|
ScopedJavaLocalRef<jobject> iterator_;
|
||||||
ScopedJavaLocalRef<jobject> value_;
|
ScopedJavaLocalRef<jobject> value_;
|
||||||
SequenceChecker thread_checker_;
|
SequenceChecker thread_checker_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(Iterator);
|
||||||
};
|
};
|
||||||
|
|
||||||
Iterable::Iterator begin() { return Iterable::Iterator(jni_, iterable_); }
|
Iterable::Iterator begin() { return Iterable::Iterator(jni_, iterable_); }
|
||||||
@ -110,6 +106,8 @@ class Iterable {
|
|||||||
private:
|
private:
|
||||||
JNIEnv* jni_;
|
JNIEnv* jni_;
|
||||||
ScopedJavaLocalRef<jobject> iterable_;
|
ScopedJavaLocalRef<jobject> iterable_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(Iterable);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Returns true if `obj` == null in Java.
|
// Returns true if `obj` == null in Java.
|
||||||
|
|||||||
@ -15,9 +15,9 @@
|
|||||||
#define SDK_ANDROID_NATIVE_API_JNI_SCOPED_JAVA_REF_H_
|
#define SDK_ANDROID_NATIVE_API_JNI_SCOPED_JAVA_REF_H_
|
||||||
|
|
||||||
#include <jni.h>
|
#include <jni.h>
|
||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "sdk/android/native_api/jni/jvm.h"
|
#include "sdk/android/native_api/jni/jvm.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
@ -34,9 +34,6 @@ class JavaRef;
|
|||||||
template <>
|
template <>
|
||||||
class JavaRef<jobject> {
|
class JavaRef<jobject> {
|
||||||
public:
|
public:
|
||||||
JavaRef(const JavaRef&) = delete;
|
|
||||||
JavaRef& operator=(const JavaRef&) = delete;
|
|
||||||
|
|
||||||
jobject obj() const { return obj_; }
|
jobject obj() const { return obj_; }
|
||||||
bool is_null() const {
|
bool is_null() const {
|
||||||
// This is not valid for weak references. For weak references you need to
|
// This is not valid for weak references. For weak references you need to
|
||||||
@ -52,19 +49,22 @@ class JavaRef<jobject> {
|
|||||||
constexpr JavaRef() : obj_(nullptr) {}
|
constexpr JavaRef() : obj_(nullptr) {}
|
||||||
explicit JavaRef(jobject obj) : obj_(obj) {}
|
explicit JavaRef(jobject obj) : obj_(obj) {}
|
||||||
jobject obj_;
|
jobject obj_;
|
||||||
|
|
||||||
|
private:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(JavaRef);
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
class JavaRef : public JavaRef<jobject> {
|
class JavaRef : public JavaRef<jobject> {
|
||||||
public:
|
public:
|
||||||
JavaRef(const JavaRef&) = delete;
|
|
||||||
JavaRef& operator=(const JavaRef&) = delete;
|
|
||||||
|
|
||||||
T obj() const { return static_cast<T>(obj_); }
|
T obj() const { return static_cast<T>(obj_); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
JavaRef() : JavaRef<jobject>(nullptr) {}
|
JavaRef() : JavaRef<jobject>(nullptr) {}
|
||||||
explicit JavaRef(T obj) : JavaRef<jobject>(obj) {}
|
explicit JavaRef(T obj) : JavaRef<jobject>(obj) {}
|
||||||
|
|
||||||
|
private:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(JavaRef);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Holds a local reference to a JNI method parameter.
|
// Holds a local reference to a JNI method parameter.
|
||||||
@ -79,8 +79,8 @@ class JavaParamRef : public JavaRef<T> {
|
|||||||
explicit JavaParamRef(T obj) : JavaRef<T>(obj) {}
|
explicit JavaParamRef(T obj) : JavaRef<T>(obj) {}
|
||||||
JavaParamRef(JNIEnv*, T obj) : JavaRef<T>(obj) {}
|
JavaParamRef(JNIEnv*, T obj) : JavaRef<T>(obj) {}
|
||||||
|
|
||||||
JavaParamRef(const JavaParamRef&) = delete;
|
private:
|
||||||
JavaParamRef& operator=(const JavaParamRef&) = delete;
|
RTC_DISALLOW_COPY_AND_ASSIGN(JavaParamRef);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Holds a local reference to a Java object. The local reference is scoped
|
// Holds a local reference to a Java object. The local reference is scoped
|
||||||
@ -186,9 +186,6 @@ class ScopedJavaGlobalRef : public JavaRef<T> {
|
|||||||
AttachCurrentThreadIfNeeded()->DeleteGlobalRef(obj_);
|
AttachCurrentThreadIfNeeded()->DeleteGlobalRef(obj_);
|
||||||
}
|
}
|
||||||
|
|
||||||
ScopedJavaGlobalRef(const ScopedJavaGlobalRef&) = delete;
|
|
||||||
ScopedJavaGlobalRef& operator=(const ScopedJavaGlobalRef&) = delete;
|
|
||||||
|
|
||||||
void operator=(const JavaRef<T>& other) {
|
void operator=(const JavaRef<T>& other) {
|
||||||
JNIEnv* env = AttachCurrentThreadIfNeeded();
|
JNIEnv* env = AttachCurrentThreadIfNeeded();
|
||||||
if (obj_ != nullptr) {
|
if (obj_ != nullptr) {
|
||||||
@ -212,6 +209,9 @@ class ScopedJavaGlobalRef : public JavaRef<T> {
|
|||||||
obj_ = nullptr;
|
obj_ = nullptr;
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ScopedJavaGlobalRef);
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
|||||||
@ -31,13 +31,10 @@ class Demuxer {
|
|||||||
public:
|
public:
|
||||||
explicit Demuxer(const std::map<uint8_t, MediaType>& payload_type_map);
|
explicit Demuxer(const std::map<uint8_t, MediaType>& payload_type_map);
|
||||||
~Demuxer() = default;
|
~Demuxer() = default;
|
||||||
|
|
||||||
Demuxer(const Demuxer&) = delete;
|
|
||||||
Demuxer& operator=(const Demuxer&) = delete;
|
|
||||||
|
|
||||||
MediaType GetMediaType(const uint8_t* packet_data,
|
MediaType GetMediaType(const uint8_t* packet_data,
|
||||||
size_t packet_length) const;
|
size_t packet_length) const;
|
||||||
const std::map<uint8_t, MediaType> payload_type_map_;
|
const std::map<uint8_t, MediaType> payload_type_map_;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(Demuxer);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Objects of this class are expected to be allocated and destroyed on the
|
// Objects of this class are expected to be allocated and destroyed on the
|
||||||
|
|||||||
@ -11,6 +11,7 @@
|
|||||||
#ifndef TEST_MAC_VIDEO_RENDERER_MAC_H_
|
#ifndef TEST_MAC_VIDEO_RENDERER_MAC_H_
|
||||||
#define TEST_MAC_VIDEO_RENDERER_MAC_H_
|
#define TEST_MAC_VIDEO_RENDERER_MAC_H_
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "test/gl/gl_renderer.h"
|
#include "test/gl/gl_renderer.h"
|
||||||
|
|
||||||
@class CocoaWindow;
|
@class CocoaWindow;
|
||||||
@ -23,9 +24,6 @@ class MacRenderer : public GlRenderer {
|
|||||||
MacRenderer();
|
MacRenderer();
|
||||||
virtual ~MacRenderer();
|
virtual ~MacRenderer();
|
||||||
|
|
||||||
MacRenderer(const MacRenderer&) = delete;
|
|
||||||
MacRenderer& operator=(const MacRenderer&) = delete;
|
|
||||||
|
|
||||||
bool Init(const char* window_title, int width, int height);
|
bool Init(const char* window_title, int width, int height);
|
||||||
|
|
||||||
// Implements GlRenderer.
|
// Implements GlRenderer.
|
||||||
@ -33,6 +31,8 @@ class MacRenderer : public GlRenderer {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
CocoaWindow* window_;
|
CocoaWindow* window_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(MacRenderer);
|
||||||
};
|
};
|
||||||
} // namespace test
|
} // namespace test
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -26,6 +26,7 @@
|
|||||||
#include "api/test/network_emulation_manager.h"
|
#include "api/test/network_emulation_manager.h"
|
||||||
#include "api/test/simulated_network.h"
|
#include "api/test/simulated_network.h"
|
||||||
#include "api/units/timestamp.h"
|
#include "api/units/timestamp.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/copy_on_write_buffer.h"
|
#include "rtc_base/copy_on_write_buffer.h"
|
||||||
#include "rtc_base/network.h"
|
#include "rtc_base/network.h"
|
||||||
#include "rtc_base/network_constants.h"
|
#include "rtc_base/network_constants.h"
|
||||||
@ -466,9 +467,7 @@ class EmulatedNetworkNode : public EmulatedNetworkReceiverInterface {
|
|||||||
rtc::TaskQueue* task_queue,
|
rtc::TaskQueue* task_queue,
|
||||||
std::unique_ptr<NetworkBehaviorInterface> network_behavior);
|
std::unique_ptr<NetworkBehaviorInterface> network_behavior);
|
||||||
~EmulatedNetworkNode() override;
|
~EmulatedNetworkNode() override;
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(EmulatedNetworkNode);
|
||||||
EmulatedNetworkNode(const EmulatedNetworkNode&) = delete;
|
|
||||||
EmulatedNetworkNode& operator=(const EmulatedNetworkNode&) = delete;
|
|
||||||
|
|
||||||
void OnPacketReceived(EmulatedIpPacket packet) override;
|
void OnPacketReceived(EmulatedIpPacket packet) override;
|
||||||
|
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include "modules/rtp_rtcp/source/rtp_util.h"
|
#include "modules/rtp_rtcp/source/rtp_util.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/format_macros.h"
|
#include "rtc_base/format_macros.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/system/arch.h"
|
#include "rtc_base/system/arch.h"
|
||||||
@ -117,9 +118,6 @@ class RtpDumpReader : public RtpFileReaderImpl {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RtpDumpReader(const RtpDumpReader&) = delete;
|
|
||||||
RtpDumpReader& operator=(const RtpDumpReader&) = delete;
|
|
||||||
|
|
||||||
bool Init(FILE* file, const std::set<uint32_t>& ssrc_filter) override {
|
bool Init(FILE* file, const std::set<uint32_t>& ssrc_filter) override {
|
||||||
file_ = file;
|
file_ = file;
|
||||||
|
|
||||||
@ -189,6 +187,8 @@ class RtpDumpReader : public RtpFileReaderImpl {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
FILE* file_;
|
FILE* file_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(RtpDumpReader);
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -253,9 +253,6 @@ class PcapReader : public RtpFileReaderImpl {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PcapReader(const PcapReader&) = delete;
|
|
||||||
PcapReader& operator=(const PcapReader&) = delete;
|
|
||||||
|
|
||||||
bool Init(FILE* file, const std::set<uint32_t>& ssrc_filter) override {
|
bool Init(FILE* file, const std::set<uint32_t>& ssrc_filter) override {
|
||||||
return Initialize(file, ssrc_filter) == kResultSuccess;
|
return Initialize(file, ssrc_filter) == kResultSuccess;
|
||||||
}
|
}
|
||||||
@ -622,6 +619,8 @@ class PcapReader : public RtpFileReaderImpl {
|
|||||||
SsrcMap packets_by_ssrc_;
|
SsrcMap packets_by_ssrc_;
|
||||||
std::vector<RtpPacketMarker> packets_;
|
std::vector<RtpPacketMarker> packets_;
|
||||||
PacketIterator next_packet_it_;
|
PacketIterator next_packet_it_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(PcapReader);
|
||||||
};
|
};
|
||||||
|
|
||||||
RtpFileReaderImpl* CreateReaderForFormat(RtpFileReader::FileFormat format) {
|
RtpFileReaderImpl* CreateReaderForFormat(RtpFileReader::FileFormat format) {
|
||||||
|
|||||||
@ -16,6 +16,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
namespace test {
|
namespace test {
|
||||||
@ -38,9 +39,6 @@ class RtpDumpWriter : public RtpFileWriter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RtpDumpWriter(const RtpDumpWriter&) = delete;
|
|
||||||
RtpDumpWriter& operator=(const RtpDumpWriter&) = delete;
|
|
||||||
|
|
||||||
bool WritePacket(const RtpPacket* packet) override {
|
bool WritePacket(const RtpPacket* packet) override {
|
||||||
uint16_t len = static_cast<uint16_t>(packet->length + kPacketHeaderSize);
|
uint16_t len = static_cast<uint16_t>(packet->length + kPacketHeaderSize);
|
||||||
uint16_t plen = static_cast<uint16_t>(packet->original_length);
|
uint16_t plen = static_cast<uint16_t>(packet->original_length);
|
||||||
@ -88,6 +86,8 @@ class RtpDumpWriter : public RtpFileWriter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FILE* file_;
|
FILE* file_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(RtpDumpWriter);
|
||||||
};
|
};
|
||||||
|
|
||||||
RtpFileWriter* RtpFileWriter::Create(FileFormat format,
|
RtpFileWriter* RtpFileWriter::Create(FileFormat format,
|
||||||
|
|||||||
@ -13,6 +13,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "test/scenario/call_client.h"
|
#include "test/scenario/call_client.h"
|
||||||
#include "test/scenario/column_printer.h"
|
#include "test/scenario/column_printer.h"
|
||||||
#include "test/scenario/network_node.h"
|
#include "test/scenario/network_node.h"
|
||||||
@ -25,11 +26,8 @@ namespace test {
|
|||||||
// stream if neccessary.
|
// stream if neccessary.
|
||||||
class SendAudioStream {
|
class SendAudioStream {
|
||||||
public:
|
public:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SendAudioStream);
|
||||||
~SendAudioStream();
|
~SendAudioStream();
|
||||||
|
|
||||||
SendAudioStream(const SendAudioStream&) = delete;
|
|
||||||
SendAudioStream& operator=(const SendAudioStream&) = delete;
|
|
||||||
|
|
||||||
void Start();
|
void Start();
|
||||||
void Stop();
|
void Stop();
|
||||||
void SetMuted(bool mute);
|
void SetMuted(bool mute);
|
||||||
@ -52,11 +50,8 @@ class SendAudioStream {
|
|||||||
// ReceiveAudioStream represents an audio receiver. It can't be used directly.
|
// ReceiveAudioStream represents an audio receiver. It can't be used directly.
|
||||||
class ReceiveAudioStream {
|
class ReceiveAudioStream {
|
||||||
public:
|
public:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ReceiveAudioStream);
|
||||||
~ReceiveAudioStream();
|
~ReceiveAudioStream();
|
||||||
|
|
||||||
ReceiveAudioStream(const ReceiveAudioStream&) = delete;
|
|
||||||
ReceiveAudioStream& operator=(const ReceiveAudioStream&) = delete;
|
|
||||||
|
|
||||||
void Start();
|
void Start();
|
||||||
void Stop();
|
void Stop();
|
||||||
AudioReceiveStream::Stats GetStats() const;
|
AudioReceiveStream::Stats GetStats() const;
|
||||||
@ -79,11 +74,8 @@ class ReceiveAudioStream {
|
|||||||
// the Scenario class.
|
// the Scenario class.
|
||||||
class AudioStreamPair {
|
class AudioStreamPair {
|
||||||
public:
|
public:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(AudioStreamPair);
|
||||||
~AudioStreamPair();
|
~AudioStreamPair();
|
||||||
|
|
||||||
AudioStreamPair(const AudioStreamPair&) = delete;
|
|
||||||
AudioStreamPair& operator=(const AudioStreamPair&) = delete;
|
|
||||||
|
|
||||||
SendAudioStream* send() { return &send_stream_; }
|
SendAudioStream* send() { return &send_stream_; }
|
||||||
ReceiveAudioStream* receive() { return &receive_stream_; }
|
ReceiveAudioStream* receive() { return &receive_stream_; }
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
#include "call/call.h"
|
#include "call/call.h"
|
||||||
#include "modules/audio_device/include/test_audio_device.h"
|
#include "modules/audio_device/include/test_audio_device.h"
|
||||||
#include "modules/congestion_controller/goog_cc/test/goog_cc_printer.h"
|
#include "modules/congestion_controller/goog_cc/test/goog_cc_printer.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/task_queue_for_test.h"
|
#include "rtc_base/task_queue_for_test.h"
|
||||||
#include "test/logging/log_writer.h"
|
#include "test/logging/log_writer.h"
|
||||||
#include "test/network/network_emulation.h"
|
#include "test/network/network_emulation.h"
|
||||||
@ -67,14 +68,8 @@ class LoggingNetworkControllerFactory
|
|||||||
public:
|
public:
|
||||||
LoggingNetworkControllerFactory(LogWriterFactoryInterface* log_writer_factory,
|
LoggingNetworkControllerFactory(LogWriterFactoryInterface* log_writer_factory,
|
||||||
TransportControllerConfig config);
|
TransportControllerConfig config);
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(LoggingNetworkControllerFactory);
|
||||||
~LoggingNetworkControllerFactory();
|
~LoggingNetworkControllerFactory();
|
||||||
|
|
||||||
LoggingNetworkControllerFactory(const LoggingNetworkControllerFactory&) =
|
|
||||||
delete;
|
|
||||||
LoggingNetworkControllerFactory& operator=(
|
|
||||||
const LoggingNetworkControllerFactory&) = delete;
|
|
||||||
|
|
||||||
std::unique_ptr<NetworkControllerInterface> Create(
|
std::unique_ptr<NetworkControllerInterface> Create(
|
||||||
NetworkControllerConfig config) override;
|
NetworkControllerConfig config) override;
|
||||||
TimeDelta GetProcessInterval() const override;
|
TimeDelta GetProcessInterval() const override;
|
||||||
@ -104,12 +99,9 @@ class CallClient : public EmulatedNetworkReceiverInterface {
|
|||||||
CallClient(TimeController* time_controller,
|
CallClient(TimeController* time_controller,
|
||||||
std::unique_ptr<LogWriterFactoryInterface> log_writer_factory,
|
std::unique_ptr<LogWriterFactoryInterface> log_writer_factory,
|
||||||
CallClientConfig config);
|
CallClientConfig config);
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(CallClient);
|
||||||
|
|
||||||
~CallClient();
|
~CallClient();
|
||||||
|
|
||||||
CallClient(const CallClient&) = delete;
|
|
||||||
CallClient& operator=(const CallClient&) = delete;
|
|
||||||
|
|
||||||
ColumnPrinter StatsPrinter();
|
ColumnPrinter StatsPrinter();
|
||||||
Call::Stats GetStats();
|
Call::Stats GetStats();
|
||||||
DataRate send_bandwidth() {
|
DataRate send_bandwidth() {
|
||||||
@ -173,11 +165,8 @@ class CallClient : public EmulatedNetworkReceiverInterface {
|
|||||||
|
|
||||||
class CallClientPair {
|
class CallClientPair {
|
||||||
public:
|
public:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(CallClientPair);
|
||||||
~CallClientPair();
|
~CallClientPair();
|
||||||
|
|
||||||
CallClientPair(const CallClientPair&) = delete;
|
|
||||||
CallClientPair& operator=(const CallClientPair&) = delete;
|
|
||||||
|
|
||||||
CallClient* first() { return first_; }
|
CallClient* first() { return first_; }
|
||||||
CallClient* second() { return second_; }
|
CallClient* second() { return second_; }
|
||||||
std::pair<CallClient*, CallClient*> forward() { return {first(), second()}; }
|
std::pair<CallClient*, CallClient*> forward() { return {first(), second()}; }
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/strings/string_builder.h"
|
#include "rtc_base/strings/string_builder.h"
|
||||||
#include "test/logging/log_writer.h"
|
#include "test/logging/log_writer.h"
|
||||||
|
|
||||||
@ -45,12 +46,8 @@ class StatesPrinter {
|
|||||||
public:
|
public:
|
||||||
StatesPrinter(std::unique_ptr<RtcEventLogOutput> writer,
|
StatesPrinter(std::unique_ptr<RtcEventLogOutput> writer,
|
||||||
std::vector<ColumnPrinter> printers);
|
std::vector<ColumnPrinter> printers);
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(StatesPrinter);
|
||||||
~StatesPrinter();
|
~StatesPrinter();
|
||||||
|
|
||||||
StatesPrinter(const StatesPrinter&) = delete;
|
|
||||||
StatesPrinter& operator=(const StatesPrinter&) = delete;
|
|
||||||
|
|
||||||
void PrintHeaders();
|
void PrintHeaders();
|
||||||
void PrintRow();
|
void PrintRow();
|
||||||
|
|
||||||
|
|||||||
@ -20,6 +20,7 @@
|
|||||||
#include "api/units/timestamp.h"
|
#include "api/units/timestamp.h"
|
||||||
#include "call/call.h"
|
#include "call/call.h"
|
||||||
#include "call/simulated_network.h"
|
#include "call/simulated_network.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/copy_on_write_buffer.h"
|
#include "rtc_base/copy_on_write_buffer.h"
|
||||||
#include "rtc_base/synchronization/mutex.h"
|
#include "rtc_base/synchronization/mutex.h"
|
||||||
#include "rtc_base/task_queue.h"
|
#include "rtc_base/task_queue.h"
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "api/test/time_controller.h"
|
#include "api/test/time_controller.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/fake_clock.h"
|
#include "rtc_base/fake_clock.h"
|
||||||
#include "rtc_base/task_queue.h"
|
#include "rtc_base/task_queue.h"
|
||||||
#include "rtc_base/task_utils/repeating_task.h"
|
#include "rtc_base/task_utils/repeating_task.h"
|
||||||
@ -46,12 +47,8 @@ class Scenario {
|
|||||||
Scenario(std::string file_name, bool real_time);
|
Scenario(std::string file_name, bool real_time);
|
||||||
Scenario(std::unique_ptr<LogWriterFactoryInterface> log_writer_manager,
|
Scenario(std::unique_ptr<LogWriterFactoryInterface> log_writer_manager,
|
||||||
bool real_time);
|
bool real_time);
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(Scenario);
|
||||||
~Scenario();
|
~Scenario();
|
||||||
|
|
||||||
Scenario(const Scenario&) = delete;
|
|
||||||
Scenario& operator=(const Scenario&) = delete;
|
|
||||||
|
|
||||||
NetworkEmulationManagerImpl* net() { return &network_manager_; }
|
NetworkEmulationManagerImpl* net() { return &network_manager_; }
|
||||||
|
|
||||||
EmulatedNetworkNode* CreateSimulationNode(NetworkSimulationConfig config);
|
EmulatedNetworkNode* CreateSimulationNode(NetworkSimulationConfig config);
|
||||||
|
|||||||
@ -13,6 +13,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/synchronization/mutex.h"
|
#include "rtc_base/synchronization/mutex.h"
|
||||||
#include "test/fake_encoder.h"
|
#include "test/fake_encoder.h"
|
||||||
#include "test/fake_videorenderer.h"
|
#include "test/fake_videorenderer.h"
|
||||||
@ -31,11 +32,8 @@ namespace test {
|
|||||||
// states at run time.
|
// states at run time.
|
||||||
class SendVideoStream {
|
class SendVideoStream {
|
||||||
public:
|
public:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(SendVideoStream);
|
||||||
~SendVideoStream();
|
~SendVideoStream();
|
||||||
|
|
||||||
SendVideoStream(const SendVideoStream&) = delete;
|
|
||||||
SendVideoStream& operator=(const SendVideoStream&) = delete;
|
|
||||||
|
|
||||||
void SetCaptureFramerate(int framerate);
|
void SetCaptureFramerate(int framerate);
|
||||||
VideoSendStream::Stats GetStats() const;
|
VideoSendStream::Stats GetStats() const;
|
||||||
ColumnPrinter StatsPrinter();
|
ColumnPrinter StatsPrinter();
|
||||||
@ -74,11 +72,8 @@ class SendVideoStream {
|
|||||||
// ReceiveVideoStream represents a video receiver. It can't be used directly.
|
// ReceiveVideoStream represents a video receiver. It can't be used directly.
|
||||||
class ReceiveVideoStream {
|
class ReceiveVideoStream {
|
||||||
public:
|
public:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(ReceiveVideoStream);
|
||||||
~ReceiveVideoStream();
|
~ReceiveVideoStream();
|
||||||
|
|
||||||
ReceiveVideoStream(const ReceiveVideoStream&) = delete;
|
|
||||||
ReceiveVideoStream& operator=(const ReceiveVideoStream&) = delete;
|
|
||||||
|
|
||||||
void Start();
|
void Start();
|
||||||
void Stop();
|
void Stop();
|
||||||
VideoReceiveStream::Stats GetStats() const;
|
VideoReceiveStream::Stats GetStats() const;
|
||||||
@ -108,11 +103,8 @@ class ReceiveVideoStream {
|
|||||||
// the Scenario class.
|
// the Scenario class.
|
||||||
class VideoStreamPair {
|
class VideoStreamPair {
|
||||||
public:
|
public:
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(VideoStreamPair);
|
||||||
~VideoStreamPair();
|
~VideoStreamPair();
|
||||||
|
|
||||||
VideoStreamPair(const VideoStreamPair&) = delete;
|
|
||||||
VideoStreamPair& operator=(const VideoStreamPair&) = delete;
|
|
||||||
|
|
||||||
SendVideoStream* send() { return &send_stream_; }
|
SendVideoStream* send() { return &send_stream_; }
|
||||||
ReceiveVideoStream* receive() { return &receive_stream_; }
|
ReceiveVideoStream* receive() { return &receive_stream_; }
|
||||||
VideoFrameMatcher* matcher() { return &matcher_; }
|
VideoFrameMatcher* matcher() { return &matcher_; }
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
#include "api/sequence_checker.h"
|
#include "api/sequence_checker.h"
|
||||||
#include "api/task_queue/task_queue_base.h"
|
#include "api/task_queue/task_queue_base.h"
|
||||||
#include "api/video/video_stream_encoder_observer.h"
|
#include "api/video/video_stream_encoder_observer.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/experiments/field_trial_parser.h"
|
#include "rtc_base/experiments/field_trial_parser.h"
|
||||||
#include "rtc_base/numerics/exp_filter.h"
|
#include "rtc_base/numerics/exp_filter.h"
|
||||||
#include "rtc_base/system/no_unique_address.h"
|
#include "rtc_base/system/no_unique_address.h"
|
||||||
@ -67,9 +68,6 @@ class OveruseFrameDetector {
|
|||||||
explicit OveruseFrameDetector(CpuOveruseMetricsObserver* metrics_observer);
|
explicit OveruseFrameDetector(CpuOveruseMetricsObserver* metrics_observer);
|
||||||
virtual ~OveruseFrameDetector();
|
virtual ~OveruseFrameDetector();
|
||||||
|
|
||||||
OveruseFrameDetector(const OveruseFrameDetector&) = delete;
|
|
||||||
OveruseFrameDetector& operator=(const OveruseFrameDetector&) = delete;
|
|
||||||
|
|
||||||
// Start to periodically check for overuse.
|
// Start to periodically check for overuse.
|
||||||
void StartCheckForOveruse(
|
void StartCheckForOveruse(
|
||||||
TaskQueueBase* task_queue_base,
|
TaskQueueBase* task_queue_base,
|
||||||
@ -163,6 +161,8 @@ class OveruseFrameDetector {
|
|||||||
|
|
||||||
// If set by field trial, overrides CpuOveruseOptions::filter_time_ms.
|
// If set by field trial, overrides CpuOveruseOptions::filter_time_ms.
|
||||||
FieldTrialOptional<TimeDelta> filter_time_constant_{"tau"};
|
FieldTrialOptional<TimeDelta> filter_time_constant_{"tau"};
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(OveruseFrameDetector);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
#include "modules/include/module.h"
|
#include "modules/include/module.h"
|
||||||
#include "modules/include/module_common_types.h"
|
#include "modules/include/module_common_types.h"
|
||||||
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
|
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/synchronization/mutex.h"
|
#include "rtc_base/synchronization/mutex.h"
|
||||||
#include "system_wrappers/include/clock.h"
|
#include "system_wrappers/include/clock.h"
|
||||||
|
|
||||||
@ -34,9 +35,6 @@ class CallStats : public Module, public RtcpRttStats {
|
|||||||
CallStats(Clock* clock, ProcessThread* process_thread);
|
CallStats(Clock* clock, ProcessThread* process_thread);
|
||||||
~CallStats() override;
|
~CallStats() override;
|
||||||
|
|
||||||
CallStats(const CallStats&) = delete;
|
|
||||||
CallStats& operator=(const CallStats&) = delete;
|
|
||||||
|
|
||||||
// Registers/deregisters a new observer to receive statistics updates.
|
// Registers/deregisters a new observer to receive statistics updates.
|
||||||
// Must be called from the construction thread.
|
// Must be called from the construction thread.
|
||||||
void RegisterStatsObserver(CallStatsObserver* observer);
|
void RegisterStatsObserver(CallStatsObserver* observer);
|
||||||
@ -116,6 +114,8 @@ class CallStats : public Module, public RtcpRttStats {
|
|||||||
SequenceChecker process_thread_checker_;
|
SequenceChecker process_thread_checker_;
|
||||||
ProcessThread* const process_thread_;
|
ProcessThread* const process_thread_;
|
||||||
bool process_thread_running_ RTC_GUARDED_BY(construction_thread_checker_);
|
bool process_thread_running_ RTC_GUARDED_BY(construction_thread_checker_);
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(CallStats);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
#include "api/units/timestamp.h"
|
#include "api/units/timestamp.h"
|
||||||
#include "modules/include/module_common_types.h"
|
#include "modules/include/module_common_types.h"
|
||||||
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
|
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/task_queue.h"
|
#include "rtc_base/task_queue.h"
|
||||||
#include "rtc_base/task_utils/pending_task_safety_flag.h"
|
#include "rtc_base/task_utils/pending_task_safety_flag.h"
|
||||||
#include "rtc_base/task_utils/repeating_task.h"
|
#include "rtc_base/task_utils/repeating_task.h"
|
||||||
@ -34,9 +35,6 @@ class CallStats {
|
|||||||
CallStats(Clock* clock, TaskQueueBase* task_queue);
|
CallStats(Clock* clock, TaskQueueBase* task_queue);
|
||||||
~CallStats();
|
~CallStats();
|
||||||
|
|
||||||
CallStats(const CallStats&) = delete;
|
|
||||||
CallStats& operator=(const CallStats&) = delete;
|
|
||||||
|
|
||||||
// Ensure that necessary repeating tasks are started.
|
// Ensure that necessary repeating tasks are started.
|
||||||
void EnsureStarted();
|
void EnsureStarted();
|
||||||
|
|
||||||
@ -127,6 +125,8 @@ class CallStats {
|
|||||||
|
|
||||||
// Used to signal destruction to potentially pending tasks.
|
// Used to signal destruction to potentially pending tasks.
|
||||||
ScopedTaskSafety task_safety_;
|
ScopedTaskSafety task_safety_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(CallStats);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace internal
|
} // namespace internal
|
||||||
|
|||||||
@ -46,6 +46,7 @@
|
|||||||
#include "modules/video_coding/packet_buffer.h"
|
#include "modules/video_coding/packet_buffer.h"
|
||||||
#include "modules/video_coding/rtp_frame_reference_finder.h"
|
#include "modules/video_coding/rtp_frame_reference_finder.h"
|
||||||
#include "modules/video_coding/unique_timestamp_counter.h"
|
#include "modules/video_coding/unique_timestamp_counter.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/experiments/field_trial_parser.h"
|
#include "rtc_base/experiments/field_trial_parser.h"
|
||||||
#include "rtc_base/numerics/sequence_number_util.h"
|
#include "rtc_base/numerics/sequence_number_util.h"
|
||||||
#include "rtc_base/synchronization/mutex.h"
|
#include "rtc_base/synchronization/mutex.h"
|
||||||
|
|||||||
@ -43,6 +43,7 @@
|
|||||||
#include "modules/video_coding/packet_buffer.h"
|
#include "modules/video_coding/packet_buffer.h"
|
||||||
#include "modules/video_coding/rtp_frame_reference_finder.h"
|
#include "modules/video_coding/rtp_frame_reference_finder.h"
|
||||||
#include "modules/video_coding/unique_timestamp_counter.h"
|
#include "modules/video_coding/unique_timestamp_counter.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/experiments/field_trial_parser.h"
|
#include "rtc_base/experiments/field_trial_parser.h"
|
||||||
#include "rtc_base/numerics/sequence_number_util.h"
|
#include "rtc_base/numerics/sequence_number_util.h"
|
||||||
#include "rtc_base/system/no_unique_address.h"
|
#include "rtc_base/system/no_unique_address.h"
|
||||||
|
|||||||
@ -14,6 +14,8 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
class AggregatedCounter;
|
class AggregatedCounter;
|
||||||
@ -154,9 +156,6 @@ class AvgCounter : public StatsCounter {
|
|||||||
bool include_empty_intervals);
|
bool include_empty_intervals);
|
||||||
~AvgCounter() override {}
|
~AvgCounter() override {}
|
||||||
|
|
||||||
AvgCounter(const AvgCounter&) = delete;
|
|
||||||
AvgCounter& operator=(const AvgCounter&) = delete;
|
|
||||||
|
|
||||||
void Add(int sample);
|
void Add(int sample);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -164,6 +163,8 @@ class AvgCounter : public StatsCounter {
|
|||||||
|
|
||||||
// Returns the last computed metric (i.e. from GetMetric).
|
// Returns the last computed metric (i.e. from GetMetric).
|
||||||
int GetValueForEmptyInterval() const override;
|
int GetValueForEmptyInterval() const override;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(AvgCounter);
|
||||||
};
|
};
|
||||||
|
|
||||||
// MaxCounter: maximum of samples
|
// MaxCounter: maximum of samples
|
||||||
@ -179,14 +180,13 @@ class MaxCounter : public StatsCounter {
|
|||||||
int64_t process_intervals_ms);
|
int64_t process_intervals_ms);
|
||||||
~MaxCounter() override {}
|
~MaxCounter() override {}
|
||||||
|
|
||||||
MaxCounter(const MaxCounter&) = delete;
|
|
||||||
MaxCounter& operator=(const MaxCounter&) = delete;
|
|
||||||
|
|
||||||
void Add(int sample);
|
void Add(int sample);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool GetMetric(int* metric) const override;
|
bool GetMetric(int* metric) const override;
|
||||||
int GetValueForEmptyInterval() const override;
|
int GetValueForEmptyInterval() const override;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(MaxCounter);
|
||||||
};
|
};
|
||||||
|
|
||||||
// PercentCounter: percentage of samples
|
// PercentCounter: percentage of samples
|
||||||
@ -200,14 +200,13 @@ class PercentCounter : public StatsCounter {
|
|||||||
PercentCounter(Clock* clock, StatsCounterObserver* observer);
|
PercentCounter(Clock* clock, StatsCounterObserver* observer);
|
||||||
~PercentCounter() override {}
|
~PercentCounter() override {}
|
||||||
|
|
||||||
PercentCounter(const PercentCounter&) = delete;
|
|
||||||
PercentCounter& operator=(const PercentCounter&) = delete;
|
|
||||||
|
|
||||||
void Add(bool sample);
|
void Add(bool sample);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool GetMetric(int* metric) const override;
|
bool GetMetric(int* metric) const override;
|
||||||
int GetValueForEmptyInterval() const override;
|
int GetValueForEmptyInterval() const override;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(PercentCounter);
|
||||||
};
|
};
|
||||||
|
|
||||||
// PermilleCounter: permille of samples
|
// PermilleCounter: permille of samples
|
||||||
@ -221,14 +220,13 @@ class PermilleCounter : public StatsCounter {
|
|||||||
PermilleCounter(Clock* clock, StatsCounterObserver* observer);
|
PermilleCounter(Clock* clock, StatsCounterObserver* observer);
|
||||||
~PermilleCounter() override {}
|
~PermilleCounter() override {}
|
||||||
|
|
||||||
PermilleCounter(const PermilleCounter&) = delete;
|
|
||||||
PermilleCounter& operator=(const PermilleCounter&) = delete;
|
|
||||||
|
|
||||||
void Add(bool sample);
|
void Add(bool sample);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool GetMetric(int* metric) const override;
|
bool GetMetric(int* metric) const override;
|
||||||
int GetValueForEmptyInterval() const override;
|
int GetValueForEmptyInterval() const override;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(PermilleCounter);
|
||||||
};
|
};
|
||||||
|
|
||||||
// RateCounter: units per second
|
// RateCounter: units per second
|
||||||
@ -249,14 +247,13 @@ class RateCounter : public StatsCounter {
|
|||||||
bool include_empty_intervals);
|
bool include_empty_intervals);
|
||||||
~RateCounter() override {}
|
~RateCounter() override {}
|
||||||
|
|
||||||
RateCounter(const RateCounter&) = delete;
|
|
||||||
RateCounter& operator=(const RateCounter&) = delete;
|
|
||||||
|
|
||||||
void Add(int sample);
|
void Add(int sample);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool GetMetric(int* metric) const override;
|
bool GetMetric(int* metric) const override;
|
||||||
int GetValueForEmptyInterval() const override; // Returns zero.
|
int GetValueForEmptyInterval() const override; // Returns zero.
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(RateCounter);
|
||||||
};
|
};
|
||||||
|
|
||||||
// RateAccCounter: units per second (used for counters)
|
// RateAccCounter: units per second (used for counters)
|
||||||
@ -277,9 +274,6 @@ class RateAccCounter : public StatsCounter {
|
|||||||
bool include_empty_intervals);
|
bool include_empty_intervals);
|
||||||
~RateAccCounter() override {}
|
~RateAccCounter() override {}
|
||||||
|
|
||||||
RateAccCounter(const RateAccCounter&) = delete;
|
|
||||||
RateAccCounter& operator=(const RateAccCounter&) = delete;
|
|
||||||
|
|
||||||
void Set(int64_t sample, uint32_t stream_id);
|
void Set(int64_t sample, uint32_t stream_id);
|
||||||
|
|
||||||
// Sets the value for previous interval.
|
// Sets the value for previous interval.
|
||||||
@ -289,6 +283,8 @@ class RateAccCounter : public StatsCounter {
|
|||||||
private:
|
private:
|
||||||
bool GetMetric(int* metric) const override;
|
bool GetMetric(int* metric) const override;
|
||||||
int GetValueForEmptyInterval() const override; // Returns zero.
|
int GetValueForEmptyInterval() const override; // Returns zero.
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(RateAccCounter);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -36,6 +36,7 @@
|
|||||||
#include "modules/video_coding/svc/svc_rate_allocator.h"
|
#include "modules/video_coding/svc/svc_rate_allocator.h"
|
||||||
#include "rtc_base/arraysize.h"
|
#include "rtc_base/arraysize.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/constructor_magic.h"
|
||||||
#include "rtc_base/event.h"
|
#include "rtc_base/event.h"
|
||||||
#include "rtc_base/experiments/alr_experiment.h"
|
#include "rtc_base/experiments/alr_experiment.h"
|
||||||
#include "rtc_base/experiments/encoder_info_settings.h"
|
#include "rtc_base/experiments/encoder_info_settings.h"
|
||||||
|
|||||||
@ -82,9 +82,6 @@ class VideoStreamEncoder : public VideoStreamEncoderInterface,
|
|||||||
BitrateAllocationCallbackType allocation_cb_type);
|
BitrateAllocationCallbackType allocation_cb_type);
|
||||||
~VideoStreamEncoder() override;
|
~VideoStreamEncoder() override;
|
||||||
|
|
||||||
VideoStreamEncoder(const VideoStreamEncoder&) = delete;
|
|
||||||
VideoStreamEncoder& operator=(const VideoStreamEncoder&) = delete;
|
|
||||||
|
|
||||||
void AddAdaptationResource(rtc::scoped_refptr<Resource> resource) override;
|
void AddAdaptationResource(rtc::scoped_refptr<Resource> resource) override;
|
||||||
std::vector<rtc::scoped_refptr<Resource>> GetAdaptationResources() override;
|
std::vector<rtc::scoped_refptr<Resource>> GetAdaptationResources() override;
|
||||||
|
|
||||||
@ -443,6 +440,8 @@ class VideoStreamEncoder : public VideoStreamEncoderInterface,
|
|||||||
|
|
||||||
// Used to cancel any potentially pending tasks to the worker thread.
|
// Used to cancel any potentially pending tasks to the worker thread.
|
||||||
ScopedTaskSafety task_safety_;
|
ScopedTaskSafety task_safety_;
|
||||||
|
|
||||||
|
RTC_DISALLOW_COPY_AND_ASSIGN(VideoStreamEncoder);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
Reference in New Issue
Block a user