X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=stream.h;h=a4aa642b1b81cbb5a336cd138e3fe8d94122c6f7;hp=ea13f40bd6258dffe1e9a22619d889688e97fd9e;hb=0d72f384a1de672824298262ba5c427ec0aee2d6;hpb=488f28bf7070f44469a006ed4a9d4c423788d175 diff --git a/stream.h b/stream.h index ea13f40..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,6 +64,10 @@ 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. You should probably call wake_up_all_clients() + // after that. + void add_data(const char *data, ssize_t bytes); + // We have more data, so mark all clients that are sleeping as ready to go. void wake_up_all_clients();