UNPKG

@privateid/ultra-web-sdk-alpha

Version:
41 lines 2.28 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; /* eslint-disable import/prefer-default-export */ import { BaseCameraService } from './BaseCameraService'; import { CameraFaceMode } from '../camera.types'; import { printLogs } from '../../../global/shared.utils'; import { getFilteredVideoDevices, createFirefoxVideoConstraints } from '../camera.utils'; export class FirefoxCameraService extends BaseCameraService { openCamera(props) { return __awaiter(this, void 0, void 0, function* () { const { videoElementId, canvasResolution } = props; printLogs('Open Camera Firefox!', ''); this.setVideoElementId(videoElementId); this.setFaceMode(props.requestFaceMode || CameraFaceMode.front); yield navigator.mediaDevices.getUserMedia({ audio: false, video: true }); try { const devices = yield getFilteredVideoDevices(); printLogs(`devices: `, devices); if (devices.length === 0) { printLogs('NO_CAMERA', '', 'ERROR'); throw new Error('NO_CAMERA'); } const constraints = createFirefoxVideoConstraints(this.getFaceMode(), canvasResolution); const stream = yield navigator.mediaDevices.getUserMedia(constraints); return this.prepareCameraResult(stream, devices, this.getFaceMode(), videoElementId); } catch (e) { printLogs(`Error while getAccessToCamera `, e, 'ERROR'); return null; } }); } } //# sourceMappingURL=FirefoxCameraService.js.map