Fixing camera capture for video_loopback
In the middle of refactoring, I replaced the VideoCapturer with FrameGeneratorCapturer, to reuse the code, and with that disabled the camera. Now adding capturer_ element to VideoQualityTest and ignoring frame_generator_capturer_ from the parent class test::CallTest. Review URL: https://codereview.webrtc.org/1356933005 Cr-Commit-Position: refs/heads/master@{#10023}
This commit is contained in:
@ -694,22 +694,22 @@ void VideoQualityTest::SetupScreenshare(const Params& params) {
|
|||||||
void VideoQualityTest::CreateCapturer(const Params& params,
|
void VideoQualityTest::CreateCapturer(const Params& params,
|
||||||
VideoCaptureInput* input) {
|
VideoCaptureInput* input) {
|
||||||
if (params.screenshare.enabled) {
|
if (params.screenshare.enabled) {
|
||||||
frame_generator_capturer_.reset(new test::FrameGeneratorCapturer(
|
test::FrameGeneratorCapturer *frame_generator_capturer =
|
||||||
clock_, input, frame_generator_.release(), params.common.fps));
|
new test::FrameGeneratorCapturer(
|
||||||
EXPECT_TRUE(frame_generator_capturer_->Init());
|
clock_, input, frame_generator_.release(), params.common.fps);
|
||||||
|
EXPECT_TRUE(frame_generator_capturer->Init());
|
||||||
|
capturer_.reset(frame_generator_capturer);
|
||||||
} else {
|
} else {
|
||||||
if (params.video.clip_name.empty()) {
|
if (params.video.clip_name.empty()) {
|
||||||
frame_generator_capturer_.reset(test::FrameGeneratorCapturer::Create(
|
capturer_.reset(test::VideoCapturer::Create(
|
||||||
input, params.common.width, params.common.height, params.common.fps,
|
input, params.common.width, params.common.height, params.common.fps,
|
||||||
clock_));
|
clock_));
|
||||||
EXPECT_TRUE(frame_generator_capturer_->Init());
|
|
||||||
} else {
|
} else {
|
||||||
frame_generator_capturer_.reset(
|
capturer_.reset(test::FrameGeneratorCapturer::CreateFromYuvFile(
|
||||||
test::FrameGeneratorCapturer::CreateFromYuvFile(
|
input, test::ResourcePath(params.video.clip_name, "yuv"),
|
||||||
input, test::ResourcePath(params.video.clip_name, "yuv"),
|
params.common.width, params.common.height, params.common.fps,
|
||||||
params.common.width, params.common.height, params.common.fps,
|
clock_));
|
||||||
clock_));
|
ASSERT_TRUE(capturer_.get() != nullptr)
|
||||||
ASSERT_TRUE(frame_generator_capturer_.get() != nullptr)
|
|
||||||
<< "Could not create capturer for " << params.video.clip_name
|
<< "Could not create capturer for " << params.video.clip_name
|
||||||
<< ".yuv. Is this resource file present?";
|
<< ".yuv. Is this resource file present?";
|
||||||
}
|
}
|
||||||
@ -762,14 +762,20 @@ void VideoQualityTest::RunWithAnalyzer(const Params& params) {
|
|||||||
analyzer.input_ = send_stream_->Input();
|
analyzer.input_ = send_stream_->Input();
|
||||||
analyzer.send_stream_ = send_stream_;
|
analyzer.send_stream_ = send_stream_;
|
||||||
|
|
||||||
Start();
|
send_stream_->Start();
|
||||||
|
for (size_t i = 0; i < receive_streams_.size(); ++i)
|
||||||
|
receive_streams_[i]->Start();
|
||||||
|
capturer_->Start();
|
||||||
|
|
||||||
analyzer.Wait();
|
analyzer.Wait();
|
||||||
|
|
||||||
send_transport.StopSending();
|
send_transport.StopSending();
|
||||||
recv_transport.StopSending();
|
recv_transport.StopSending();
|
||||||
|
|
||||||
Stop();
|
capturer_->Stop();
|
||||||
|
for (size_t i = 0; i < receive_streams_.size(); ++i)
|
||||||
|
receive_streams_[i]->Stop();
|
||||||
|
send_stream_->Stop();
|
||||||
|
|
||||||
DestroyStreams();
|
DestroyStreams();
|
||||||
|
|
||||||
@ -816,11 +822,11 @@ void VideoQualityTest::RunWithVideoRenderer(const Params& params) {
|
|||||||
|
|
||||||
receive_stream->Start();
|
receive_stream->Start();
|
||||||
send_stream_->Start();
|
send_stream_->Start();
|
||||||
frame_generator_capturer_->Start();
|
capturer_->Start();
|
||||||
|
|
||||||
test::PressEnterToContinue();
|
test::PressEnterToContinue();
|
||||||
|
|
||||||
frame_generator_capturer_->Stop();
|
capturer_->Stop();
|
||||||
send_stream_->Stop();
|
send_stream_->Stop();
|
||||||
receive_stream->Stop();
|
receive_stream->Stop();
|
||||||
|
|
||||||
|
@ -75,6 +75,8 @@ class VideoQualityTest : public test::CallTest {
|
|||||||
newapi::Transport* recv_transport);
|
newapi::Transport* recv_transport);
|
||||||
void SetupScreenshare(const Params& params);
|
void SetupScreenshare(const Params& params);
|
||||||
|
|
||||||
|
// We need a more general capturer than the FrameGeneratorCapturer.
|
||||||
|
rtc::scoped_ptr<test::VideoCapturer> capturer_;
|
||||||
rtc::scoped_ptr<test::TraceToStderr> trace_to_stderr_;
|
rtc::scoped_ptr<test::TraceToStderr> trace_to_stderr_;
|
||||||
rtc::scoped_ptr<test::FrameGenerator> frame_generator_;
|
rtc::scoped_ptr<test::FrameGenerator> frame_generator_;
|
||||||
rtc::scoped_ptr<VideoEncoder> encoder_;
|
rtc::scoped_ptr<VideoEncoder> encoder_;
|
||||||
|
Reference in New Issue
Block a user