001/*----------------------------------------------------------------------------*/
002/* Copyright (c) 2016-2018 FIRST. All Rights Reserved.                        */
003/* Open Source Software - may be modified and shared by FRC teams. The code   */
004/* must be accompanied by the FIRST BSD license file in the root directory of */
005/* the project.                                                               */
006/*----------------------------------------------------------------------------*/
007
008package edu.wpi.cscore;
009
010/**
011 * A sink that acts as a MJPEG-over-HTTP network server.
012 */
013public class MjpegServer extends VideoSink {
014  /**
015   * Create a MJPEG-over-HTTP server sink.
016   * @param name Sink name (arbitrary unique identifier)
017   * @param listenAddress TCP listen address (empty string for all addresses)
018   * @param port TCP port number
019   */
020  public MjpegServer(String name, String listenAddress, int port) {
021    super(CameraServerJNI.createMjpegServer(name, listenAddress, port));
022  }
023
024  /**
025   * Create a MJPEG-over-HTTP server sink.
026   * @param name Sink name (arbitrary unique identifier)
027   * @param port TCP port number
028   */
029  public MjpegServer(String name, int port) {
030    this(name, "", port);
031  }
032
033  /**
034   * Get the listen address of the server.
035   */
036  public String getListenAddress() {
037    return CameraServerJNI.getMjpegServerListenAddress(m_handle);
038  }
039
040  /**
041   * Get the port number of the server.
042   */
043  public int getPort() {
044    return CameraServerJNI.getMjpegServerPort(m_handle);
045  }
046}