WPILibC++ 2025.0.0-alpha-1-14-g3b6f38d
cs::RawSink Class Reference

A sink for user code to accept video frames as raw bytes. More...

#include <cscore_raw.h>

Inheritance diagram for cs::RawSink:
cs::ImageSink cs::VideoSink

Public Member Functions

 RawSink ()=default
 
 RawSink (std::string_view name)
 Create a sink for accepting raw images. More...
 
 RawSink (std::string_view name, std::function< void(uint64_t time)> processFrame)
 Create a sink for accepting raws images in a separate thread. More...
 
- Public Member Functions inherited from cs::ImageSink
void SetDescription (std::string_view description)
 Set sink description. More...
 
std::string GetError () const
 Get error string. More...
 
void SetEnabled (bool enabled)
 Enable or disable getting new frames. More...
 
- Public Member Functions inherited from cs::VideoSink
 VideoSink () noexcept=default
 
 VideoSink (const VideoSink &sink)
 
 VideoSink (VideoSink &&sink) noexcept
 
VideoSinkoperator= (VideoSink other) noexcept
 
 ~VideoSink ()
 
 operator bool () const
 Returns true if the VideoSink is valid. More...
 
int GetHandle () const
 Returns the VideoSink handle. More...
 
bool operator== (const VideoSink &other) const
 
Kind GetKind () const
 Get the kind of the sink. More...
 
std::string GetName () const
 Get the name of the sink. More...
 
std::string GetDescription () const
 Get the sink description. More...
 
VideoProperty GetProperty (std::string_view name)
 Get a property of the sink. More...
 
std::vector< VideoPropertyEnumerateProperties () const
 Enumerate all properties of this sink. More...
 
bool SetConfigJson (std::string_view config)
 Set properties from a JSON configuration string. More...
 
bool SetConfigJson (const wpi::json &config)
 Set properties from a JSON configuration object. More...
 
std::string GetConfigJson () const
 Get a JSON configuration string. More...
 
wpi::json GetConfigJsonObject () const
 Get a JSON configuration object. More...
 
void SetSource (VideoSource source)
 Configure which source should provide frames to this sink. More...
 
VideoSource GetSource () const
 Get the connected source. More...
 
VideoProperty GetSourceProperty (std::string_view name)
 Get a property of the associated source. More...
 
CS_Status GetLastStatus () const
 

Protected Member Functions

uint64_t GrabFrame (wpi::RawFrame &image, double timeout=0.225) const
 Wait for the next frame and get the image. More...
 
uint64_t GrabFrameNoTimeout (wpi::RawFrame &image) const
 Wait for the next frame and get the image. More...
 
- Protected Member Functions inherited from cs::ImageSink
 ImageSink ()=default
 
- Protected Member Functions inherited from cs::VideoSink
 VideoSink (CS_Sink handle)
 

Additional Inherited Members

- Public Types inherited from cs::VideoSink
enum  Kind { kUnknown = CS_SINK_UNKNOWN , kMjpeg = CS_SINK_MJPEG , kCv = CS_SINK_CV , kRaw = CS_SINK_RAW }
 
- Static Public Member Functions inherited from cs::VideoSink
static std::vector< VideoSinkEnumerateSinks ()
 Enumerate all existing sinks. More...
 
- Protected Attributes inherited from cs::VideoSink
CS_Status m_status = 0
 
CS_Sink m_handle {0}
 

Detailed Description

A sink for user code to accept video frames as raw bytes.

This is a complex API, most cases should use CvSource.


The documentation for this class was generated from the following file: