Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(346)

Side by Side Diff: webrtc/test/testsupport/test_output.cc

Issue 2990563002: Add Jpeg frame writer for test support. (Closed)
Patch Set: Improved jpeg quality Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/test/testsupport/test_output.h" 11 #include "webrtc/test/testsupport/test_output.h"
12 12
13 #include <string.h> 13 #include <string.h>
14 14
15 #include "gflags/gflags.h" 15 #include "webrtc/rtc_base/flags.h"
16 #include "webrtc/rtc_base/file.h" 16 #include "webrtc/rtc_base/file.h"
17 #include "webrtc/rtc_base/logging.h" 17 #include "webrtc/rtc_base/logging.h"
18 #include "webrtc/rtc_base/pathutils.h" 18 #include "webrtc/rtc_base/pathutils.h"
19 #include "webrtc/test/testsupport/fileutils.h" 19 #include "webrtc/test/testsupport/fileutils.h"
20 20
21 // Have to be strdup because |DEFINE_string| macro defines |char*|.
21 DEFINE_string(test_output_dir, 22 DEFINE_string(test_output_dir,
22 webrtc::test::OutputPath(), 23 strdup(webrtc::test::OutputPath().c_str()),
pbos-webrtc 2017/07/26 18:48:03 I think this should be a const std::string kDefaul
ilnik 2017/08/17 11:35:07 Done.
23 "The output folder where test output should be saved."); 24 "The output folder where test output should be saved.");
24 25
25 namespace webrtc { 26 namespace webrtc {
26 namespace test { 27 namespace test {
27 28
28 bool GetTestOutputDir(std::string* out_dir) { 29 bool GetTestOutputDir(std::string* out_dir) {
29 if (FLAGS_test_output_dir.empty()) { 30 if (FLAG_test_output_dir == nullptr || strlen(FLAG_test_output_dir) == 0) {
pbos-webrtc 2017/07/26 18:48:03 Can this be if (std::string(FLAG_test_output_dir)
ilnik 2017/08/17 11:35:07 Yes, it can't be nullptr ever. Still, I think strl
30 LOG(LS_WARNING) << "No test_out_dir defined."; 31 LOG(LS_WARNING) << "No test_out_dir defined.";
31 return false; 32 return false;
32 } 33 }
33 *out_dir = FLAGS_test_output_dir; 34 *out_dir = FLAG_test_output_dir;
34 return true; 35 return true;
35 } 36 }
36 37
37 bool WriteToTestOutput(const char* filename, 38 bool WriteToTestOutput(const char* filename,
38 const uint8_t* buffer, 39 const uint8_t* buffer,
39 size_t length) { 40 size_t length) {
40 if (FLAGS_test_output_dir.empty()) { 41 if (FLAG_test_output_dir == nullptr || strlen(FLAG_test_output_dir) == 0) {
pbos-webrtc 2017/07/26 18:48:03 ditto
ilnik 2017/08/17 11:35:07 Done.
41 LOG(LS_WARNING) << "No test_out_dir defined."; 42 LOG(LS_WARNING) << "No test_out_dir defined.";
42 return false; 43 return false;
43 } 44 }
44 45
45 if (filename == nullptr || strlen(filename) == 0) { 46 if (filename == nullptr || strlen(filename) == 0) {
46 LOG(LS_WARNING) << "filename must be provided."; 47 LOG(LS_WARNING) << "filename must be provided.";
47 return false; 48 return false;
48 } 49 }
49 50
50 rtc::File output = 51 rtc::File output =
51 rtc::File::Create(rtc::Pathname(FLAGS_test_output_dir, filename)); 52 rtc::File::Create(rtc::Pathname(FLAG_test_output_dir, filename));
52 53
53 return output.IsOpen() && output.Write(buffer, length) == length; 54 return output.IsOpen() && output.Write(buffer, length) == length;
54 } 55 }
55 56
56 bool WriteToTestOutput(const char* filename, const std::string& content) { 57 bool WriteToTestOutput(const char* filename, const std::string& content) {
57 return WriteToTestOutput(filename, 58 return WriteToTestOutput(filename,
58 reinterpret_cast<const uint8_t*>(content.c_str()), 59 reinterpret_cast<const uint8_t*>(content.c_str()),
59 content.length()); 60 content.length());
60 } 61 }
61 62
62 } // namespace test 63 } // namespace test
63 } // namespace webrtc 64 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698