| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -583,8 +583,10 @@ int main(int argc, char** argv) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  std::vector<SubSocket*> socks; | 
					 | 
					 | 
					 | 
					  std::vector<SubSocket*> socks; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  std::map<SubSocket*, int> qlog_counter; | 
					 | 
					 | 
					 | 
					  typedef struct QlogState { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  std::map<SubSocket*, int> qlog_freqs; | 
					 | 
					 | 
					 | 
					    int counter, freq; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  } QlogState; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  std::map<SubSocket*, QlogState> qlog_states; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  for (const auto& it : services) { | 
					 | 
					 | 
					 | 
					  for (const auto& it : services) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    std::string name = it.name; | 
					 | 
					 | 
					 | 
					    std::string name = it.name; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -598,9 +600,8 @@ int main(int argc, char** argv) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      for (int cid=0;cid<=MAX_CAM_IDX;cid++) { | 
					 | 
					 | 
					 | 
					      for (int cid=0;cid<=MAX_CAM_IDX;cid++) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (name == cameras_logged[cid].frame_packet_name) { s.rotate_state[cid].fpkt_sock = sock; } | 
					 | 
					 | 
					 | 
					        if (name == cameras_logged[cid].frame_packet_name) { s.rotate_state[cid].fpkt_sock = sock; } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      } | 
					 | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					      qlog_states[sock] = {.counter = (it.decimation == -1) ? -1 : 0, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      qlog_counter[sock] = (it.decimation == -1) ? -1 : 0; | 
					 | 
					 | 
					 | 
					                           .freq = it.decimation}; | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      qlog_freqs[sock] = it.decimation; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -650,12 +651,12 @@ int main(int argc, char** argv) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        delete last_msg; | 
					 | 
					 | 
					 | 
					        delete last_msg; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        last_msg = msg; | 
					 | 
					 | 
					 | 
					        last_msg = msg; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        logger_log(&s.logger, (uint8_t*)msg->getData(), msg->getSize(), qlog_counter[sock] == 0); | 
					 | 
					 | 
					 | 
					        QlogState& qs = qlog_states[sock]; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        logger_log(&s.logger, (uint8_t*)msg->getData(), msg->getSize(), qs.counter == 0); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (qlog_counter[sock] != -1) { | 
					 | 
					 | 
					 | 
					        if (qs.counter != -1) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          //printf("%p: %d/%d\n", socks[i], qlog_counter[socks[i]], qlog_freqs[socks[i]]);
 | 
					 | 
					 | 
					 | 
					          //printf("%p: %d/%d\n", socks[i], qlog_counter[socks[i]], qlog_freqs[socks[i]]);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          qlog_counter[sock]++; | 
					 | 
					 | 
					 | 
					          qs.counter = (qs.counter + 1) % qs.freq; | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          qlog_counter[sock] %= qlog_freqs[sock]; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        bytes_count += msg->getSize(); | 
					 | 
					 | 
					 | 
					        bytes_count += msg->getSize(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        msg_count++; | 
					 | 
					 | 
					 | 
					        msg_count++; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |