Skip to content

Commit f1acb5d

Browse files
authored
Merge pull request #23 from m-RNA/Fix-FPS-reporting
Fix FPS reporting
2 parents d24889a + 31f8ac3 commit f1acb5d

1 file changed

Lines changed: 22 additions & 8 deletions

File tree

components/StreamServer/StreamServer/StreamServer.cpp

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ StreamServer::StreamServer(const int STREAM_PORT, StateManager *stateManager) :
1212

1313
esp_err_t StreamHelpers::stream(httpd_req_t *req)
1414
{
15-
long last_request_time = 0;
1615
camera_fb_t *fb = nullptr;
1716
struct timeval _timestamp;
1817

@@ -75,14 +74,29 @@ esp_err_t StreamHelpers::stream(httpd_req_t *req)
7574
if (response != ESP_OK)
7675
break;
7776

78-
// Only log every 100 frames to reduce overhead
79-
static int frame_count = 0;
80-
if (++frame_count % 100 == 0)
77+
if (esp_log_level_get(STREAM_SERVER_TAG) >= ESP_LOG_INFO)
8178
{
82-
long request_end = Helpers::getTimeInMillis();
83-
long latency = (request_end - last_request_time);
84-
last_request_time = request_end;
85-
ESP_LOGI(STREAM_SERVER_TAG, "Size: %uKB, Time: %lims (%lifps)", _jpg_buf_len / 1024, latency, 1000 / latency);
79+
static long last_request_time = 0;
80+
if (last_request_time == 0)
81+
{
82+
last_request_time = Helpers::getTimeInMillis();
83+
}
84+
85+
// Only log every 100 frames to reduce overhead
86+
const int frame_window = 100;
87+
static int frame_count = 0;
88+
if (++frame_count % frame_window == 0)
89+
{
90+
long request_end = Helpers::getTimeInMillis();
91+
long window_ms = request_end - last_request_time;
92+
last_request_time = request_end;
93+
long fps = 0;
94+
if (window_ms > 0)
95+
{
96+
fps = (frame_window * 1000) / window_ms;
97+
}
98+
ESP_LOGI(STREAM_SERVER_TAG, "%i Frames Size: %uKB, Time: %lims (%lifps)",frame_window, _jpg_buf_len / 1024, window_ms, fps);
99+
}
86100
}
87101
}
88102
last_frame = 0;

0 commit comments

Comments
 (0)