mirror of
https://github.com/pikvm/ustreamer.git
synced 2026-02-18 02:55:46 +00:00
refactoring
This commit is contained in:
parent
7c524a1196
commit
d963c95af8
14
src/http.c
14
src/http.c
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
10
src/stream.c
10
src/stream.c
@ -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);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user