Switch rnn_vad_tool to ABSL_FLAG.

Tested:
$ ./out/Debug/rnn_vad_tool --i ./data/voice_engine/audio_tiny8.wav \
  --o /tmp/o.prob --f /tmp/o.feat
(rnn_vad_tool.cc:47): Input sample rate: 8000
(rnn_vad_tool.cc:105): VAD probabilities written to /tmp/o.prob
(rnn_vad_tool.cc:108): features written to /tmp/o.feat

Bug: webrtc:10616
Change-Id: Ied33d9425bc1621d084bb04d9acf12ea9602a88b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144048
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28445}
diff --git a/modules/audio_processing/agc2/rnn_vad/BUILD.gn b/modules/audio_processing/agc2/rnn_vad/BUILD.gn
index ff4be5c..670bbb6 100644
--- a/modules/audio_processing/agc2/rnn_vad/BUILD.gn
+++ b/modules/audio_processing/agc2/rnn_vad/BUILD.gn
@@ -125,6 +125,8 @@
       "../../../../common_audio",
       "../../../../rtc_base:rtc_base_approved",
       "../../../../test:test_support",
+      "//third_party/abseil-cpp/absl/flags:flag",
+      "//third_party/abseil-cpp/absl/flags:parse",
     ]
   }
 }
diff --git a/modules/audio_processing/agc2/rnn_vad/rnn_vad_tool.cc b/modules/audio_processing/agc2/rnn_vad/rnn_vad_tool.cc
index 8d61bd8..c5293be 100644
--- a/modules/audio_processing/agc2/rnn_vad/rnn_vad_tool.cc
+++ b/modules/audio_processing/agc2/rnn_vad/rnn_vad_tool.cc
@@ -12,48 +12,30 @@
 #include <string>
 #include <vector>
 
+#include "absl/flags/flag.h"
+#include "absl/flags/parse.h"
 #include "common_audio/resampler/push_sinc_resampler.h"
 #include "common_audio/wav_file.h"
 #include "modules/audio_processing/agc2/rnn_vad/common.h"
 #include "modules/audio_processing/agc2/rnn_vad/features_extraction.h"
 #include "modules/audio_processing/agc2/rnn_vad/rnn.h"
-#include "rtc_base/flags.h"
 #include "rtc_base/logging.h"
 
+ABSL_FLAG(std::string, i, "", "Path to the input wav file");
+ABSL_FLAG(std::string, f, "", "Path to the output features file");
+ABSL_FLAG(std::string, o, "", "Path to the output VAD probabilities file");
+
 namespace webrtc {
 namespace rnn_vad {
 namespace test {
-namespace {
-
-WEBRTC_DEFINE_string(i, "", "Path to the input wav file");
-std::string InputWavFile() {
-  return static_cast<std::string>(FLAG_i);
-}
-
-WEBRTC_DEFINE_string(f, "", "Path to the output features file");
-std::string OutputFeaturesFile() {
-  return static_cast<std::string>(FLAG_f);
-}
-
-WEBRTC_DEFINE_string(o, "", "Path to the output VAD probabilities file");
-std::string OutputVadProbsFile() {
-  return static_cast<std::string>(FLAG_o);
-}
-
-WEBRTC_DEFINE_bool(help, false, "Prints this message");
-
-}  // namespace
 
 int main(int argc, char* argv[]) {
+  absl::ParseCommandLine(argc, argv);
   rtc::LogMessage::LogToDebug(rtc::LS_INFO);
-  rtc::FlagList::SetFlagsFromCommandLine(&argc, argv, true);
-  if (FLAG_help) {
-    rtc::FlagList::Print(nullptr, false);
-    return 0;
-  }
 
   // Open wav input file and check properties.
-  WavReader wav_reader(InputWavFile());
+  const std::string input_wav_file = absl::GetFlag(FLAGS_i);
+  WavReader wav_reader(input_wav_file);
   if (wav_reader.num_channels() != 1) {
     RTC_LOG(LS_ERROR) << "Only mono wav files are supported";
     return 1;
@@ -65,9 +47,10 @@
   RTC_LOG(LS_INFO) << "Input sample rate: " << wav_reader.sample_rate();
 
   // Init output files.
-  FILE* vad_probs_file = fopen(OutputVadProbsFile().c_str(), "wb");
+  const std::string output_vad_probs_file = absl::GetFlag(FLAGS_o);
+  FILE* vad_probs_file = fopen(output_vad_probs_file.c_str(), "wb");
   FILE* features_file = nullptr;
-  const std::string output_feature_file = OutputFeaturesFile();
+  const std::string output_feature_file = absl::GetFlag(FLAGS_f);
   if (!output_feature_file.empty()) {
     features_file = fopen(output_feature_file.c_str(), "wb");
   }
@@ -119,10 +102,10 @@
 
   // Close output file(s).
   fclose(vad_probs_file);
-  RTC_LOG(LS_INFO) << "VAD probabilities written to " << FLAG_o;
+  RTC_LOG(LS_INFO) << "VAD probabilities written to " << output_vad_probs_file;
   if (features_file) {
     fclose(features_file);
-    RTC_LOG(LS_INFO) << "features written to " << FLAG_f;
+    RTC_LOG(LS_INFO) << "features written to " << output_feature_file;
   }
 
   return 0;