UNPKG

matrix-react-sdk

Version:
54 lines (51 loc) 7.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useVoiceBroadcastPlayback = void 0; var _useEventEmitter = require("../../hooks/useEventEmitter"); var _MatrixClientPeg = require("../../MatrixClientPeg"); var _ = require(".."); /* Copyright 2024 New Vector Ltd. Copyright 2022, 2023 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ const useVoiceBroadcastPlayback = playback => { const client = _MatrixClientPeg.MatrixClientPeg.safeGet(); const room = client.getRoom(playback.infoEvent.getRoomId()); if (!room) { throw new Error(`Voice Broadcast room not found (event ${playback.infoEvent.getId()})`); } const sender = playback.infoEvent.sender; if (!sender) { throw new Error(`Voice Broadcast sender not found (event ${playback.infoEvent.getId()})`); } const playbackToggle = () => { playback.toggle(); }; const playbackState = (0, _useEventEmitter.useTypedEventEmitterState)(playback, _.VoiceBroadcastPlaybackEvent.StateChanged, state => { return state ?? playback.getState(); }); const times = (0, _useEventEmitter.useTypedEventEmitterState)(playback, _.VoiceBroadcastPlaybackEvent.TimesChanged, t => { return t ?? { duration: playback.durationSeconds, position: playback.timeSeconds, timeLeft: playback.timeLeftSeconds }; }); const liveness = (0, _useEventEmitter.useTypedEventEmitterState)(playback, _.VoiceBroadcastPlaybackEvent.LivenessChanged, l => { return l ?? playback.getLiveness(); }); return { times, liveness: liveness, playbackState, room: room, sender, toggle: playbackToggle }; }; exports.useVoiceBroadcastPlayback = useVoiceBroadcastPlayback; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXNlRXZlbnRFbWl0dGVyIiwicmVxdWlyZSIsIl9NYXRyaXhDbGllbnRQZWciLCJfIiwidXNlVm9pY2VCcm9hZGNhc3RQbGF5YmFjayIsInBsYXliYWNrIiwiY2xpZW50IiwiTWF0cml4Q2xpZW50UGVnIiwic2FmZUdldCIsInJvb20iLCJnZXRSb29tIiwiaW5mb0V2ZW50IiwiZ2V0Um9vbUlkIiwiRXJyb3IiLCJnZXRJZCIsInNlbmRlciIsInBsYXliYWNrVG9nZ2xlIiwidG9nZ2xlIiwicGxheWJhY2tTdGF0ZSIsInVzZVR5cGVkRXZlbnRFbWl0dGVyU3RhdGUiLCJWb2ljZUJyb2FkY2FzdFBsYXliYWNrRXZlbnQiLCJTdGF0ZUNoYW5nZWQiLCJzdGF0ZSIsImdldFN0YXRlIiwidGltZXMiLCJUaW1lc0NoYW5nZWQiLCJ0IiwiZHVyYXRpb24iLCJkdXJhdGlvblNlY29uZHMiLCJwb3NpdGlvbiIsInRpbWVTZWNvbmRzIiwidGltZUxlZnQiLCJ0aW1lTGVmdFNlY29uZHMiLCJsaXZlbmVzcyIsIkxpdmVuZXNzQ2hhbmdlZCIsImwiLCJnZXRMaXZlbmVzcyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdm9pY2UtYnJvYWRjYXN0L2hvb2tzL3VzZVZvaWNlQnJvYWRjYXN0UGxheWJhY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIsIDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgUm9vbSwgUm9vbU1lbWJlciB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IHsgdXNlVHlwZWRFdmVudEVtaXR0ZXJTdGF0ZSB9IGZyb20gXCIuLi8uLi9ob29rcy91c2VFdmVudEVtaXR0ZXJcIjtcbmltcG9ydCB7IE1hdHJpeENsaWVudFBlZyB9IGZyb20gXCIuLi8uLi9NYXRyaXhDbGllbnRQZWdcIjtcbmltcG9ydCB7XG4gICAgVm9pY2VCcm9hZGNhc3RMaXZlbmVzcyxcbiAgICBWb2ljZUJyb2FkY2FzdFBsYXliYWNrLFxuICAgIFZvaWNlQnJvYWRjYXN0UGxheWJhY2tFdmVudCxcbiAgICBWb2ljZUJyb2FkY2FzdFBsYXliYWNrU3RhdGUsXG4gICAgVm9pY2VCcm9hZGNhc3RQbGF5YmFja1RpbWVzLFxufSBmcm9tIFwiLi5cIjtcblxuZXhwb3J0IGNvbnN0IHVzZVZvaWNlQnJvYWRjYXN0UGxheWJhY2sgPSAoXG4gICAgcGxheWJhY2s6IFZvaWNlQnJvYWRjYXN0UGxheWJhY2ssXG4pOiB7XG4gICAgdGltZXM6IHtcbiAgICAgICAgZHVyYXRpb246IG51bWJlcjtcbiAgICAgICAgcG9zaXRpb246IG51bWJlcjtcbiAgICAgICAgdGltZUxlZnQ6IG51bWJlcjtcbiAgICB9O1xuICAgIHNlbmRlcjogUm9vbU1lbWJlciB8IG51bGw7XG4gICAgbGl2ZW5lc3M6IFZvaWNlQnJvYWRjYXN0TGl2ZW5lc3M7XG4gICAgcGxheWJhY2tTdGF0ZTogVm9pY2VCcm9hZGNhc3RQbGF5YmFja1N0YXRlO1xuICAgIHRvZ2dsZSgpOiB2b2lkO1xuICAgIHJvb206IFJvb207XG59ID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBNYXRyaXhDbGllbnRQZWcuc2FmZUdldCgpO1xuICAgIGNvbnN0IHJvb20gPSBjbGllbnQuZ2V0Um9vbShwbGF5YmFjay5pbmZvRXZlbnQuZ2V0Um9vbUlkKCkpO1xuXG4gICAgaWYgKCFyb29tKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVm9pY2UgQnJvYWRjYXN0IHJvb20gbm90IGZvdW5kIChldmVudCAke3BsYXliYWNrLmluZm9FdmVudC5nZXRJZCgpfSlgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZW5kZXIgPSBwbGF5YmFjay5pbmZvRXZlbnQuc2VuZGVyO1xuXG4gICAgaWYgKCFzZW5kZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWb2ljZSBCcm9hZGNhc3Qgc2VuZGVyIG5vdCBmb3VuZCAoZXZlbnQgJHtwbGF5YmFjay5pbmZvRXZlbnQuZ2V0SWQoKX0pYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcGxheWJhY2tUb2dnbGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHBsYXliYWNrLnRvZ2dsZSgpO1xuICAgIH07XG5cbiAgICBjb25zdCBwbGF5YmFja1N0YXRlID0gdXNlVHlwZWRFdmVudEVtaXR0ZXJTdGF0ZShcbiAgICAgICAgcGxheWJhY2ssXG4gICAgICAgIFZvaWNlQnJvYWRjYXN0UGxheWJhY2tFdmVudC5TdGF0ZUNoYW5nZWQsXG4gICAgICAgIChzdGF0ZT86IFZvaWNlQnJvYWRjYXN0UGxheWJhY2tTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlID8/IHBsYXliYWNrLmdldFN0YXRlKCk7XG4gICAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IHRpbWVzID0gdXNlVHlwZWRFdmVudEVtaXR0ZXJTdGF0ZShcbiAgICAgICAgcGxheWJhY2ssXG4gICAgICAgIFZvaWNlQnJvYWRjYXN0UGxheWJhY2tFdmVudC5UaW1lc0NoYW5nZWQsXG4gICAgICAgICh0PzogVm9pY2VCcm9hZGNhc3RQbGF5YmFja1RpbWVzKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIHQgPz8ge1xuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogcGxheWJhY2suZHVyYXRpb25TZWNvbmRzLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcGxheWJhY2sudGltZVNlY29uZHMsXG4gICAgICAgICAgICAgICAgICAgIHRpbWVMZWZ0OiBwbGF5YmFjay50aW1lTGVmdFNlY29uZHMsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgbGl2ZW5lc3MgPSB1c2VUeXBlZEV2ZW50RW1pdHRlclN0YXRlKFxuICAgICAgICBwbGF5YmFjayxcbiAgICAgICAgVm9pY2VCcm9hZGNhc3RQbGF5YmFja0V2ZW50LkxpdmVuZXNzQ2hhbmdlZCxcbiAgICAgICAgKGw/OiBWb2ljZUJyb2FkY2FzdExpdmVuZXNzKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbCA/PyBwbGF5YmFjay5nZXRMaXZlbmVzcygpO1xuICAgICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB0aW1lcyxcbiAgICAgICAgbGl2ZW5lc3M6IGxpdmVuZXNzLFxuICAgICAgICBwbGF5YmFja1N0YXRlLFxuICAgICAgICByb29tOiByb29tLFxuICAgICAgICBzZW5kZXIsXG4gICAgICAgIHRvZ2dsZTogcGxheWJhY2tUb2dnbGUsXG4gICAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVVBLElBQUFBLGdCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxnQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsQ0FBQSxHQUFBRixPQUFBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBY08sTUFBTUcseUJBQXlCLEdBQ2xDQyxRQUFnQyxJQVkvQjtFQUNELE1BQU1DLE1BQU0sR0FBR0MsZ0NBQWUsQ0FBQ0MsT0FBTyxDQUFDLENBQUM7RUFDeEMsTUFBTUMsSUFBSSxHQUFHSCxNQUFNLENBQUNJLE9BQU8sQ0FBQ0wsUUFBUSxDQUFDTSxTQUFTLENBQUNDLFNBQVMsQ0FBQyxDQUFDLENBQUM7RUFFM0QsSUFBSSxDQUFDSCxJQUFJLEVBQUU7SUFDUCxNQUFNLElBQUlJLEtBQUssQ0FBQyx5Q0FBeUNSLFFBQVEsQ0FBQ00sU0FBUyxDQUFDRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7RUFDM0Y7RUFFQSxNQUFNQyxNQUFNLEdBQUdWLFFBQVEsQ0FBQ00sU0FBUyxDQUFDSSxNQUFNO0VBRXhDLElBQUksQ0FBQ0EsTUFBTSxFQUFFO0lBQ1QsTUFBTSxJQUFJRixLQUFLLENBQUMsMkNBQTJDUixRQUFRLENBQUNNLFNBQVMsQ0FBQ0csS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO0VBQzdGO0VBRUEsTUFBTUUsY0FBYyxHQUFHQSxDQUFBLEtBQVk7SUFDL0JYLFFBQVEsQ0FBQ1ksTUFBTSxDQUFDLENBQUM7RUFDckIsQ0FBQztFQUVELE1BQU1DLGFBQWEsR0FBRyxJQUFBQywwQ0FBeUIsRUFDM0NkLFFBQVEsRUFDUmUsNkJBQTJCLENBQUNDLFlBQVksRUFDdkNDLEtBQW1DLElBQUs7SUFDckMsT0FBT0EsS0FBSyxJQUFJakIsUUFBUSxDQUFDa0IsUUFBUSxDQUFDLENBQUM7RUFDdkMsQ0FDSixDQUFDO0VBRUQsTUFBTUMsS0FBSyxHQUFHLElBQUFMLDBDQUF5QixFQUNuQ2QsUUFBUSxFQUNSZSw2QkFBMkIsQ0FBQ0ssWUFBWSxFQUN2Q0MsQ0FBK0IsSUFBSztJQUNqQyxPQUNJQSxDQUFDLElBQUk7TUFDREMsUUFBUSxFQUFFdEIsUUFBUSxDQUFDdUIsZUFBZTtNQUNsQ0MsUUFBUSxFQUFFeEIsUUFBUSxDQUFDeUIsV0FBVztNQUM5QkMsUUFBUSxFQUFFMUIsUUFBUSxDQUFDMkI7SUFDdkIsQ0FBQztFQUVULENBQ0osQ0FBQztFQUVELE1BQU1DLFFBQVEsR0FBRyxJQUFBZCwwQ0FBeUIsRUFDdENkLFFBQVEsRUFDUmUsNkJBQTJCLENBQUNjLGVBQWUsRUFDMUNDLENBQTBCLElBQUs7SUFDNUIsT0FBT0EsQ0FBQyxJQUFJOUIsUUFBUSxDQUFDK0IsV0FBVyxDQUFDLENBQUM7RUFDdEMsQ0FDSixDQUFDO0VBRUQsT0FBTztJQUNIWixLQUFLO0lBQ0xTLFFBQVEsRUFBRUEsUUFBUTtJQUNsQmYsYUFBYTtJQUNiVCxJQUFJLEVBQUVBLElBQUk7SUFDVk0sTUFBTTtJQUNORSxNQUFNLEVBQUVEO0VBQ1osQ0FBQztBQUNMLENBQUM7QUFBQ3FCLE9BQUEsQ0FBQWpDLHlCQUFBLEdBQUFBLHlCQUFBIiwiaWdub3JlTGlzdCI6W119