Package edu.wpi.first.cscore
Class VideoSink
java.lang.Object
edu.wpi.first.cscore.VideoSink
- All Implemented Interfaces:
AutoCloseable
- Direct Known Subclasses:
ImageSink
,MjpegServer
public class VideoSink extends Object implements AutoCloseable
A source for video that provides 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
Nested Classes Modifier and Type Class Description static class
VideoSink.Kind
-
Field Summary
Fields Modifier and Type Field Description protected int
m_handle
-
Constructor Summary
Constructors Modifier Constructor Description protected
VideoSink(int handle)
-
Method Summary
Modifier and Type Method Description void
close()
VideoProperty[]
enumerateProperties()
Enumerate all properties of this sink.static VideoSink[]
enumerateSinks()
Enumerate all existing sinks.boolean
equals(Object other)
String
getConfigJson()
Get a JSON configuration string.String
getDescription()
Get the sink description.int
getHandle()
VideoSink.Kind
getKind()
Get the kind of the sink.static VideoSink.Kind
getKindFromInt(int kind)
Convert from the numerical representation of kind to an enum type.String
getName()
Get the name of the sink.VideoProperty
getProperty(String name)
Get a property of the sink.VideoSource
getSource()
Get the connected source.VideoProperty
getSourceProperty(String name)
Get a property of the associated source.int
hashCode()
boolean
isValid()
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
-
Constructor Details
-
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
-
getHandle
-
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.
-