        VisionBuf buf_info = vipc_client.buffers[0];
        LOGD("encoder init %dx%d", buf_info.width, buf_info.height);
  
        // main encoder
        encoders.push_back(new Encoder(cam_info.filename, buf_info.width, buf_info.height,
                                       cam_info.fps, cam_info.bitrate, cam_info.is_h265,
                                       cam_info.downscale, cam_info.record));
        // qcamera encoder
        if (cam_info.has_qcamera) {
          encoders.push_back(new Encoder(qcam_info.filename, qcam_info.frame_width, qcam_info.frame_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, </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   write_handler_thread = std::thread(OmxEncoder::write_handler, this);
 </s> add   write_handler_thread = std::thread(this->remuxing ? OmxEncoder::write_handler : OmxEncoder::write_and_broadcast_handler, this);
      encoders.push_back(new Encoder(cam_info.filename, cam_info.type, buf_info.width, buf_info.height,
        VisionBuf buf_info = vipc_client.buffers[0];
        LOGD("encoder init %dx%d", buf_info.width, buf_info.height);
  
        // main encoder
      encoders.push_back(new Encoder(cam_info.filename, cam_info.type, buf_info.width, buf_info.height,
                                       cam_info.fps, cam_info.bitrate, cam_info.is_h265,
                                       cam_info.downscale, cam_info.record));
        // qcamera encoder
        if (cam_info.has_qcamera) {
          encoders.push_back(new Encoder(qcam_info.filename, qcam_info.frame_width, qcam_info.frame_height,
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/loggerd.cc