diff --git a/modules/videoio/src/cap_aravis.cpp b/modules/videoio/src/cap_aravis.cpp index 3423ca6ad45e14399fcbc118626afbc25c8a4b3d..c272bee726ab09b74054a4cc4601c3c570fb5496 100644 --- a/modules/videoio/src/cap_aravis.cpp +++ b/modules/videoio/src/cap_aravis.cpp @@ -188,11 +188,12 @@ CvCaptureCAM_Aravis::CvCaptureCAM_Aravis() void CvCaptureCAM_Aravis::close() { - if(camera) + if(camera) { stopCapture(); - g_object_unref(camera); - camera = NULL; + g_object_unref(camera); + camera = NULL; + } } bool CvCaptureCAM_Aravis::getDeviceNameById(int id, std::string &device) @@ -559,8 +560,10 @@ void CvCaptureCAM_Aravis::stopCapture() { arv_camera_stop_acquisition(camera); - g_object_unref(stream); - stream = NULL; + if(stream) { + g_object_unref(stream); + stream = NULL; + } } bool CvCaptureCAM_Aravis::startCapture()