mv_source_h mvSource;
mv_inference_h inferHandle;
mv_engine_config_h engineConfig;
+ bool isStop;
struct {
std::string url;
mv_source_h source;
static int _vision_source_cb(vision_source_buffer_s *buffer, void *user_data)
{
auto app = static_cast<appdata *>(user_data);
- if (app->mvSource == nullptr || app->inferHandle == nullptr) {
- std::cout << "mv_source or mv3d_handle is null" << std::endl;
+ if (app->mvSource == nullptr || app->inferHandle == nullptr || app->isStop) {
+ std::cout << "mv_source or mv3d_handle is null, or app stops" << std::endl;
return 0;
}
goto _err;
}
+ app.isStop = false;
vision_source_start_stream(vsHandle, _vision_source_cb, &app);
std::cout << "starting... " << std::endl;
g_main_loop_run(loop);
std::cout << "stop" << std::endl;
+ app.isStop = true;
vision_source_stop_stream(vsHandle);