Mirko Bonadei 5ccdc1331f Prefix flag macros with WEBRTC_.
Macros defined in rtc_base/flags.h are intended to be used to define
flags in WebRTC's binaries (e.g. tests).

They are currently not prefixed and this could cause problems with
downstream clients since these names are quite common.

This CL adds the 'WEBRTC_' prefix to them.

Generated with:

for x in DECLARE DEFINE; do
  for y in bool int float string FLAG; do
    git grep -l "\b$x\_$y\b" | \
    xargs sed -i "s/\b$x\_$y\b/WEBRTC_$x\_$y/g"
  done
done
git cl format

Bug: webrtc:9884
Change-Id: I7b524762b6a3e5aa5b2fc2395edd3e1a0fe72591
Reviewed-on: https://webrtc-review.googlesource.com/c/106682
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25270}
2018-10-19 10:55:20 +00:00

91 lines
3.1 KiB
C++

/*
* Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include <iostream>
#include "absl/memory/memory.h"
#include "modules/audio_processing/test/conversational_speech/config.h"
#include "modules/audio_processing/test/conversational_speech/multiend_call.h"
#include "modules/audio_processing/test/conversational_speech/simulator.h"
#include "modules/audio_processing/test/conversational_speech/timing.h"
#include "modules/audio_processing/test/conversational_speech/wavreader_factory.h"
#include "rtc_base/flags.h"
#include "test/testsupport/fileutils.h"
namespace webrtc {
namespace test {
namespace {
const char kUsageDescription[] =
"Usage: conversational_speech_generator\n"
" -i <path/to/source/audiotracks>\n"
" -t <path/to/timing_file.txt>\n"
" -o <output/path>\n"
"\n\n"
"Command-line tool to generate multiple-end audio tracks to simulate "
"conversational speech with two or more participants.\n";
WEBRTC_DEFINE_string(i, "", "Directory containing the speech turn wav files");
WEBRTC_DEFINE_string(t, "", "Path to the timing text file");
WEBRTC_DEFINE_string(o, "", "Output wav files destination path");
WEBRTC_DEFINE_bool(help, false, "Prints this message");
} // namespace
int main(int argc, char* argv[]) {
if (rtc::FlagList::SetFlagsFromCommandLine(&argc, argv, true) || FLAG_help ||
argc != 1) {
printf("%s", kUsageDescription);
if (FLAG_help) {
rtc::FlagList::Print(nullptr, false);
return 0;
}
return 1;
}
RTC_CHECK(DirExists(FLAG_i));
RTC_CHECK(FileExists(FLAG_t));
RTC_CHECK(DirExists(FLAG_o));
conversational_speech::Config config(FLAG_i, FLAG_t, FLAG_o);
// Load timing.
std::vector<conversational_speech::Turn> timing =
conversational_speech::LoadTiming(config.timing_filepath());
// Parse timing and audio tracks.
auto wavreader_factory =
absl::make_unique<conversational_speech::WavReaderFactory>();
conversational_speech::MultiEndCall multiend_call(
timing, config.audiotracks_path(), std::move(wavreader_factory));
// Generate output audio tracks.
auto generated_audiotrack_pairs =
conversational_speech::Simulate(multiend_call, config.output_path());
// Show paths to created audio tracks.
std::cout << "Output files:" << std::endl;
for (const auto& output_paths_entry : *generated_audiotrack_pairs) {
std::cout << " speaker: " << output_paths_entry.first << std::endl;
std::cout << " near end: " << output_paths_entry.second.near_end
<< std::endl;
std::cout << " far end: " << output_paths_entry.second.far_end
<< std::endl;
}
return 0;
}
} // namespace test
} // namespace webrtc
int main(int argc, char* argv[]) {
return webrtc::test::main(argc, argv);
}