|
|
@ -47,7 +47,7 @@ bool sync_encoders(EncoderdState *s, CameraType cam_type, uint32_t frame_id) { |
|
|
|
void encoder_thread(EncoderdState *s, const LogCameraInfo &cam_info) { |
|
|
|
void encoder_thread(EncoderdState *s, const LogCameraInfo &cam_info) { |
|
|
|
util::set_thread_name(cam_info.thread_name); |
|
|
|
util::set_thread_name(cam_info.thread_name); |
|
|
|
|
|
|
|
|
|
|
|
std::vector<Encoder *> encoders; |
|
|
|
std::vector<std::unique_ptr<Encoder>> encoders; |
|
|
|
VisionIpcClient vipc_client = VisionIpcClient("camerad", cam_info.stream_type, false); |
|
|
|
VisionIpcClient vipc_client = VisionIpcClient("camerad", cam_info.stream_type, false); |
|
|
|
|
|
|
|
|
|
|
|
int cur_seg = 0; |
|
|
|
int cur_seg = 0; |
|
|
@ -64,14 +64,11 @@ void encoder_thread(EncoderdState *s, const LogCameraInfo &cam_info) { |
|
|
|
assert(buf_info.width > 0 && buf_info.height > 0); |
|
|
|
assert(buf_info.width > 0 && buf_info.height > 0); |
|
|
|
|
|
|
|
|
|
|
|
for (const auto &encoder_info : cam_info.encoder_infos) { |
|
|
|
for (const auto &encoder_info : cam_info.encoder_infos) { |
|
|
|
encoders.push_back(new Encoder(encoder_info, buf_info.width, buf_info.height)); |
|
|
|
auto &e = encoders.emplace_back(new Encoder(encoder_info, buf_info.width, buf_info.height)); |
|
|
|
|
|
|
|
e->encoder_open(nullptr); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < encoders.size(); ++i) { |
|
|
|
|
|
|
|
encoders[i]->encoder_open(NULL); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool lagging = false; |
|
|
|
bool lagging = false; |
|
|
|
while (!do_exit) { |
|
|
|
while (!do_exit) { |
|
|
|
VisionIpcBufExtra extra; |
|
|
|
VisionIpcBufExtra extra; |
|
|
@ -113,12 +110,6 @@ void encoder_thread(EncoderdState *s, const LogCameraInfo &cam_info) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
LOG("encoder destroy"); |
|
|
|
|
|
|
|
for (auto &e : encoders) { |
|
|
|
|
|
|
|
e->encoder_close(); |
|
|
|
|
|
|
|
delete e; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
template <size_t N> |
|
|
|
template <size_t N> |
|
|
|