Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions components/StreamServer/StreamServer/StreamServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ StreamServer::StreamServer(const int STREAM_PORT, StateManager *stateManager) :

esp_err_t StreamHelpers::stream(httpd_req_t *req)
{
long last_request_time = 0;
camera_fb_t *fb = nullptr;
struct timeval _timestamp;

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

// Only log every 100 frames to reduce overhead
static int frame_count = 0;
if (++frame_count % 100 == 0)
if (esp_log_level_get(STREAM_SERVER_TAG) >= ESP_LOG_INFO)
{
long request_end = Helpers::getTimeInMillis();
long latency = (request_end - last_request_time);
last_request_time = request_end;
ESP_LOGI(STREAM_SERVER_TAG, "Size: %uKB, Time: %lims (%lifps)", _jpg_buf_len / 1024, latency, 1000 / latency);
static long last_request_time = 0;
if (last_request_time == 0)
{
last_request_time = Helpers::getTimeInMillis();
}

// Only log every 100 frames to reduce overhead
const int frame_window = 100;
static int frame_count = 0;
if (++frame_count % frame_window == 0)
{
long request_end = Helpers::getTimeInMillis();
long window_ms = request_end - last_request_time;
last_request_time = request_end;
long fps = 0;
if (window_ms > 0)
{
fps = (frame_window * 1000) / window_ms;
}
ESP_LOGI(STREAM_SERVER_TAG, "%i Frames Size: %uKB, Time: %lims (%lifps)",frame_window, _jpg_buf_len / 1024, window_ms, fps);
}
}
}
last_frame = 0;
Expand Down