Class CameraSource

  • All Implemented Interfaces:
    com.google.common.util.concurrent.Service, RestartableService

    public class CameraSource
    extends Source
    implements RestartableService
    Provides a way to generate a constantly updated opencv_core.Mat from a camera.
    • Field Detail

      • DEFAULT_IP_CAMERA_PATH

        public static final java.lang.String DEFAULT_IP_CAMERA_PATH
        The path that Axis cameras stream MJPEG videos from. Although any URL can be supplied CameraSource.Factory.create(String), allowing this to work with basically any network video stream, this default path allows the Axis M1011 cameras used in FRC to work when only an IP address is supplied.
        See Also:
        Constant Field Values
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from class: Source
        This is used by the GUI to distinguish different sources. For example, ImageFileSource returns the filename of the image.
        Specified by:
        getName in class Source
        Returns:
        The name of this source.
      • updateOutputSockets

        protected boolean updateOutputSockets()
        Description copied from class: Source
        This method will check if there are any pending updates to output sockets. If there are any, update the sockets and then return true. If there are no updates this function should return false.
        Specified by:
        updateOutputSockets in class Source
        Returns:
        true if there are updates ready to be moved into the socket.
      • getProperties

        public java.util.Properties getProperties()
        Description copied from class: Source
        This is used for serialization/deserialization.
        Specified by:
        getProperties in class Source
        Returns:
        A Properties containing data that can be used to re-create this source.
      • initialize

        public void initialize()
        Description copied from class: Source
        Initializes the source. This should not try to handle initialization exceptions. Instead, the Source.initializeSafely() should report the problem with initializing to the exception witness.
        Specified by:
        initialize in class Source
      • startAsync

        public CameraSource startAsync()
        Starts the service that runs the camera source.
        Specified by:
        startAsync in interface RestartableService
        Specified by:
        startAsync in interface com.google.common.util.concurrent.Service
        Returns:
        this
      • isRunning

        public boolean isRunning()
        Specified by:
        isRunning in interface com.google.common.util.concurrent.Service
      • stopAsync

        public CameraSource stopAsync()
        Stops the service that is running camera source.
        Specified by:
        stopAsync in interface RestartableService
        Specified by:
        stopAsync in interface com.google.common.util.concurrent.Service
        Returns:
        this
      • stopAndAwait

        public void stopAndAwait​(long timeout,
                                 java.util.concurrent.TimeUnit unit)
                          throws java.util.concurrent.TimeoutException
        Specified by:
        stopAndAwait in interface RestartableService
        Throws:
        java.util.concurrent.TimeoutException
      • awaitRunning

        public void awaitRunning()
        Specified by:
        awaitRunning in interface com.google.common.util.concurrent.Service
      • awaitRunning

        public void awaitRunning​(long timeout,
                                 java.util.concurrent.TimeUnit unit)
                          throws java.util.concurrent.TimeoutException
        Specified by:
        awaitRunning in interface com.google.common.util.concurrent.Service
        Throws:
        java.util.concurrent.TimeoutException
      • awaitTerminated

        public void awaitTerminated()
        Specified by:
        awaitTerminated in interface com.google.common.util.concurrent.Service
      • awaitTerminated

        public void awaitTerminated​(long timeout,
                                    java.util.concurrent.TimeUnit unit)
                             throws java.util.concurrent.TimeoutException
        Specified by:
        awaitTerminated in interface com.google.common.util.concurrent.Service
        Throws:
        java.util.concurrent.TimeoutException
      • failureCause

        public java.lang.Throwable failureCause()
        Specified by:
        failureCause in interface com.google.common.util.concurrent.Service
      • addListener

        public void addListener​(com.google.common.util.concurrent.Service.Listener listener,
                                java.util.concurrent.Executor executor)
        Specified by:
        addListener in interface com.google.common.util.concurrent.Service
      • state

        public com.google.common.util.concurrent.Service.State state()
        Specified by:
        state in interface com.google.common.util.concurrent.Service
      • onSourceRemovedEvent

        public void onSourceRemovedEvent​(SourceRemovedEvent event)
                                  throws java.lang.InterruptedException,
                                         java.util.concurrent.TimeoutException,
                                         java.io.IOException
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.TimeoutException
        java.io.IOException