4242#include " rclcpp/subscription.hpp"
4343#include " sensor_msgs/msg/compressed_image.hpp"
4444
45- #include " web_video_server/base_image_streamer.hpp"
4645#include " web_video_server/multipart_stream.hpp"
46+ #include " web_video_server/streamer.hpp"
4747
48- namespace web_video_server_streamers
48+ namespace web_video_server
49+ {
50+ namespace streamers
4951{
5052
51- class RosCompressedStreamer : public web_video_server ::BaseImageStreamer
53+ class RosCompressedStreamer : public StreamerInterface
5254{
5355public:
5456 RosCompressedStreamer (
@@ -66,26 +68,26 @@ class RosCompressedStreamer : public web_video_server::BaseImageStreamer
6668
6769private:
6870 void imageCallback (const sensor_msgs::msg::CompressedImage::ConstSharedPtr msg);
69- web_video_server:: MultipartStream stream_;
71+ MultipartStream stream_;
7072 rclcpp::Subscription<sensor_msgs::msg::CompressedImage>::SharedPtr image_sub_;
7173 std::chrono::steady_clock::time_point last_frame_;
7274 sensor_msgs::msg::CompressedImage::ConstSharedPtr last_msg;
7375 std::mutex send_mutex_;
7476 std::string qos_profile_name_;
7577};
7678
77- class RosCompressedStreamerFactory : public web_video_server ::BaseImageStreamerFactory
79+ class RosCompressedStreamerFactory : public StreamerFactoryInterface
7880{
7981public:
8082 std::string get_type () {return " ros_compressed" ;}
81- std::shared_ptr<web_video_server::BaseImageStreamer > create_streamer (
83+ std::shared_ptr<StreamerInterface > create_streamer (
8284 const async_web_server_cpp::HttpRequest & request,
8385 async_web_server_cpp::HttpConnectionPtr connection,
8486 rclcpp::Node::SharedPtr node);
8587 std::vector<std::string> get_available_topics (rclcpp::Node::SharedPtr node);
8688};
8789
88- class RosCompressedSnapshotStreamer : public web_video_server ::BaseImageStreamer
90+ class RosCompressedSnapshotStreamer : public StreamerInterface
8991{
9092public:
9193 RosCompressedSnapshotStreamer (
@@ -108,15 +110,16 @@ class RosCompressedSnapshotStreamer : public web_video_server::BaseImageStreamer
108110 std::string qos_profile_name_;
109111};
110112
111- class RosCompressedSnapshotStreamerFactory : public web_video_server ::BaseSnapshotStreamerFactory
113+ class RosCompressedSnapshotStreamerFactory : public SnapshotStreamerFactoryInterface
112114{
113115public:
114116 std::string get_type () {return " ros_compressed" ;}
115- std::shared_ptr<web_video_server::BaseImageStreamer > create_streamer (
117+ std::shared_ptr<StreamerInterface > create_streamer (
116118 const async_web_server_cpp::HttpRequest & request,
117119 async_web_server_cpp::HttpConnectionPtr connection,
118120 rclcpp::Node::SharedPtr node);
119121 std::vector<std::string> get_available_topics (rclcpp::Node::SharedPtr node);
120122};
121123
122- } // namespace web_video_server_streamers
124+ } // namespace streamers
125+ } // namespace web_video_server
0 commit comments