Move over to ABSL logging and flags.
Removes gperftools too since that wants gflags.
Here come the fireworks.
Change-Id: I79cb7bcf60f1047fbfa28bfffc21a0fd692e4b1c
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/y2019/image_streamer/image_streamer.cc b/y2019/image_streamer/image_streamer.cc
index cbb4788..07acd6e 100644
--- a/y2019/image_streamer/image_streamer.cc
+++ b/y2019/image_streamer/image_streamer.cc
@@ -4,8 +4,9 @@
#include <fstream>
#include <string>
-#include "gflags/gflags.h"
+#include "absl/flags/flag.h"
+#include "aos/init.h"
#include "aos/logging/implementations.h"
#include "aos/logging/logging.h"
#include "aos/vision/blob/codec.h"
@@ -24,13 +25,13 @@
using ::aos::vision::Int32Codec;
using ::y2019::VisionControl;
-DEFINE_string(roborio_ip, "10.9.71.2", "RoboRIO IP Address");
-DEFINE_string(log, "",
- "If non-empty, log images to the specified prefix with the image "
- "index appended to the filename");
-DEFINE_bool(single_camera, true, "If true, only use video0");
-DEFINE_int32(camera0_exposure, 600, "Exposure for video0");
-DEFINE_int32(camera1_exposure, 600, "Exposure for video1");
+ABSL_FLAG(std::string, roborio_ip, "10.9.71.2", "RoboRIO IP Address");
+ABSL_FLAG(std::string, log, "",
+ "If non-empty, log images to the specified prefix with the image "
+ "index appended to the filename");
+ABSL_FLAG(bool, single_camera, true, "If true, only use video0");
+ABSL_FLAG(int32_t, camera0_exposure, 600, "Exposure for video0");
+ABSL_FLAG(int32_t, camera1_exposure, 600, "Exposure for video1");
aos::vision::DataRef mjpg_header =
"HTTP/1.0 200 OK\r\n"
@@ -252,7 +253,7 @@
tcp_server_(tcp_server),
frame_callback_(frame_callback) {
if (log) {
- log_.reset(new BlobLog(FLAGS_log.c_str(), ".dat"));
+ log_.reset(new BlobLog(absl::GetFlag(FLAGS_log).c_str(), ".dat"));
}
}
@@ -307,30 +308,31 @@
};
int main(int argc, char **argv) {
- gflags::ParseCommandLineFlags(&argc, &argv, false);
+ aos::InitGoogle(&argc, &argv);
+
TCPServer<MjpegDataSocket> tcp_server_(80);
aos::vision::CameraParams params0;
- params0.set_exposure(FLAGS_camera0_exposure);
+ params0.set_exposure(absl::GetFlag(FLAGS_camera0_exposure));
params0.set_brightness(-40);
params0.set_width(320);
// params0.set_fps(10);
params0.set_height(240);
aos::vision::CameraParams params1 = params0;
- params1.set_exposure(FLAGS_camera1_exposure);
+ params1.set_exposure(absl::GetFlag(FLAGS_camera1_exposure));
::y2019::VisionStatus vision_status;
AOS_LOG(INFO,
"The UDP socket should be on port 5001 to 10.9.71.2 for "
"the competition robot.\n");
AOS_LOG(INFO, "Starting UDP socket on port 5001 to %s\n",
- FLAGS_roborio_ip.c_str());
+ absl::GetFlag(FLAGS_roborio_ip).c_str());
::aos::events::ProtoTXUdpSocket<::y2019::VisionStatus> status_socket(
- FLAGS_roborio_ip.c_str(), 5001);
+ absl::GetFlag(FLAGS_roborio_ip).c_str(), 5001);
::std::unique_ptr<CameraStream> camera1;
::std::unique_ptr<CameraStream> camera0(new CameraStream(
- params0, "/dev/video0", &tcp_server_, !FLAGS_log.empty(),
+ params0, "/dev/video0", &tcp_server_, !absl::GetFlag(FLAGS_log).empty(),
[&camera0, &status_socket, &vision_status]() {
vision_status.set_low_frame_count(vision_status.low_frame_count() + 1);
AOS_LOG(INFO, "Got a frame cam0\n");
@@ -338,7 +340,7 @@
status_socket.Send(vision_status);
}
}));
- if (!FLAGS_single_camera) {
+ if (!absl::GetFlag(FLAGS_single_camera)) {
camera1.reset(new CameraStream(
params1, "/dev/video1", &tcp_server_, false,
[&camera1, &status_socket, &vision_status]() {