refactoring

This commit is contained in:
Devaev Maxim 2018-10-06 01:12:41 +03:00
parent 7c524a1196
commit d963c95af8
2 changed files with 11 additions and 13 deletions

View File

@ -168,7 +168,6 @@ static void _http_callback_root(struct evhttp_request *request, UNUSED void *arg
static void _http_callback_ping(struct evhttp_request *request, void *v_server) { static void _http_callback_ping(struct evhttp_request *request, void *v_server) {
struct http_server_t *server = (struct http_server_t *)v_server; struct http_server_t *server = (struct http_server_t *)v_server;
struct stream_client_t *client;
struct evbuffer *buf; struct evbuffer *buf;
PROCESS_HEAD_REQUEST; PROCESS_HEAD_REQUEST;
@ -186,7 +185,7 @@ static void _http_callback_ping(struct evhttp_request *request, void *v_server)
(server->run->exposed->online ? "true" : "false"), (server->run->exposed->online ? "true" : "false"),
server->run->stream_clients_count server->run->stream_clients_count
)); ));
for (client = server->run->stream_clients; client != NULL; client = client->next) { for (struct stream_client_t * client = server->run->stream_clients; client != NULL; client = client->next) {
assert(evbuffer_add_printf(buf, assert(evbuffer_add_printf(buf,
"\"%s\": {\"fps\": %u}%s", "\"%s\": {\"fps\": %u}%s",
client->id, client->fps, (client->next ? ", " : "") client->id, client->fps, (client->next ? ", " : "")
@ -415,15 +414,14 @@ static void _http_callback_stream_error(UNUSED struct bufferevent *buf_event, UN
} }
static void _http_queue_send_stream(struct http_server_t *server, const bool updated) { static void _http_queue_send_stream(struct http_server_t *server, const bool updated) {
struct stream_client_t *client;
struct evhttp_connection *conn; struct evhttp_connection *conn;
struct bufferevent *buf_event; struct bufferevent *buf_event;
long long now; long long now;
bool queued = false; bool queued = false;
static unsigned queued_fps = 0; static unsigned queued_fps_accum = 0;
static long long queued_fps_second = 0; static long long queued_fps_second = 0;
for (client = server->run->stream_clients; client != NULL; client = client->next) { for (struct stream_client_t *client = server->run->stream_clients; client != NULL; client = client->next) {
conn = evhttp_request_get_connection(client->request); conn = evhttp_request_get_connection(client->request);
if (conn != NULL && (updated || client->need_first_frame)) { if (conn != NULL && (updated || client->need_first_frame)) {
buf_event = evhttp_connection_get_bufferevent(conn); buf_event = evhttp_connection_get_bufferevent(conn);
@ -436,11 +434,11 @@ static void _http_queue_send_stream(struct http_server_t *server, const bool upd
if (queued) { if (queued) {
if ((now = floor_ms(get_now_monotonic())) != queued_fps_second) { if ((now = floor_ms(get_now_monotonic())) != queued_fps_second) {
server->run->exposed->queued_fps = queued_fps; server->run->exposed->queued_fps = queued_fps_accum;
queued_fps = 0; queued_fps_accum = 0;
queued_fps_second = now; queued_fps_second = now;
} }
queued_fps += 1; queued_fps_accum += 1;
} }
} }

View File

@ -85,7 +85,7 @@ void stream_loop(struct stream_t *stream) {
unsigned frames_count = 0; unsigned frames_count = 0;
long double grab_after = 0; long double grab_after = 0;
unsigned fluency_passed = 0; unsigned fluency_passed = 0;
unsigned captured_fps = 0; unsigned captured_fps_accum = 0;
long long captured_fps_second = 0; long long captured_fps_second = 0;
LOG_DEBUG("Allocation memory for stream picture ..."); LOG_DEBUG("Allocation memory for stream picture ...");
@ -198,12 +198,12 @@ void stream_loop(struct stream_t *stream) {
fluency_passed = 0; fluency_passed = 0;
if (now_second != captured_fps_second) { if (now_second != captured_fps_second) {
LOG_PERF("Oldest worker complete, Captured-FPS = %u", captured_fps); stream->captured_fps = captured_fps_accum;
stream->captured_fps = captured_fps; captured_fps_accum = 0;
captured_fps = 0;
captured_fps_second = now_second; captured_fps_second = now_second;
LOG_PERF("Oldest worker complete, Captured-FPS = %u", stream->captured_fps);
} }
captured_fps += 1; captured_fps_accum += 1;
long double fluency_delay = _stream_get_fluency_delay(stream->dev, &pool); long double fluency_delay = _stream_get_fluency_delay(stream->dev, &pool);