diff --git a/dshowcapture.py b/dshowcapture.py index 6ac5f96..46def39 100644 --- a/dshowcapture.py +++ b/dshowcapture.py @@ -104,7 +104,7 @@ class DShowCapture(): def get_device(self, device_number): self.lib.get_device(self.cap, device_number, self.name_buffer, 255) - name_str = str(self.name_buffer.value.decode('utf8')) + name_str = str(self.name_buffer.value.decode('utf8', 'surrogateescape')) return name_str def get_info(self): @@ -113,7 +113,7 @@ class DShowCapture(): json_length = self.lib.get_json_length(self.cap); json_buffer = create_string_buffer(json_length) self.lib.get_json(self.cap, json_buffer, json_length); - json_text = str(json_buffer.value.decode('utf8')) + json_text = str(json_buffer.value.decode('utf8', 'surrogateescape')) self.info = json.loads(json_text) for cam in self.info: cam["type"] = "DirectShow" @@ -124,7 +124,7 @@ class DShowCapture(): json_length = self.bm_lib.get_json_length(); json_buffer = create_string_buffer(json_length) self.bm_lib.get_json(json_buffer, json_length); - json_text = str(json_buffer.value.decode('utf8')) + json_text = str(json_buffer.value.decode('utf8', 'surrogateescape')) bm_info = json.loads(json_text) dshow_len = len(self.info) for cam in bm_info: diff --git a/input_reader.py b/input_reader.py index 30e7bb6..a62af69 100644 --- a/input_reader.py +++ b/input_reader.py @@ -36,7 +36,7 @@ class EscapiReader(VideoReader): self.fps = fps self.device = capture escapi.count_capture_devices() - self.name = str(escapi.device_name(self.device).decode('utf8')) + self.name = str(escapi.device_name(self.device).decode('utf8', 'surrogateescape')) self.buffer = escapi.init_camera(self.device, self.width, self.height, self.fps) escapi.do_capture(self.device) def is_open(self): @@ -212,7 +212,7 @@ class InputReader(): devices = escapi.count_capture_devices() found = None for i in range(devices): - escapi_name = str(escapi.device_name(i).decode('utf8')) + escapi_name = str(escapi.device_name(i).decode('utf8', 'surrogateescape')) if name == escapi_name: found = i if found is None: