        VIPCBufExtra extra;
        buf = visionstream_get(&stream, &extra);
        if (buf == NULL) {
          printf("visionstream get failed\n");
          visionstream_destroy(&stream);
          break;
        }
        //printf("frame_id: %d %dx%d\n", extra.frame_id, buf_info.width, buf_info.height);
        if (!dmonitoringmodel.is_rhd_checked) {
          if (chk_counter >= RHD_CHECK_INTERVAL) {
 
</s> remove         visionstream_destroy(&stream);
 </s> add  </s> remove 
 </s> add     visionstream_destroy(&stream); </s> remove   visionstream_destroy(&stream);

 </s> add  </s> remove   visionstream_destroy(&stream);

 </s> add 
        VIPCBufExtra extra;
        buf = visionstream_get(&stream, &extra);
        if (buf == NULL) {
          printf("visionstream get failed\n");

          break;
        }
        //printf("frame_id: %d %dx%d\n", extra.frame_id, buf_info.width, buf_info.height);
        if (!dmonitoringmodel.is_rhd_checked) {
          if (chk_counter >= RHD_CHECK_INTERVAL) {
keep keep keep keep replace keep keep keep keep keep
 fix bug that visionstream_destroy may be called twice (#1999) 
selfdrive/modeld/dmonitoringmodeld.cc