Set workaround environment variable before importing OpenCV

This commit is contained in:
Fabio Manganiello 2019-03-17 01:56:05 +01:00
parent 9f008aa954
commit 9ed4ad6d85

View file

@ -4,6 +4,10 @@ import shutil
import threading import threading
import time import time
# Temporary workaround for bug on OpenCV >= 3.4.2 that doesn't
# properly release the device, see https://github.com/opencv/opencv/issues/12301#issuecomment-415801564
os.environ['OPENCV_VIDEOIO_PRIORITY_MSMF'] = '0'
import cv2 import cv2
from datetime import datetime from datetime import datetime
@ -136,11 +140,6 @@ class CameraPlugin(Plugin):
self._recording_threads = {} # device_id => Thread map self._recording_threads = {} # device_id => Thread map
self._recording_info = {} # device_id => recording info map self._recording_info = {} # device_id => recording info map
# Temporary workaround for bug on OpenCV >= 3.4.2 that doesn't
# properly release the device, see https://github.com/opencv/opencv/issues/12301#issuecomment-415801564
if tuple(map(int, cv2.__version__.split('.'))) >= (3, 4, 2):
os.environ['OPENCV_VIDEOIO_PRIORITY_MSMF'] = '0'
def _init_device(self, device_id, frames_dir=None, **info): def _init_device(self, device_id, frames_dir=None, **info):
self._release_device(device_id) self._release_device(device_id)