4#include "rtpstreaming.hpp"
5#include "../global.hpp"
7#include "../utilities/system_info.hpp"
9#include "stream_config.hpp"
18 inline HandleGuard<RTPStreaming::Stream>::HandleGuard(
void* handle) noexcept
19 : HandleGuard<RTPStreaming::Stream>(handle, [](
void* handle) { CVB_CALL_CAPI(ReleaseObject(handle)); })
23 namespace RTPStreaming
47 return Internal::DoResCallObjectOut<Stream>([&](
void*& handle)
49 return CVB_CALL_CAPI(CVRTPCreateSenderStream(streamConfig.Handle(), handle));
58 return std::make_unique<Stream>(std::move(guard));
61 explicit Stream(HandleGuard<Stream>&& guard) noexcept
62 : handle_(std::move(guard))
67 Stream(
const Stream& other) =
delete;
68 Stream& operator=(
const Stream& other) =
delete;
69 Stream(Stream&& other) =
delete;
70 Stream& operator=(Stream&& other) =
delete;
74 void* Handle() const noexcept
76 return handle_.Handle();
91 CVB_CALL_CAPI_CHECKED(CVRTPStreamPushImage(Handle(),image.
Handle()));
96 HandleGuard<Stream> handle_;
Represents one acquisition stream of a device.
Definition: decl_stream.hpp:38
The Common Vision Blox image.
Definition: decl_image.hpp:45
void * Handle() const noexcept
Classic API image handle.
Definition: decl_image.hpp:226
A RTP stream to send images.
Definition: stream.hpp:32
void PushImage(const Image &image)
Push an image over the network.
Definition: stream.hpp:89
static std::unique_ptr< Stream > Create(const StreamConfig &streamConfig)
Creates a stream with a given configuration.
Definition: stream.hpp:45
Root namespace for the Image Manager interface.
Definition: c_barcode.h:15