Send downsized images for streaming

Added another v4l2 reader using mainpath to send 640x480 images.
Also had to make some config queue size changes to allow us to add
another image channel.

Signed-off-by: milind-u <milind.upadhyay@gmail.com>
Change-Id: I5714ea774773e1c37ff2647cb75b3dda07f896fe
diff --git a/frc971/vision/v4l2_reader.h b/frc971/vision/v4l2_reader.h
index 22e4367..8764024 100644
--- a/frc971/vision/v4l2_reader.h
+++ b/frc971/vision/v4l2_reader.h
@@ -22,7 +22,9 @@
 class V4L2ReaderBase {
  public:
   // device_name is the name of the device file (like "/dev/video0").
-  V4L2ReaderBase(aos::EventLoop *event_loop, const std::string &device_name);
+  // image_channel is the channel to send images on
+  V4L2ReaderBase(aos::EventLoop *event_loop, std::string_view device_name,
+                 std::string_view image_channel);
 
   V4L2ReaderBase(const V4L2ReaderBase &) = delete;
   V4L2ReaderBase &operator=(const V4L2ReaderBase &) = delete;
@@ -114,6 +116,8 @@
     flatbuffers::Offset<CameraImage> message_offset;
 
     uint8_t *data_pointer = nullptr;
+
+    std::string_view image_channel_;
   };
 
   struct BufferInfo {
@@ -149,12 +153,15 @@
 
   aos::EventLoop *event_loop_;
   aos::Ftrace ftrace_;
+
+  std::string_view image_channel_;
 };
 
 // Generic V4L2 reader for pi's and older.
 class V4L2Reader : public V4L2ReaderBase {
  public:
-  V4L2Reader(aos::EventLoop *event_loop, const std::string &device_name);
+  V4L2Reader(aos::EventLoop *event_loop, std::string_view device_name,
+             std::string_view image_channel = "/camera");
 };
 
 // Rockpi specific v4l2 reader.  This assumes that the media device has been
@@ -162,10 +169,11 @@
 class RockchipV4L2Reader : public V4L2ReaderBase {
  public:
   RockchipV4L2Reader(aos::EventLoop *event_loop, aos::internal::EPoll *epoll,
-                     const std::string &device_name,
-                     const std::string &image_sensor_subdev);
+                     std::string_view device_name,
+                     std::string_view image_sensor_subdev,
+                     std::string_view image_channel = "/camera");
 
-  ~RockchipV4L2Reader();
+  virtual ~RockchipV4L2Reader();
 
   void SetExposure(size_t duration) override;