UNPKG

@ashetm/ng-mediastream

Version:

``@ashetm/ng-mediastream`` is a library that simplify manipulation of API ``MediaStream``.

36 lines 4.57 kB
import { BehaviorSubject } from "rxjs"; import { AMediastreamDevice } from "./mediastream-device.class"; export class AMediastreamService extends AMediastreamDevice { get mediastreamConstraints() { return this._mediaConstraints; } constructor(_mediaConstraints) { super(); this._mediaConstraints = _mediaConstraints; this._toggleMediaStreamSubject = new BehaviorSubject(true); } _buildMediaConstraints(device) { switch (true) { case device && typeof this._mediaConstraints === 'object': return { ...this._mediaConstraints, deviceId: device.deviceId }; case device && typeof this._mediaConstraints === 'boolean' && this._mediaConstraints: return { deviceId: device.deviceId }; case device && typeof this._mediaConstraints === 'boolean' && !this._mediaConstraints: return this._mediaConstraints; default: return { ...this._mediaConstraints }; } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFzdHJlYW0tc2VydmljZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc3RyZWFtL3NyYy9saWIvbWVkaWFzdHJlYW0tc2VydmljZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE1BQU0sT0FBZ0IsbUJBQW9CLFNBQVEsa0JBQWtCO0lBT2xFLElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUNxQixpQkFBa0Q7UUFFckUsS0FBSyxFQUFFLENBQUM7UUFGVyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWlDO1FBUnBELDhCQUF5QixHQUN4QyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztJQVV2QyxDQUFDO0lBRVMsc0JBQXNCLENBQzlCLE1BQThCO1FBRTlCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxNQUFNLElBQUksT0FBTyxJQUFJLENBQUMsaUJBQWlCLEtBQUssUUFBUTtnQkFDdkQsT0FBTztvQkFDTCxHQUFHLElBQUksQ0FBQyxpQkFBMEM7b0JBQ2xELFFBQVEsRUFBRyxNQUEwQixDQUFDLFFBQVE7aUJBQy9DLENBQUM7WUFDSixLQUFLLE1BQU07bUJBQ04sT0FBTyxJQUFJLENBQUMsaUJBQWlCLEtBQUssU0FBUzttQkFDekMsSUFBSSxDQUFDLGlCQUFpQjtnQkFDM0IsT0FBTztvQkFDTCxRQUFRLEVBQUcsTUFBMEIsQ0FBQyxRQUFRO2lCQUMvQyxDQUFDO1lBQ0osS0FBSyxNQUFNO21CQUNOLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixLQUFLLFNBQVM7bUJBQ3pDLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtnQkFDNUIsT0FBTyxJQUFJLENBQUMsaUJBQTBCLENBQUM7WUFFekM7Z0JBQ0UsT0FBTztvQkFDTCxHQUFHLElBQUksQ0FBQyxpQkFBMEM7aUJBQ25ELENBQUM7U0FDTDtJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IEFNZWRpYXN0cmVhbURldmljZSB9IGZyb20gXCIuL21lZGlhc3RyZWFtLWRldmljZS5jbGFzc1wiO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBTWVkaWFzdHJlYW1TZXJ2aWNlIGV4dGVuZHMgQU1lZGlhc3RyZWFtRGV2aWNlIHtcblxuICBhYnN0cmFjdCByZWFkb25seSBtZWRpYXN0cmVhbSQ6IE9ic2VydmFibGU8TWVkaWFTdHJlYW0+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfdG9nZ2xlTWVkaWFTdHJlYW1TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj5cbiAgICA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgZ2V0IG1lZGlhc3RyZWFtQ29uc3RyYWludHMoKTogYm9vbGVhbiB8IE1lZGlhVHJhY2tDb25zdHJhaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhQ29uc3RyYWludHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX21lZGlhQ29uc3RyYWludHM6IGJvb2xlYW4gfCBNZWRpYVRyYWNrQ29uc3RyYWludHNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfYnVpbGRNZWRpYUNvbnN0cmFpbnRzKFxuICAgIGRldmljZTogTWVkaWFEZXZpY2VJbmZvIHwgbnVsbFxuICApOiBib29sZWFuIHwgTWVkaWFUcmFja0NvbnN0cmFpbnRzIHtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgZGV2aWNlICYmIHR5cGVvZiB0aGlzLl9tZWRpYUNvbnN0cmFpbnRzID09PSAnb2JqZWN0JzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50aGlzLl9tZWRpYUNvbnN0cmFpbnRzIGFzIE1lZGlhVHJhY2tDb25zdHJhaW50cyxcbiAgICAgICAgICBkZXZpY2VJZDogKGRldmljZSBhcyBNZWRpYURldmljZUluZm8pLmRldmljZUlkXG4gICAgICAgIH07XG4gICAgICBjYXNlIGRldmljZVxuICAgICAgICAmJiB0eXBlb2YgdGhpcy5fbWVkaWFDb25zdHJhaW50cyA9PT0gJ2Jvb2xlYW4nXG4gICAgICAgICAgJiYgdGhpcy5fbWVkaWFDb25zdHJhaW50czpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkZXZpY2VJZDogKGRldmljZSBhcyBNZWRpYURldmljZUluZm8pLmRldmljZUlkXG4gICAgICAgIH07XG4gICAgICBjYXNlIGRldmljZVxuICAgICAgICAmJiB0eXBlb2YgdGhpcy5fbWVkaWFDb25zdHJhaW50cyA9PT0gJ2Jvb2xlYW4nXG4gICAgICAgICAgJiYgIXRoaXMuX21lZGlhQ29uc3RyYWludHM6XG4gICAgICAgIHJldHVybiB0aGlzLl9tZWRpYUNvbnN0cmFpbnRzIGFzIGZhbHNlO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnRoaXMuX21lZGlhQ29uc3RyYWludHMgYXMgTWVkaWFUcmFja0NvbnN0cmFpbnRzXG4gICAgICAgIH07XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==