X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=stream.h;h=a4aa642b1b81cbb5a336cd138e3fe8d94122c6f7;hp=a57c6d88e7ff0955a68e0d02fceeb0910bd7491f;hb=0d72f384a1de672824298262ba5c427ec0aee2d6;hpb=ae994771c0747d43bd1ed422224f4caacb95ca9f diff --git a/stream.h b/stream.h index a57c6d8..a4aa642 100644 --- a/stream.h +++ b/stream.h @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -21,6 +22,9 @@ struct Stream { Stream(const StreamProto &serialized); StreamProto serialize(); + // Changes the backlog size, restructuring the data as needed. + void set_backlog_size(size_t new_size); + std::string stream_id; // The HTTP response header, plus the video stream header (if any). @@ -60,14 +64,15 @@ struct Stream { // in the list of clients to wake up when we do. void put_client_to_sleep(Client *client); - // Add more input data to the stream, and wake up all clients that are sleeping. + // Add more input data to the stream. You should probably call wake_up_all_clients() + // after that. void add_data(const char *data, ssize_t bytes); -private: - Stream(const Stream& other); - // We have more data, so mark all clients that are sleeping as ready to go. void wake_up_all_clients(); + +private: + Stream(const Stream& other); }; #endif // !defined(_STREAM_H)