X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=httpd.h;h=e8efc030b4706d92b64e89e7ea748c056d8f7c85;hb=32dea58ef8f1a0b15b503708f20c536dd8533411;hp=524c8d61637e41fd059732271dc0d5d5938f82cd;hpb=4ec330853ee13b230f089253fedd20b49229e42b;p=nageru diff --git a/httpd.h b/httpd.h index 524c8d6..e8efc03 100644 --- a/httpd.h +++ b/httpd.h @@ -9,22 +9,34 @@ // way, namely having one ffmpeg mux per output. #include +#include +#include +#include +#include #include -#include +#include #include -#include +#include #include +struct MHD_Connection; + extern "C" { +#include #include +#include } class HTTPD { public: - HTTPD(const char *output_filename, int width, int height); + HTTPD(int width, int height); void start(int port); void add_packet(const AVPacket &pkt, int64_t pts, int64_t dts); + // You can only have one going at the same time. + void open_output_file(const std::string &filename); + void close_output_file(); + private: static int answer_to_connection_thunk(void *cls, MHD_Connection *connection, const char *url, const char *method, @@ -62,7 +74,6 @@ private: static int write_packet_thunk(void *opaque, uint8_t *buf, int buf_size); int write_packet(uint8_t *buf, int buf_size); - AVIOContext *avio; std::unique_ptr mux; std::mutex buffer_mutex;