#ifndef __WEBRTCSTREAMER_H__
#define __WEBRTCSTREAMER_H__

#include <memory>
#include <string>

namespace boost {
namespace asio {
class io_context;
}
} // namespace boost

namespace Danki {
class WebRTCStreamerPrivate;

class Streamer {
public:
    Streamer(boost::asio::io_context &ioContext);
    ~Streamer();
    void start(const std::string &signalServerAddress, uint16_t signalServerPort);
    void push(const uint8_t *data, uint32_t size);

private:
    WebRTCStreamerPrivate *m_d = nullptr;
};
} // namespace Danki

#endif // __WEBRTCSTREAMER_H__