Class VideoSink

  • All Implemented Interfaces:
    AutoCloseable
    Direct Known Subclasses:
    CvSink, 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.
    • Field Detail

      • m_handle

        protected int m_handle
    • Constructor Detail

      • VideoSink

        protected VideoSink​(int handle)
    • Method Detail

      • getKindFromInt

        public static VideoSink.Kind getKindFromInt​(int kind)
        Convert from the numerical representation of kind to an enum type.
        Parameters:
        kind - The numerical representation of kind
        Returns:
        The kind
      • isValid

        public boolean isValid()
      • getHandle

        public int getHandle()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getName

        public String getName()
        Get the name of the sink. The name is an arbitrary identifier provided when the sink is created, and should be unique.
      • getDescription

        public String getDescription()
        Get the sink description. This is sink-kind specific.
      • getProperty

        public VideoProperty getProperty​(String name)
        Get a property of the sink.
        Parameters:
        name - Property name
        Returns:
        Property (kind Property::kNone if no property with the given name exists)
      • enumerateProperties

        public VideoProperty[] enumerateProperties()
        Enumerate all properties of this sink.
      • setConfigJson

        public boolean setConfigJson​(String config)
        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

        public String getConfigJson()
        Get a JSON configuration string.
        Returns:
        JSON configuration string
      • setSource

        public void setSource​(VideoSource source)
        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

        public VideoSource getSource()
        Get the connected source.
        Returns:
        Connected source; nullptr if no source connected.
      • getSourceProperty

        public VideoProperty getSourceProperty​(String name)
        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

        public static VideoSink[] enumerateSinks()
        Enumerate all existing sinks.
        Returns:
        Vector of sinks.