/* Blinker
   Copyright 2011-2019 Stefan Schuermans <stefan@blinkenarea.org>
   Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
   a blinkenarea.org project */

#ifndef BLINKER_STREAMRECV_H
#define BLINKER_STREAMRECV_H

#include <string>

#include <BlinkenLib/BlinkenFrame.h>

namespace Blinker {

/// video stream receiver interface
class StreamRecv
{
public:
  /// constructor
  StreamRecv();

  /// virtual destructor
  virtual ~StreamRecv();

public:
  /**
   * @brief set current frame
   * @param[in] stream stream name
   * @param[in] pFrame current frame (NULL for none)
   */
  virtual void setFrame(const std::string &stream, stBlinkenFrame *pFrame) = 0;
}; // class StreamRecv

} // namespace Blinker

#endif // #ifndef BLINKER_STREAMRECV_H

