Delete Start and Stop methods from TestVideoCapturer.
Preparation for replacing use of TestVideoCapturer as an interface, instead using VideoSourceInterface. Methods kept as non-virtual on the subclass FrameGeneratorCapturer, but it's changed to be started on creation. Bug: webrtc:6353 Change-Id: Iae1c9a0ee55d730d4992204f62227ef2f057d58e Reviewed-on: https://webrtc-review.googlesource.com/c/114425 Reviewed-by: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Reviewed-by: Per Kjellander <perkj@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26037}
This commit is contained in:
parent
41f3a43c74
commit
8eeccbe6a6
@ -183,7 +183,6 @@ class BitrateEstimatorTest : public test::CallTest {
|
|||||||
send_stream_->SetSource(frame_generator_capturer_.get(),
|
send_stream_->SetSource(frame_generator_capturer_.get(),
|
||||||
DegradationPreference::MAINTAIN_FRAMERATE);
|
DegradationPreference::MAINTAIN_FRAMERATE);
|
||||||
send_stream_->Start();
|
send_stream_->Start();
|
||||||
frame_generator_capturer_->Start();
|
|
||||||
|
|
||||||
VideoReceiveStream::Decoder decoder;
|
VideoReceiveStream::Decoder decoder;
|
||||||
decoder.decoder_factory = &decoder_factory_;
|
decoder.decoder_factory = &decoder_factory_;
|
||||||
@ -215,7 +214,6 @@ class BitrateEstimatorTest : public test::CallTest {
|
|||||||
|
|
||||||
void StopSending() {
|
void StopSending() {
|
||||||
if (is_sending_receiving_) {
|
if (is_sending_receiving_) {
|
||||||
frame_generator_capturer_->Stop();
|
|
||||||
send_stream_->Stop();
|
send_stream_->Stop();
|
||||||
if (video_receive_stream_) {
|
if (video_receive_stream_) {
|
||||||
video_receive_stream_->Stop();
|
video_receive_stream_->Stop();
|
||||||
|
|||||||
@ -49,12 +49,10 @@ class FrameGeneratorCapturerVideoTrackSource : public VideoTrackSource {
|
|||||||
~FrameGeneratorCapturerVideoTrackSource() = default;
|
~FrameGeneratorCapturerVideoTrackSource() = default;
|
||||||
|
|
||||||
void Start() {
|
void Start() {
|
||||||
video_capturer_->Start();
|
|
||||||
SetState(kLive);
|
SetState(kLive);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Stop() {
|
void Stop() {
|
||||||
video_capturer_->Stop();
|
|
||||||
SetState(kMuted);
|
SetState(kMuted);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -588,7 +588,6 @@ void CallTest::Start() {
|
|||||||
}
|
}
|
||||||
for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
|
for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
|
||||||
audio_recv_stream->Start();
|
audio_recv_stream->Start();
|
||||||
StartVideoCapture();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CallTest::StartVideoStreams() {
|
void CallTest::StartVideoStreams() {
|
||||||
@ -598,13 +597,7 @@ void CallTest::StartVideoStreams() {
|
|||||||
video_recv_stream->Start();
|
video_recv_stream->Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CallTest::StartVideoCapture() {
|
|
||||||
for (auto& capturer : video_capturers_)
|
|
||||||
capturer->Start();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CallTest::Stop() {
|
void CallTest::Stop() {
|
||||||
StopVideoCapture();
|
|
||||||
for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
|
for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
|
||||||
audio_recv_stream->Stop();
|
audio_recv_stream->Stop();
|
||||||
if (audio_send_stream_) {
|
if (audio_send_stream_) {
|
||||||
@ -613,11 +606,6 @@ void CallTest::Stop() {
|
|||||||
StopVideoStreams();
|
StopVideoStreams();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CallTest::StopVideoCapture() {
|
|
||||||
for (auto& capturer : video_capturers_)
|
|
||||||
capturer->Stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CallTest::StopVideoStreams() {
|
void CallTest::StopVideoStreams() {
|
||||||
for (VideoSendStream* video_send_stream : video_send_streams_)
|
for (VideoSendStream* video_send_stream : video_send_streams_)
|
||||||
video_send_stream->Stop();
|
video_send_stream->Stop();
|
||||||
|
|||||||
@ -154,9 +154,7 @@ class CallTest : public ::testing::Test {
|
|||||||
|
|
||||||
void Start();
|
void Start();
|
||||||
void StartVideoStreams();
|
void StartVideoStreams();
|
||||||
void StartVideoCapture();
|
|
||||||
void Stop();
|
void Stop();
|
||||||
void StopVideoCapture();
|
|
||||||
void StopVideoStreams();
|
void StopVideoStreams();
|
||||||
void DestroyStreams();
|
void DestroyStreams();
|
||||||
void DestroyVideoSendStreams();
|
void DestroyVideoSendStreams();
|
||||||
|
|||||||
@ -126,7 +126,7 @@ FrameGeneratorCapturer::FrameGeneratorCapturer(
|
|||||||
std::unique_ptr<FrameGenerator> frame_generator,
|
std::unique_ptr<FrameGenerator> frame_generator,
|
||||||
int target_fps)
|
int target_fps)
|
||||||
: clock_(clock),
|
: clock_(clock),
|
||||||
sending_(false),
|
sending_(true),
|
||||||
sink_(nullptr),
|
sink_(nullptr),
|
||||||
sink_wants_observer_(nullptr),
|
sink_wants_observer_(nullptr),
|
||||||
frame_generator_(std::move(frame_generator)),
|
frame_generator_(std::move(frame_generator)),
|
||||||
|
|||||||
@ -61,8 +61,8 @@ class FrameGeneratorCapturer : public TestVideoCapturer {
|
|||||||
Clock* clock);
|
Clock* clock);
|
||||||
virtual ~FrameGeneratorCapturer();
|
virtual ~FrameGeneratorCapturer();
|
||||||
|
|
||||||
void Start() override;
|
void Start();
|
||||||
void Stop() override;
|
void Stop();
|
||||||
void ChangeResolution(size_t width, size_t height);
|
void ChangeResolution(size_t width, size_t height);
|
||||||
void ChangeFramerate(int target_framerate);
|
void ChangeFramerate(int target_framerate);
|
||||||
|
|
||||||
|
|||||||
@ -375,7 +375,6 @@ void Scenario::Start() {
|
|||||||
void Scenario::Stop() {
|
void Scenario::Stop() {
|
||||||
RTC_DCHECK(start_time_.IsFinite());
|
RTC_DCHECK(start_time_.IsFinite());
|
||||||
for (auto& stream_pair : video_streams_) {
|
for (auto& stream_pair : video_streams_) {
|
||||||
stream_pair->send()->video_capturer_->Stop();
|
|
||||||
stream_pair->send()->send_stream_->Stop();
|
stream_pair->send()->send_stream_->Stop();
|
||||||
}
|
}
|
||||||
for (auto& stream_pair : audio_streams_)
|
for (auto& stream_pair : audio_streams_)
|
||||||
|
|||||||
@ -255,7 +255,6 @@ SendVideoStream::~SendVideoStream() {
|
|||||||
|
|
||||||
void SendVideoStream::Start() {
|
void SendVideoStream::Start() {
|
||||||
send_stream_->Start();
|
send_stream_->Start();
|
||||||
video_capturer_->Start();
|
|
||||||
sender_->call_->SignalChannelNetworkState(MediaType::VIDEO, kNetworkUp);
|
sender_->call_->SignalChannelNetworkState(MediaType::VIDEO, kNetworkUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -34,9 +34,6 @@ class TestVideoCapturer : public rtc::VideoSourceInterface<VideoFrame> {
|
|||||||
TestVideoCapturer();
|
TestVideoCapturer();
|
||||||
virtual ~TestVideoCapturer();
|
virtual ~TestVideoCapturer();
|
||||||
|
|
||||||
virtual void Start() = 0;
|
|
||||||
virtual void Stop() = 0;
|
|
||||||
|
|
||||||
void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
|
void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
|
||||||
const rtc::VideoSinkWants& wants) override;
|
const rtc::VideoSinkWants& wants) override;
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
namespace test {
|
namespace test {
|
||||||
|
|
||||||
VcmCapturer::VcmCapturer() : started_(false), sink_(nullptr), vcm_(nullptr) {}
|
VcmCapturer::VcmCapturer() : sink_(nullptr), vcm_(nullptr) {}
|
||||||
|
|
||||||
bool VcmCapturer::Init(size_t width,
|
bool VcmCapturer::Init(size_t width,
|
||||||
size_t height,
|
size_t height,
|
||||||
@ -74,16 +74,6 @@ VcmCapturer* VcmCapturer::Create(size_t width,
|
|||||||
return vcm_capturer.release();
|
return vcm_capturer.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VcmCapturer::Start() {
|
|
||||||
rtc::CritScope lock(&crit_);
|
|
||||||
started_ = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void VcmCapturer::Stop() {
|
|
||||||
rtc::CritScope lock(&crit_);
|
|
||||||
started_ = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void VcmCapturer::AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
|
void VcmCapturer::AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
|
||||||
const rtc::VideoSinkWants& wants) {
|
const rtc::VideoSinkWants& wants) {
|
||||||
rtc::CritScope lock(&crit_);
|
rtc::CritScope lock(&crit_);
|
||||||
@ -114,7 +104,7 @@ VcmCapturer::~VcmCapturer() {
|
|||||||
|
|
||||||
void VcmCapturer::OnFrame(const VideoFrame& frame) {
|
void VcmCapturer::OnFrame(const VideoFrame& frame) {
|
||||||
rtc::CritScope lock(&crit_);
|
rtc::CritScope lock(&crit_);
|
||||||
if (started_ && sink_) {
|
if (sink_) {
|
||||||
absl::optional<VideoFrame> out_frame = AdaptFrame(frame);
|
absl::optional<VideoFrame> out_frame = AdaptFrame(frame);
|
||||||
if (out_frame)
|
if (out_frame)
|
||||||
sink_->OnFrame(*out_frame);
|
sink_->OnFrame(*out_frame);
|
||||||
|
|||||||
@ -30,8 +30,6 @@ class VcmCapturer : public TestVideoCapturer,
|
|||||||
size_t capture_device_index);
|
size_t capture_device_index);
|
||||||
virtual ~VcmCapturer();
|
virtual ~VcmCapturer();
|
||||||
|
|
||||||
void Start() override;
|
|
||||||
void Stop() override;
|
|
||||||
void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
|
void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
|
||||||
const rtc::VideoSinkWants& wants) override;
|
const rtc::VideoSinkWants& wants) override;
|
||||||
void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override;
|
void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override;
|
||||||
@ -47,7 +45,6 @@ class VcmCapturer : public TestVideoCapturer,
|
|||||||
void Destroy();
|
void Destroy();
|
||||||
|
|
||||||
rtc::CriticalSection crit_;
|
rtc::CriticalSection crit_;
|
||||||
bool started_ RTC_GUARDED_BY(crit_);
|
|
||||||
rtc::VideoSinkInterface<VideoFrame>* sink_ RTC_GUARDED_BY(crit_);
|
rtc::VideoSinkInterface<VideoFrame>* sink_ RTC_GUARDED_BY(crit_);
|
||||||
rtc::scoped_refptr<VideoCaptureModule> vcm_;
|
rtc::scoped_refptr<VideoCaptureModule> vcm_;
|
||||||
VideoCaptureCapability capability_;
|
VideoCaptureCapability capability_;
|
||||||
|
|||||||
@ -219,7 +219,6 @@ void MultiCodecReceiveTest::RunTestWithCodecs(
|
|||||||
for (size_t i = 1; i < configs.size(); ++i) {
|
for (size_t i = 1; i < configs.size(); ++i) {
|
||||||
// Recreate VideoSendStream with new config (codec, temporal layers).
|
// Recreate VideoSendStream with new config (codec, temporal layers).
|
||||||
task_queue_.SendTask([this, i, &configs]() {
|
task_queue_.SendTask([this, i, &configs]() {
|
||||||
frame_generator_capturer_->Stop();
|
|
||||||
DestroyVideoSendStreams();
|
DestroyVideoSendStreams();
|
||||||
observer_.Reset();
|
observer_.Reset();
|
||||||
|
|
||||||
@ -228,7 +227,6 @@ void MultiCodecReceiveTest::RunTestWithCodecs(
|
|||||||
GetVideoSendStream()->Start();
|
GetVideoSendStream()->Start();
|
||||||
CreateFrameGeneratorCapturer(kFps, kWidth / 2, kHeight / 2);
|
CreateFrameGeneratorCapturer(kFps, kWidth / 2, kHeight / 2);
|
||||||
ConnectVideoSourcesToStreams();
|
ConnectVideoSourcesToStreams();
|
||||||
frame_generator_capturer_->Start();
|
|
||||||
});
|
});
|
||||||
EXPECT_TRUE(observer_.Wait()) << "Timed out waiting for frames.";
|
EXPECT_TRUE(observer_.Wait()) << "Timed out waiting for frames.";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -323,7 +323,6 @@ void RtpRtcpEndToEndTest::TestRtpStatePreservation(
|
|||||||
// get set once (this could be due to using std::map::insert for instance).
|
// get set once (this could be due to using std::map::insert for instance).
|
||||||
for (size_t i = 0; i < 3; ++i) {
|
for (size_t i = 0; i < 3; ++i) {
|
||||||
task_queue_.SendTask([&]() {
|
task_queue_.SendTask([&]() {
|
||||||
frame_generator_capturer_->Stop();
|
|
||||||
DestroyVideoSendStreams();
|
DestroyVideoSendStreams();
|
||||||
|
|
||||||
// Re-create VideoSendStream with only one stream.
|
// Re-create VideoSendStream with only one stream.
|
||||||
@ -339,7 +338,6 @@ void RtpRtcpEndToEndTest::TestRtpStatePreservation(
|
|||||||
->SendRtcp(packet.data(), packet.size());
|
->SendRtcp(packet.data(), packet.size());
|
||||||
}
|
}
|
||||||
CreateFrameGeneratorCapturer(30, 1280, 720);
|
CreateFrameGeneratorCapturer(30, 1280, 720);
|
||||||
frame_generator_capturer_->Start();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
observer.ResetExpectedSsrcs(1);
|
observer.ResetExpectedSsrcs(1);
|
||||||
@ -560,13 +558,11 @@ TEST_F(RtpRtcpEndToEndTest, DISABLED_TestFlexfecRtpStatePreservation) {
|
|||||||
|
|
||||||
task_queue_.SendTask([this, &observer]() {
|
task_queue_.SendTask([this, &observer]() {
|
||||||
// Ensure monotonicity when the VideoSendStream is recreated.
|
// Ensure monotonicity when the VideoSendStream is recreated.
|
||||||
frame_generator_capturer_->Stop();
|
|
||||||
DestroyVideoSendStreams();
|
DestroyVideoSendStreams();
|
||||||
observer.ResetPacketCount();
|
observer.ResetPacketCount();
|
||||||
CreateVideoSendStreams();
|
CreateVideoSendStreams();
|
||||||
GetVideoSendStream()->Start();
|
GetVideoSendStream()->Start();
|
||||||
CreateFrameGeneratorCapturer(kFrameRate, kFrameMaxWidth, kFrameMaxHeight);
|
CreateFrameGeneratorCapturer(kFrameRate, kFrameMaxWidth, kFrameMaxHeight);
|
||||||
frame_generator_capturer_->Start();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
EXPECT_TRUE(observer.Wait()) << "Timed out waiting for packets.";
|
EXPECT_TRUE(observer.Wait()) << "Timed out waiting for packets.";
|
||||||
|
|||||||
@ -363,7 +363,6 @@ void PictureIdTest::TestPictureIdIncreaseAfterRecreateStreams(
|
|||||||
observer_->SetMaxExpectedPictureIdGap(kMaxFramesLost);
|
observer_->SetMaxExpectedPictureIdGap(kMaxFramesLost);
|
||||||
for (int ssrc_count : ssrc_counts) {
|
for (int ssrc_count : ssrc_counts) {
|
||||||
task_queue_.SendTask([this, &ssrc_count]() {
|
task_queue_.SendTask([this, &ssrc_count]() {
|
||||||
frame_generator_capturer_->Stop();
|
|
||||||
DestroyVideoSendStreams();
|
DestroyVideoSendStreams();
|
||||||
|
|
||||||
GetVideoEncoderConfig()->number_of_streams = ssrc_count;
|
GetVideoEncoderConfig()->number_of_streams = ssrc_count;
|
||||||
@ -373,7 +372,6 @@ void PictureIdTest::TestPictureIdIncreaseAfterRecreateStreams(
|
|||||||
CreateVideoSendStreams();
|
CreateVideoSendStreams();
|
||||||
GetVideoSendStream()->Start();
|
GetVideoSendStream()->Start();
|
||||||
CreateFrameGeneratorCapturer(kFrameRate, kFrameMaxWidth, kFrameMaxHeight);
|
CreateFrameGeneratorCapturer(kFrameRate, kFrameMaxWidth, kFrameMaxHeight);
|
||||||
frame_generator_capturer_->Start();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
EXPECT_TRUE(observer_->Wait()) << "Timed out waiting for packets.";
|
EXPECT_TRUE(observer_->Wait()) << "Timed out waiting for packets.";
|
||||||
|
|||||||
@ -953,18 +953,6 @@ void VideoQualityTest::StartAudioStreams() {
|
|||||||
audio_recv_stream->Start();
|
audio_recv_stream->Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoQualityTest::StartThumbnailCapture() {
|
|
||||||
for (std::unique_ptr<test::TestVideoCapturer>& capturer :
|
|
||||||
thumbnail_capturers_)
|
|
||||||
capturer->Start();
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoQualityTest::StopThumbnailCapture() {
|
|
||||||
for (std::unique_ptr<test::TestVideoCapturer>& capturer :
|
|
||||||
thumbnail_capturers_)
|
|
||||||
capturer->Stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoQualityTest::StartThumbnails() {
|
void VideoQualityTest::StartThumbnails() {
|
||||||
for (VideoSendStream* send_stream : thumbnail_send_streams_)
|
for (VideoSendStream* send_stream : thumbnail_send_streams_)
|
||||||
send_stream->Start();
|
send_stream->Start();
|
||||||
@ -1130,14 +1118,11 @@ void VideoQualityTest::RunWithAnalyzer(const Params& params) {
|
|||||||
StartVideoStreams();
|
StartVideoStreams();
|
||||||
StartThumbnails();
|
StartThumbnails();
|
||||||
analyzer_->StartMeasuringCpuProcessTime();
|
analyzer_->StartMeasuringCpuProcessTime();
|
||||||
StartVideoCapture();
|
|
||||||
StartThumbnailCapture();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
analyzer_->Wait();
|
analyzer_->Wait();
|
||||||
|
|
||||||
task_queue_.SendTask([&]() {
|
task_queue_.SendTask([&]() {
|
||||||
StopThumbnailCapture();
|
|
||||||
StopThumbnails();
|
StopThumbnails();
|
||||||
Stop();
|
Stop();
|
||||||
|
|
||||||
|
|||||||
@ -82,8 +82,6 @@ class VideoQualityTest :
|
|||||||
void SetupVideo(Transport* send_transport, Transport* recv_transport);
|
void SetupVideo(Transport* send_transport, Transport* recv_transport);
|
||||||
void SetupThumbnails(Transport* send_transport, Transport* recv_transport);
|
void SetupThumbnails(Transport* send_transport, Transport* recv_transport);
|
||||||
void StartAudioStreams();
|
void StartAudioStreams();
|
||||||
void StartThumbnailCapture();
|
|
||||||
void StopThumbnailCapture();
|
|
||||||
void StartThumbnails();
|
void StartThumbnails();
|
||||||
void StopThumbnails();
|
void StopThumbnails();
|
||||||
void DestroyThumbnailStreams();
|
void DestroyThumbnailStreams();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user