| 92 | |
| 93 | # Set filename |
| 94 | def _setFilename(self, base_dir, filename, mode): |
| 95 | filename_valid = False |
| 96 | |
| 97 | if self.active: |
| 98 | return filename_valid |
| 99 | |
| 100 | self.filename = "" |
| 101 | self.frame_index = 0 |
| 102 | |
| 103 | file_extension = str(filename).split('.')[-1].lower() |
| 104 | |
| 105 | if file_extension in video_file_extensions: |
| 106 | self.video = True |
| 107 | else: |
| 108 | self.video = False |
| 109 | |
| 110 | file_path = os.path.join(base_dir, filename) |
| 111 | logger.debug(f"File path: {file_path}") |
| 112 | |
| 113 | if (mode & MODE_IO_Msk) == MODE_Input: |
| 114 | self.mode = MODE_Input |
| 115 | if os.path.isfile(file_path): |
| 116 | if file_extension in (video_file_extensions + image_file_extensions): |
| 117 | self.filename = file_path |
| 118 | filename_valid = True |
| 119 | else: |
| 120 | self.mode = MODE_Output |
| 121 | if file_extension in (video_file_extensions + image_file_extensions): |
| 122 | if os.path.isfile(file_path): |
| 123 | os.remove(file_path) |
| 124 | self.filename = file_path |
| 125 | filename_valid = True |
| 126 | |
| 127 | return filename_valid |
| 128 | |
| 129 | # Configure video stream |
| 130 | def _configureStream(self, frame_width, frame_height, color_format, frame_rate): |