@@ -12,7 +12,6 @@ StreamServer::StreamServer(const int STREAM_PORT, StateManager *stateManager) :
1212
1313esp_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