Chromium Code Reviews| Index: webrtc/video/video_quality_test.cc | 
| diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc | 
| index aa5ff7121d9359e378cace1941a080e480a6a2d1..3f36ea6a019cff33ac72e98ab512d8e46c8f5575 100644 | 
| --- a/webrtc/video/video_quality_test.cc | 
| +++ b/webrtc/video/video_quality_test.cc | 
| @@ -36,6 +36,7 @@ | 
| #include "webrtc/rtc_base/format_macros.h" | 
| #include "webrtc/rtc_base/memory_usage.h" | 
| #include "webrtc/rtc_base/optional.h" | 
| +#include "webrtc/rtc_base/pathutils.h" | 
| #include "webrtc/rtc_base/platform_file.h" | 
| #include "webrtc/rtc_base/timeutils.h" | 
| #include "webrtc/system_wrappers/include/cpu_info.h" | 
| @@ -46,6 +47,7 @@ | 
| #include "webrtc/test/statistics.h" | 
| #include "webrtc/test/testsupport/fileutils.h" | 
| #include "webrtc/test/testsupport/frame_writer.h" | 
| +#include "webrtc/test/testsupport/test_output.h" | 
| #include "webrtc/test/vcm_capturer.h" | 
| #include "webrtc/test/video_renderer.h" | 
| #include "webrtc/voice_engine/include/voe_base.h" | 
| @@ -824,27 +826,21 @@ class VideoAnalyzer : public PacketReceiver, | 
| // will be flaky. | 
| PrintResult("memory_usage", memory_usage_, " bytes"); | 
| #endif | 
| - // TODO(ilnik): enable frame writing for android, once jpeg frame writer | 
| - // is implemented. | 
| -#if !defined(WEBRTC_ANDROID) | 
| + // LibJpeg is not available on iOS. | 
| +#if !defined(WEBRTC_IOS) | 
| if (worst_frame_) { | 
| 
 
pbos-webrtc
2017/07/26 18:48:03
Put a comment here saying why we try to save the w
 
ilnik
2017/08/17 11:35:07
Done.
 
 | 
| - test::Y4mFrameWriterImpl frame_writer(test_label_ + ".y4m", | 
| - worst_frame_->frame.width(), | 
| - worst_frame_->frame.height(), 1); | 
| - bool res = frame_writer.Init(); | 
| - RTC_DCHECK(res); | 
| - size_t length = | 
| - CalcBufferSize(VideoType::kI420, worst_frame_->frame.width(), | 
| - worst_frame_->frame.height()); | 
| - rtc::Buffer extracted_buffer(length); | 
| - size_t extracted_length = | 
| - ExtractBuffer(worst_frame_->frame.video_frame_buffer()->ToI420(), | 
| - length, extracted_buffer.data()); | 
| - RTC_DCHECK_EQ(extracted_length, frame_writer.FrameLength()); | 
| - res = frame_writer.WriteFrame(extracted_buffer.data()); | 
| + std::string output_dir; | 
| + bool res = test::GetTestOutputDir(&output_dir); | 
| + if (!res) { | 
| + output_dir = ""; | 
| 
 
pbos-webrtc
2017/07/26 18:48:03
if (!test::GetTestOutputDir(&output_dir)) {
}
No
 
ilnik
2017/08/17 11:35:07
Done.
 
 | 
| + } | 
| + std::string output_path = | 
| + rtc::Pathname(output_dir, test_label_ + ".jpg").pathname(); | 
| + fprintf(stderr, "Saving worst frame to %s\n", output_path.c_str()); | 
| + test::JpegFrameWriter frame_writer(output_path); | 
| + res = frame_writer.WriteFrame(worst_frame_->frame, 100 /*quality*/); | 
| RTC_DCHECK(res); | 
| 
 
pbos-webrtc
2017/07/26 18:48:03
RTC_CHECK(frame_writer.WriteFrame(...));
And remo
 
ilnik
2017/08/17 11:35:07
Done.
 
 | 
| - frame_writer.Close(); | 
| } | 
| #endif |