#ifndef TINYPLAYER2_FRAME_RECEIVER2_H #define TINYPLAYER2_FRAME_RECEIVER2_H #include "receiver_base.hpp" #include #include class receiver_udp_fec : public receiver_base { public: using io_context = boost::asio::io_context; struct create_config { std::string server_addr; uint16_t server_port; io_context *ctx = nullptr; // for parent cb_func_type cb_func = nullptr; bool enable_log = false; }; using this_type = receiver_udp_fec; using pointer = std::unique_ptr; static pointer create(const create_config &conf); ~receiver_udp_fec(); private: struct impl; std::unique_ptr pimpl; explicit receiver_udp_fec(impl *pimpl); }; #endif //TINYPLAYER2_FRAME_RECEIVER2_H