X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.h;h=aa3baac2fff99e90b1113f61af65e7f82761f42e;hb=9e47a2f661b9d292598ef0277e507458e3dad62f;hp=ff501b17635cd8830ba36e084754577cd75902b5;hpb=868450678563ed2c9fd5240dca704d87371d1478;p=nageru diff --git a/mixer.h b/mixer.h index ff501b1..aa3baac 100644 --- a/mixer.h +++ b/mixer.h @@ -399,6 +399,10 @@ public: display_timecode_on_stdout = enable; } + int64_t get_num_connected_clients() const { + return httpd.get_num_connected_clients(); + } + private: struct CaptureCard; @@ -424,6 +428,8 @@ private: void release_display_frame(DisplayFrame *frame); double pts() { return double(pts_int) / TIMEBASE; } void trim_queue(CaptureCard *card, size_t safe_queue_length); + std::pair get_channels_json(); + std::pair get_channel_color_http(unsigned channel_idx); HTTPD httpd; unsigned num_cards, num_video_inputs; @@ -544,7 +550,7 @@ private: class OutputChannel { public: ~OutputChannel(); - void output_frame(DisplayFrame frame); + void output_frame(DisplayFrame &&frame); bool get_display_frame(DisplayFrame *frame); void add_frame_ready_callback(void *key, new_frame_ready_callback_t callback); void remove_frame_ready_callback(void *key);