fix ui hang

pull/24335/head
Shane Smiskol 3 years ago
parent 239f0bbdad
commit 28a21bcd5a
  1. 6
      selfdrive/ui/qt/widgets/cameraview.cc

@ -163,7 +163,6 @@ void CameraViewWidget::initializeGL() {
void CameraViewWidget::showEvent(QShowEvent *event) { void CameraViewWidget::showEvent(QShowEvent *event) {
latest_frame = nullptr; latest_frame = nullptr;
if (!vipc_client) { if (!vipc_client) {
qDebug() << "Initializing vipc_client"; qDebug() << "Initializing vipc_client";
vipc_client.reset(new VisionIpcClient(stream_name, stream_type, false)); vipc_client.reset(new VisionIpcClient(stream_name, stream_type, false));
@ -179,6 +178,7 @@ void CameraViewWidget::showEvent(QShowEvent *event) {
} }
void CameraViewWidget::hideEvent(QHideEvent *event) { void CameraViewWidget::hideEvent(QHideEvent *event) {
qDebug() << "resetting vipc_client";
vipc_client.reset(); vipc_client.reset();
} }
@ -285,13 +285,15 @@ void CameraViewWidget::updateCameraFrame() {
UIState *s = uiState(); UIState *s = uiState();
bool recv_one = (meta_main.frame_id - (*s->sm)["modelV2"].getModelV2().getFrameId()) > 5; bool recv_one = (meta_main.frame_id - (*s->sm)["modelV2"].getModelV2().getFrameId()) > 5;
while (meta_main.frame_id < (*s->sm)["modelV2"].getModelV2().getFrameId() || recv_one) { while (meta_main.frame_id < (*s->sm)["modelV2"].getModelV2().getFrameId() || recv_one) {
recv_one = false;
// qDebug() << "Getting buf"; // qDebug() << "Getting buf";
buf = vipc_client->recv(&meta_main, 1000); buf = vipc_client->recv(&meta_main, 1000);
// qDebug() << "After buf"; // qDebug() << "After buf";
// qDebug() << "camerad:" << meta_main.frame_id << "modeld:" << (*s->sm)["modelV2"].getModelV2().getFrameId();
if (buf == nullptr) { if (buf == nullptr) {
qDebug() << "frame nullptr!"; qDebug() << "frame nullptr!";
break; break;
} else if (recv_one) {
break;
} }
} }

Loading…
Cancel
Save