Module vcr4j.core

Interface VideoIO<S extends VideoState,E extends VideoError>

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
SchedulerVideoIO, SimpleVideoIO

public interface VideoIO<S extends VideoState,E extends VideoError> extends Closeable
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Close the video io and free it's resources.
    io.reactivex.rxjava3.subjects.Subject<VideoCommand<?>>
    We foresee needing to chain several VideoIO services together.
     
    io.reactivex.rxjava3.core.Observable<E>
    All errors that occur will be sent to this observable
    io.reactivex.rxjava3.core.Observable<VideoIndex>
     
    io.reactivex.rxjava3.core.Observable<S>
    Listen to this observable for responses to status requests
    <A extends VideoCommand<?>>
    void
    send(A videoCommand)
    Send a command to the video player
  • Method Details

    • send

      <A extends VideoCommand<?>> void send(A videoCommand)
      Send a command to the video player
      Type Parameters:
      A - The type of the video Command
      Parameters:
      videoCommand - The command to send
    • getCommandSubject

      io.reactivex.rxjava3.subjects.Subject<VideoCommand<?>> getCommandSubject()
      We foresee needing to chain several VideoIO services together. The current plan is to use RX to monitor commands sent between different services so that one may augment anothers capabilities. For example, we may talk to a video player, but also need to fetch information from a Media Asset Manager simultaneously to get recorded dates for each frame.
      Returns:
      A Subject that is the pipeline for all commands sent to the VideoIO provider
    • getConnectionID

      String getConnectionID()
      Returns:
      A string unique to the particular video io connection
    • close

      void close()
      Close the video io and free it's resources.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • getErrorObservable

      io.reactivex.rxjava3.core.Observable<E> getErrorObservable()
      All errors that occur will be sent to this observable
      Returns:
      stream of errors
    • getStateObservable

      io.reactivex.rxjava3.core.Observable<S> getStateObservable()
      Listen to this observable for responses to status requests
      Returns:
      Status stream
    • getIndexObservable

      io.reactivex.rxjava3.core.Observable<VideoIndex> getIndexObservable()
      Returns:
      THis observable streams timecode/elapsedtime/timestamp responses.