Class StreamClient
Defined in File stream_client.h
Inheritance Relationships
Base Type
public std::enable_shared_from_this< StreamClient >
Class Documentation
-
class StreamClient : public std::enable_shared_from_this<StreamClient>
Public Types
-
using SubsessionStartedHandler = std::function<void(VideoCodec codec, MediaSubsession *subsession)>
-
using SubsessionFinishedHandler = std::function<void(MediaSubsession*)>
-
using SessionFailedHandler = std::function<void(int code, const std::string &message)>
-
using SessionReadyHandler = std::function<void()>
-
using SessionStartedHandler = std::function<void()>
-
using SessionFinishedHandler = std::function<void()>
-
using SessionTimeoutHandler = std::function<void()>
-
using ReceiveStreamDataHandler = std::function<void(VideoCodec codec, MediaSubsession *subsession, const FrameDataPtr&)>
Public Functions
-
~StreamClient()
-
StreamClient(const StreamClient&) = delete
-
StreamClient(StreamClient&&) = delete
-
StreamClient &operator=(const StreamClient&) = delete
-
StreamClient &operator=(StreamClient&&) = delete
-
VideoCodec codec() const noexcept
-
std::string url() const noexcept
-
std::string topicName() const noexcept
-
const rclcpp::Logger &logger() const noexcept
-
void connect()
-
void disconnect()
-
void setSessionTimeout(const std::chrono::milliseconds &timeout) noexcept
-
void setSubsessionStartedHandler(SubsessionStartedHandler handler) noexcept
-
void setSubsessionFinishedHandler(SubsessionFinishedHandler handler) noexcept
-
void setSessionFailedHandler(SessionFailedHandler handler) noexcept
-
void setSessionReadyHandler(SessionReadyHandler handler) noexcept
-
void setSessionStartedHandler(SessionStartedHandler handler) noexcept
-
void setSessionFinishedHandler(SessionFinishedHandler handler) noexcept
-
void setSessionTimeoutHandler(SessionTimeoutHandler handler) noexcept
-
void setReceiveStreamDataHandler(ReceiveStreamDataHandler handler) noexcept
Public Static Functions
-
static std::shared_ptr<StreamClient> create(const std::string &topic_name, const std::string &url, const rclcpp::Logger &logger = rclcpp::get_logger("StreamClient")) noexcept
Protected Functions
-
void subsessionStarted(VideoCodec codec, MediaSubsession *subsession)
-
void subsessionFinished(MediaSubsession *subsession)
-
void sessionFailed(int code, const std::string &message)
-
void sessionReady()
-
void sessionStarted()
-
void sessionFinished()
-
void sessionTimeout()
-
void receiveStreamData(VideoCodec codec, MediaSubsession *subsession, const FrameDataPtr &data)
-
using SubsessionStartedHandler = std::function<void(VideoCodec codec, MediaSubsession *subsession)>