Class CameraServerJNI

java.lang.Object
edu.wpi.first.cscore.CameraServerJNI

public class CameraServerJNI extends Object
CameraServer JNI.
  • Method Details

    • forceLoad

      public static void forceLoad() throws IOException
      Force load the library.
      Throws:
      IOException - if library load failed
    • getPropertyKind

      public static int getPropertyKind(int property)
      Returns property kind.
      Parameters:
      property - Property handle.
      Returns:
      Property kind.
    • getPropertyName

      public static String getPropertyName(int property)
      Returns property name.
      Parameters:
      property - Property handle.
      Returns:
      Property name.
    • getProperty

      public static int getProperty(int property)
      Returns property value.
      Parameters:
      property - Property handle.
      Returns:
      Property value.
    • setProperty

      public static void setProperty(int property, int value)
      Sets property value.
      Parameters:
      property - Property handle.
      value - Property value.
    • getPropertyMin

      public static int getPropertyMin(int property)
      Returns property minimum.
      Parameters:
      property - Property handle.
      Returns:
      Property minimum.
    • getPropertyMax

      public static int getPropertyMax(int property)
      Returns property maximum.
      Parameters:
      property - Property handle.
      Returns:
      Property maximum.
    • getPropertyStep

      public static int getPropertyStep(int property)
      Returns property step.
      Parameters:
      property - Property handle.
      Returns:
      Property step.
    • getPropertyDefault

      public static int getPropertyDefault(int property)
      Returns property default value.
      Parameters:
      property - Property handle.
      Returns:
      Property default value.
    • getStringProperty

      public static String getStringProperty(int property)
      Returns property value as a string.
      Parameters:
      property - Property handle.
      Returns:
      Property value as a string.
    • setStringProperty

      public static void setStringProperty(int property, String value)
      Sets property value to a string.
      Parameters:
      property - Property handle.
      value - Property value string.
    • getEnumPropertyChoices

      public static String[] getEnumPropertyChoices(int property)
      Returns enum of possible property value strings.
      Parameters:
      property - Property handle.
      Returns:
      Enum of possible property value strings.
    • createUsbCameraDev

      public static int createUsbCameraDev(String name, int dev)
      Creates a new USB camera by device.
      Parameters:
      name - USB camera name.
      dev - USB camera device number.
      Returns:
      USB camera handle.
    • createUsbCameraPath

      public static int createUsbCameraPath(String name, String path)
      Creates a new USB camera by path.
      Parameters:
      name - USB camera name.
      path - USB camera path.
      Returns:
      USB camera handle.
    • createHttpCamera

      public static int createHttpCamera(String name, String url, int kind)
      Creates an HTTP camera.
      Parameters:
      name - HTTP camera name.
      url - HTTP camera stream URL.
      kind - HTTP camera kind.
      Returns:
      HTTP camera handle.
    • createHttpCameraMulti

      public static int createHttpCameraMulti(String name, String[] urls, int kind)
      Creates an HTTP camera from multiple URLs.
      Parameters:
      name - HTTP camera name.
      urls - HTTP camera stream URLs.
      kind - HTTP camera kind.
      Returns:
      HTTP camera handle.
    • createRawSource

      public static int createRawSource(String name, boolean isCv, int pixelFormat, int width, int height, int fps)
      Creates a raw source.
      Parameters:
      name - Source name.
      isCv - true for a Cv source.
      pixelFormat - Pixel format.
      width - Image width.
      height - Image height.
      fps - Source frames per second.
      Returns:
      Raw source handle.
    • getSourceKind

      public static int getSourceKind(int source)
      Returns source kind.
      Parameters:
      source - Source handle.
      Returns:
      Source kind.
    • getSourceName

      public static String getSourceName(int source)
      Returns source name.
      Parameters:
      source - Source handle.
      Returns:
      Source name.
    • getSourceDescription

      public static String getSourceDescription(int source)
      Returns source description.
      Parameters:
      source - Source handle.
      Returns:
      Source description.
    • getSourceLastFrameTime

      public static long getSourceLastFrameTime(int source)
      Returns source's last frame time.
      Parameters:
      source - Source handle.
      Returns:
      Source's last frame time.
    • setSourceConnectionStrategy

      public static void setSourceConnectionStrategy(int source, int strategy)
      Sets source connection strategy.
      Parameters:
      source - Source handle.
      strategy - Connection strategy.
    • isSourceConnected

      public static boolean isSourceConnected(int source)
      Returns true if source is connected.
      Parameters:
      source - Source handle.
      Returns:
      True if source is connected.
    • isSourceEnabled

      public static boolean isSourceEnabled(int source)
      Returns true if source is enabled.
      Parameters:
      source - Source handle.
      Returns:
      True if source is enabled.
    • getSourceProperty

      public static int getSourceProperty(int source, String name)
      Returns source property.
      Parameters:
      source - Source handle.
      name - Source property name.
      Returns:
      Source property.
    • enumerateSourceProperties

      public static int[] enumerateSourceProperties(int source)
      Returns list of source property handles.
      Parameters:
      source - Source handle.
      Returns:
      List of source property handles.
    • getSourceVideoMode

      public static VideoMode getSourceVideoMode(int source)
      Returns source video mode.
      Parameters:
      source - Source handle.
      Returns:
      Source video mode.
    • setSourceVideoMode

      public static boolean setSourceVideoMode(int source, int pixelFormat, int width, int height, int fps)
      Sets source video mode.
      Parameters:
      source - Source handle.
      pixelFormat - Pixel format.
      width - Image width.
      height - Image height.
      fps - Source frames per second.
      Returns:
      True if set succeeded.
    • setSourcePixelFormat

      public static boolean setSourcePixelFormat(int source, int pixelFormat)
      Sets source pixel format.
      Parameters:
      source - Source handle.
      pixelFormat - Source pixel format.
      Returns:
      True if set succeeded.
    • setSourceResolution

      public static boolean setSourceResolution(int source, int width, int height)
      Sets source resolution.
      Parameters:
      source - Source handle.
      width - Image width.
      height - Image height.
      Returns:
      True if set succeeded.
    • setSourceFPS

      public static boolean setSourceFPS(int source, int fps)
      Sets source FPS.
      Parameters:
      source - Source handle.
      fps - Source frames per second.
      Returns:
      True if set succeeded.
    • setSourceConfigJson

      public static boolean setSourceConfigJson(int source, String config)
      Sets source configuration JSON.
      Parameters:
      source - Source handle.
      config - Configuration JSON.
      Returns:
      True if set succeeded.
    • getSourceConfigJson

      public static String getSourceConfigJson(int source)
      Returns source configuration JSON.
      Parameters:
      source - Source handle.
      Returns:
      Source configuration JSON.
    • enumerateSourceVideoModes

      public static VideoMode[] enumerateSourceVideoModes(int source)
      Returns list of source's supported video modes.
      Parameters:
      source - Source handle.
      Returns:
      List of source's supported video modes.
    • enumerateSourceSinks

      public static int[] enumerateSourceSinks(int source)
      Returns list of source sinks.
      Parameters:
      source - Source handle.
      Returns:
      List of source sinks.
    • copySource

      public static int copySource(int source)
      Copies source.
      Parameters:
      source - Source handle.
      Returns:
      New source handle.
    • releaseSource

      public static void releaseSource(int source)
      Releases source.
      Parameters:
      source - Source handle.
    • setCameraBrightness

      public static void setCameraBrightness(int source, int brightness)
      Sets camera brightness.
      Parameters:
      source - Source handle.
      brightness - Brightness.
    • getCameraBrightness

      public static int getCameraBrightness(int source)
      Returns camera brightness.
      Parameters:
      source - Source handle.
      Returns:
      Camera brightness.
    • setCameraWhiteBalanceAuto

      public static void setCameraWhiteBalanceAuto(int source)
      Sets camera white balance to auto.
      Parameters:
      source - Source handle.
    • setCameraWhiteBalanceHoldCurrent

      public static void setCameraWhiteBalanceHoldCurrent(int source)
      Sets camera white balance to "hold current".
      Parameters:
      source - Source handle.
    • setCameraWhiteBalanceManual

      public static void setCameraWhiteBalanceManual(int source, int value)
      Sets camera white balance to the given value.
      Parameters:
      source - Source handle.
      value - White balance.
    • setCameraExposureAuto

      public static void setCameraExposureAuto(int source)
      Sets camera exposure to auto.
      Parameters:
      source - Source handle.
    • setCameraExposureHoldCurrent

      public static void setCameraExposureHoldCurrent(int source)
      Sets camera exposure to "hold current".
      Parameters:
      source - Source handle.
    • setCameraExposureManual

      public static void setCameraExposureManual(int source, int value)
      Sets camera exposure to the given value.
      Parameters:
      source - Source handle.
      value - Exposure.
    • setUsbCameraPath

      public static void setUsbCameraPath(int source, String path)
      Sets USB camera path.
      Parameters:
      source - Source handle.
      path - USB camera path.
    • getUsbCameraPath

      public static String getUsbCameraPath(int source)
      Returns USB camera path.
      Parameters:
      source - Source handle.
      Returns:
      USB camera path.
    • getUsbCameraInfo

      public static UsbCameraInfo getUsbCameraInfo(int source)
      Returns USB camera info.
      Parameters:
      source - Source handle.
      Returns:
      USB camera info.
    • getHttpCameraKind

      public static int getHttpCameraKind(int source)
      Returns HTTP camera kind.
      Parameters:
      source - Source handle.
      Returns:
      HTTP camera kind.
    • setHttpCameraUrls

      public static void setHttpCameraUrls(int source, String[] urls)
      Sets HTTP camera URLs.
      Parameters:
      source - Source handle.
      urls - HTTP camera URLs.
    • getHttpCameraUrls

      public static String[] getHttpCameraUrls(int source)
      Returns HTTP camera URLs.
      Parameters:
      source - Source handle.
      Returns:
      HTTP camera URLs.
    • putRawSourceFrame

      public static void putRawSourceFrame(int source, long frame)
      Puts raw frame into source.
      Parameters:
      source - Source handle.
      frame - Frame handle.
    • putRawSourceFrameBB

      public static void putRawSourceFrameBB(int source, ByteBuffer data, int size, int width, int height, int stride, int pixelFormat)
      Puts raw frame into source.
      Parameters:
      source - Source handle.
      data - Frame byte buffer.
      size - Frame size.
      width - Frame width.
      height - Frame height.
      stride - Frame stride.
      pixelFormat - Frame pixel format.
    • putRawSourceFrameData

      public static void putRawSourceFrameData(int source, long data, int size, int width, int height, int stride, int pixelFormat)
      Puts raw frame into source.
      Parameters:
      source - Source handle.
      data - Frame handle.
      size - Frame size.
      width - Frame width.
      height - Frame height.
      stride - Frame stride.
      pixelFormat - Frame pixel format.
    • notifySourceError

      public static void notifySourceError(int source, String msg)
      Notify source error.
      Parameters:
      source - Source handle.
      msg - Error message.
    • setSourceConnected

      public static void setSourceConnected(int source, boolean connected)
      Sets whether source is connected.
      Parameters:
      source - Source handle.
      connected - True if source is connected.
    • setSourceDescription

      public static void setSourceDescription(int source, String description)
      Sets source description.
      Parameters:
      source - Source handle.
      description - Source description.
    • createSourceProperty

      public static int createSourceProperty(int source, String name, int kind, int minimum, int maximum, int step, int defaultValue, int value)
      Creates a source property.
      Parameters:
      source - Source handle.
      name - Property name.
      kind - Property kind.
      minimum - Property minimum.
      maximum - Property maximum.
      step - Property step.
      defaultValue - Property default value.
      value - Property value.
      Returns:
      Source property handle.
    • setSourceEnumPropertyChoices

      public static void setSourceEnumPropertyChoices(int source, int property, String[] choices)
      Sets list of possible property values.
      Parameters:
      source - Source handle.
      property - Property handle.
      choices - List of possible property values.
    • createMjpegServer

      public static int createMjpegServer(String name, String listenAddress, int port)
      Creates an MJPEG server.
      Parameters:
      name - MJPEG server name.
      listenAddress - IP address at which server should listen.
      port - Port on which server should listen.
      Returns:
      MJPEG server handle.
    • createRawSink

      public static int createRawSink(String name, boolean isCv)
      Creates a raw sink.
      Parameters:
      name - Sink name.
      isCv - true for a Cv source.
      Returns:
      Raw sink handle.
    • getSinkKind

      public static int getSinkKind(int sink)
      Returns sink kind.
      Parameters:
      sink - Sink handle.
      Returns:
      Sink kind.
    • getSinkName

      public static String getSinkName(int sink)
      Returns sink name.
      Parameters:
      sink - Sink handle.
      Returns:
      Sink name.
    • getSinkDescription

      public static String getSinkDescription(int sink)
      Returns sink description.
      Parameters:
      sink - Sink handle.
      Returns:
      Sink description.
    • getSinkProperty

      public static int getSinkProperty(int sink, String name)
      Returns sink property.
      Parameters:
      sink - Sink handle.
      name - Property name.
      Returns:
      Sink property handle.
    • enumerateSinkProperties

      public static int[] enumerateSinkProperties(int sink)
      Returns list of sink property handles.
      Parameters:
      sink - Sink handle.
      Returns:
      List of sink property handles.
    • setSinkConfigJson

      public static boolean setSinkConfigJson(int sink, String config)
      Sets sink configuration JSON.
      Parameters:
      sink - Sink handle.
      config - Configuration JSON.
      Returns:
      True if set succeeded.
    • getSinkConfigJson

      public static String getSinkConfigJson(int sink)
      Returns sink configuration JSON.
      Parameters:
      sink - Sink handle.
      Returns:
      Sink configuration JSON.
    • setSinkSource

      public static void setSinkSource(int sink, int source)
      Sets sink source.
      Parameters:
      sink - Sink handle.
      source - Source handle.
    • getSinkSourceProperty

      public static int getSinkSourceProperty(int sink, String name)
      Returns sink source property.
      Parameters:
      sink - Sink handle.
      name - Property name.
      Returns:
      Sink source property handle.
    • getSinkSource

      public static int getSinkSource(int sink)
      Returns sink source.
      Parameters:
      sink - Sink handle.
      Returns:
      Sink source handle.
    • copySink

      public static int copySink(int sink)
      Copies sink.
      Parameters:
      sink - Sink handle.
      Returns:
      New sink handle.
    • releaseSink

      public static void releaseSink(int sink)
      Releases sink.
      Parameters:
      sink - Sink handle.
    • getMjpegServerListenAddress

      public static String getMjpegServerListenAddress(int sink)
      Returns MJPEG server listen address.
      Parameters:
      sink - Sink handle.
      Returns:
      MJPEG server listen address.
    • getMjpegServerPort

      public static int getMjpegServerPort(int sink)
      Returns MJPEG server port.
      Parameters:
      sink - Sink handle.
      Returns:
      MJPEG server port.
    • setSinkDescription

      public static void setSinkDescription(int sink, String description)
      Sets sink description.
      Parameters:
      sink - Sink handle.
      description - Sink description.
    • grabRawSinkFrame

      public static long grabRawSinkFrame(int sink, RawFrame frame, long nativeObj)
      Returns raw sink frame.
      Parameters:
      sink - Sink handle.
      frame - Raw frame.
      nativeObj - Native object.
      Returns:
      Raw sink frame handle.
    • grabRawSinkFrameTimeout

      public static long grabRawSinkFrameTimeout(int sink, RawFrame frame, long nativeObj, double timeout)
      Returns raw sink frame timeout.
      Parameters:
      sink - Sink handle.
      frame - Raw frame.
      nativeObj - Native object.
      timeout - Timeout in seconds.
      Returns:
      Raw sink frame timeout.
    • getSinkError

      public static String getSinkError(int sink)
      Returns sink error message.
      Parameters:
      sink - Sink handle.
      Returns:
      Sink error message.
    • setSinkEnabled

      public static void setSinkEnabled(int sink, boolean enabled)
      Sets sink enable.
      Parameters:
      sink - Sink handle.
      enabled - True if sink should be enabled.
    • addListener

      public static int addListener(Consumer<VideoEvent> listener, int eventMask, boolean immediateNotify)
      Adds listener.
      Parameters:
      listener - Video event callback.
      eventMask - Event mask.
      immediateNotify - True to immediately notify on event.
      Returns:
      Listener handle.
    • removeListener

      public static void removeListener(int handle)
      Removes listener.
      Parameters:
      handle - Listener handle.
    • createListenerPoller

      public static int createListenerPoller()
      Creates listener poller.
      Returns:
      Listener poller handle.
    • destroyListenerPoller

      public static void destroyListenerPoller(int poller)
      Destroys listener poller.
      Parameters:
      poller - Listener poller handle.
    • addPolledListener

      public static int addPolledListener(int poller, int eventMask, boolean immediateNotify)
      Add polled listener.
      Parameters:
      poller - Poller handle.
      eventMask - Event mask.
      immediateNotify - True to immediately notify on event.
      Returns:
      Polled listener handle.
    • pollListener

      public static VideoEvent[] pollListener(int poller) throws InterruptedException
      Polls listener.
      Parameters:
      poller - Poller handle.
      Returns:
      List of video events.
      Throws:
      InterruptedException - if polling was interrupted.
    • pollListenerTimeout

      public static VideoEvent[] pollListenerTimeout(int poller, double timeout) throws InterruptedException
      Polls listener with timeout.
      Parameters:
      poller - Poller handle.
      timeout - Timeout in seconds.
      Returns:
      List of video events.
      Throws:
      InterruptedException - if polling was interrupted.
    • cancelPollListener

      public static void cancelPollListener(int poller)
      Cancels poll listener.
      Parameters:
      poller - Poller handle.
    • setTelemetryPeriod

      public static void setTelemetryPeriod(double seconds)
      Sets telemetry period.
      Parameters:
      seconds - Telemetry period in seconds.
    • getTelemetryElapsedTime

      public static double getTelemetryElapsedTime()
      Returns telemetry elapsed time.
      Returns:
      Telemetry elapsed time.
    • getTelemetryValue

      public static long getTelemetryValue(int handle, int kind)
      Returns telemetry value.
      Parameters:
      handle - Telemetry handle.
      kind - Telemetry kind.
      Returns:
      Telemetry value.
    • getTelemetryValue

      public static long getTelemetryValue(int handle, CameraServerJNI.TelemetryKind kind)
      Returns telemetry value.
      Parameters:
      handle - Telemetry handle.
      kind - Telemetry kind.
      Returns:
      Telemetry value.
    • getTelemetryAverageValue

      public static double getTelemetryAverageValue(int handle, int kind)
      Returns telemetry average value.
      Parameters:
      handle - Telemetry handle.
      kind - Telemetry kind.
      Returns:
      Telemetry average value.
    • getTelemetryAverageValue

      public static double getTelemetryAverageValue(int handle, CameraServerJNI.TelemetryKind kind)
      Returns telemetry average value.
      Parameters:
      handle - Telemetry handle.
      kind - Telemetry kind.
      Returns:
      Telemetry average value.
    • setLogger

      public static void setLogger(CameraServerJNI.LoggerFunction func, int minLevel)
      Sets logger.
      Parameters:
      func - Logger function.
      minLevel - Minimum logging level.
    • enumerateUsbCameras

      Returns list of USB cameras.
      Returns:
      List of USB cameras.
    • enumerateSources

      public static int[] enumerateSources()
      Returns list of sources.
      Returns:
      List of sources.
    • enumerateSinks

      public static int[] enumerateSinks()
      Returns list of sinks.
      Returns:
      List of sinks.
    • getHostname

      public static String getHostname()
      Returns hostname.
      Returns:
      Hostname.
    • getNetworkInterfaces

      public static String[] getNetworkInterfaces()
      Returns list of network interfaces.
      Returns:
      List of network interfaces.
    • runMainRunLoop

      public static void runMainRunLoop()
      Runs main run loop.
    • runMainRunLoopTimeout

      public static int runMainRunLoopTimeout(double timeoutSeconds)
      Runs main run loop with timeout.
      Parameters:
      timeoutSeconds - Timeout in seconds.
      Returns:
      3 on timeout, 2 on signal, 1 on other.
    • stopMainRunLoop

      public static void stopMainRunLoop()
      Stops main run loop.