00001 #ifndef H264_STREAMERS_H_ 00002 #define H264_STREAMERS_H_ 00003 00004 #include <image_transport/image_transport.h> 00005 #include "web_video_server/libav_streamer.h" 00006 #include "async_web_server_cpp/http_request.hpp" 00007 #include "async_web_server_cpp/http_connection.hpp" 00008 00009 namespace web_video_server 00010 { 00011 00012 class H264Streamer : public LibavStreamer 00013 { 00014 public: 00015 H264Streamer(const async_web_server_cpp::HttpRequest& request, async_web_server_cpp::HttpConnectionPtr connection, 00016 ros::NodeHandle& nh); 00017 ~H264Streamer(); 00018 protected: 00019 virtual void initializeEncoder(); 00020 std::string preset_; 00021 }; 00022 00023 class H264StreamerType : public LibavStreamerType 00024 { 00025 public: 00026 H264StreamerType(); 00027 virtual boost::shared_ptr<ImageStreamer> create_streamer(const async_web_server_cpp::HttpRequest& request, 00028 async_web_server_cpp::HttpConnectionPtr connection, 00029 ros::NodeHandle& nh); 00030 }; 00031 00032 } 00033 00034 #endif 00035