    close(lock_fd);
  
    // start writer threads
    callback_handler_thread = std::thread(OmxEncoder::callback_handler, this);
    write_handler_thread = std::thread(OmxEncoder::write_handler, this);
  
    this->is_open = true;
    this->counter = 0;
  }
  
 
</s> remove OmxEncoder::OmxEncoder(const char* filename, int width, int height, int fps, int bitrate, bool h265, bool downscale, bool write) {
 </s> add OmxEncoder::OmxEncoder(const char* filename, CameraType type, int width, int height, int fps, int bitrate, bool h265, bool downscale, bool write) { </s> remove       encoders.push_back(new Encoder(cam_info.filename, buf_info.width, buf_info.height,
 </s> add       encoders.push_back(new Encoder(cam_info.filename, cam_info.type, buf_info.width, buf_info.height, </s> remove         encoders.push_back(new Encoder(qcam_info.filename, qcam_info.frame_width, qcam_info.frame_height,
 </s> add         encoders.push_back(new Encoder(qcam_info.filename, cam_info.type, qcam_info.frame_width, qcam_info.frame_height,
  write_handler_thread = std::thread(this->remuxing ? OmxEncoder::write_handler : OmxEncoder::write_and_broadcast_handler, this);
    close(lock_fd);
  
    // start writer threads
    callback_handler_thread = std::thread(OmxEncoder::callback_handler, this);
  write_handler_thread = std::thread(this->remuxing ? OmxEncoder::write_handler : OmxEncoder::write_and_broadcast_handler, this);
  
    this->is_open = true;
    this->counter = 0;
  }
  
keep keep keep keep replace keep keep keep keep keep
 loggerd: broadcast encoder data (#24177)

* encode data try 1

* fix pc build

* low quality compressed streamer with pyav

* nvidia streamer

* timestamp support

* fix latency measurement

* refactor

* camerastream updates

* fix linter

* compressed to vipc, clean

* remove print

* touchups

Co-authored-by: Comma Device <device@comma.ai> 
selfdrive/loggerd/omx_encoder.cc