Package edu.wpi.first.cscore
Class VideoSink
java.lang.Object
edu.wpi.first.cscore.VideoSink
- All Implemented Interfaces:
AutoCloseable
- Direct Known Subclasses:
ImageSink
,MjpegServer
A sink for video that accepts a sequence of frames. Each frame may consist of multiple images
(e.g. from a stereo or depth camera); these are called channels.
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Enumerate all properties of this sink.static VideoSink[]
Enumerate all existing sinks.boolean
Get a JSON configuration string.Get the sink description.int
Returns the video sink handle.getKind()
Get the kind of the sink.static VideoSink.Kind
getKindFromInt
(int kind) Convert from the numerical representation of kind to an enum type.getName()
Get the name of the sink.getProperty
(String name) Get a property of the sink.Get the connected source.getSourceProperty
(String name) Get a property of the associated source.int
hashCode()
boolean
isValid()
Returns true if the VideoSink is valid.boolean
setConfigJson
(String config) Set properties from a JSON configuration string.void
setSource
(VideoSource source) Configure which source should provide frames to this sink.
-
Field Details
-
m_handle
The VideoSink handle.
-
-
Constructor Details
-
VideoSink
Constructs a VideoSink.- Parameters:
handle
- The video sink handle.
-
-
Method Details
-
getKindFromInt
Convert from the numerical representation of kind to an enum type.- Parameters:
kind
- The numerical representation of kind- Returns:
- The kind
-
close
- Specified by:
close
in interfaceAutoCloseable
-
isValid
Returns true if the VideoSink is valid.- Returns:
- True if the VideoSink is valid.
-
getHandle
Returns the video sink handle.- Returns:
- The video sink handle.
-
equals
-
hashCode
-
getKind
Get the kind of the sink.- Returns:
- The kind of the sink.
-
getName
Get the name of the sink. The name is an arbitrary identifier provided when the sink is created, and should be unique.- Returns:
- The name of the sink.
-
getDescription
Get the sink description. This is sink-kind specific.- Returns:
- The sink description.
-
getProperty
Get a property of the sink.- Parameters:
name
- Property name- Returns:
- Property (kind Property::kNone if no property with the given name exists)
-
enumerateProperties
Enumerate all properties of this sink.- Returns:
- List of properties.
-
setConfigJson
Set properties from a JSON configuration string.The format of the JSON input is:
{ "properties": [ { "name": property name "value": property value } ] }
- Parameters:
config
- configuration- Returns:
- True if set successfully
-
getConfigJson
Get a JSON configuration string.- Returns:
- JSON configuration string
-
setSource
Configure which source should provide frames to this sink. Each sink can accept frames from only a single source, but a single source can provide frames to multiple clients.- Parameters:
source
- Source
-
getSource
Get the connected source.- Returns:
- Connected source; nullptr if no source connected.
-
getSourceProperty
Get a property of the associated source.- Parameters:
name
- Property name- Returns:
- Property (kind Property::kNone if no property with the given name exists or no source connected)
-
enumerateSinks
Enumerate all existing sinks.- Returns:
- Vector of sinks.
-