matrix-react-sdk
Version:
SDK for matrix.org using React
47 lines (43 loc) • 6.01 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getConfigLivestreamUrl = getConfigLivestreamUrl;
exports.startJitsiAudioLivestream = startJitsiAudioLivestream;
var _SdkConfig = _interopRequireDefault(require("./SdkConfig"));
var _ElementWidgetActions = require("./stores/widgets/ElementWidgetActions");
/*
Copyright 2024 New Vector Ltd.
Copyright 2021 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.
*/
function getConfigLivestreamUrl() {
return _SdkConfig.default.get("audio_stream_url");
}
// Dummy rtmp URL used to signal that we want a special audio-only stream
const AUDIOSTREAM_DUMMY_URL = "rtmp://audiostream.dummy/";
async function createLiveStream(matrixClient, roomId) {
const openIdToken = await matrixClient.getOpenIdToken();
const url = getConfigLivestreamUrl() + "/createStream";
const response = await window.fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
room_id: roomId,
openid_token: openIdToken
})
});
const respBody = await response.json();
return respBody["stream_id"];
}
async function startJitsiAudioLivestream(matrixClient, widgetMessaging, roomId) {
const streamId = await createLiveStream(matrixClient, roomId);
await widgetMessaging.transport.send(_ElementWidgetActions.ElementWidgetActions.StartLiveStream, {
rtmpStreamKey: AUDIOSTREAM_DUMMY_URL + streamId
});
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2RrQ29uZmlnIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfRWxlbWVudFdpZGdldEFjdGlvbnMiLCJnZXRDb25maWdMaXZlc3RyZWFtVXJsIiwiU2RrQ29uZmlnIiwiZ2V0IiwiQVVESU9TVFJFQU1fRFVNTVlfVVJMIiwiY3JlYXRlTGl2ZVN0cmVhbSIsIm1hdHJpeENsaWVudCIsInJvb21JZCIsIm9wZW5JZFRva2VuIiwiZ2V0T3BlbklkVG9rZW4iLCJ1cmwiLCJyZXNwb25zZSIsIndpbmRvdyIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5Iiwicm9vbV9pZCIsIm9wZW5pZF90b2tlbiIsInJlc3BCb2R5IiwianNvbiIsInN0YXJ0Sml0c2lBdWRpb0xpdmVzdHJlYW0iLCJ3aWRnZXRNZXNzYWdpbmciLCJzdHJlYW1JZCIsInRyYW5zcG9ydCIsInNlbmQiLCJFbGVtZW50V2lkZ2V0QWN0aW9ucyIsIlN0YXJ0TGl2ZVN0cmVhbSIsInJ0bXBTdHJlYW1LZXkiXSwic291cmNlcyI6WyIuLi9zcmMvTGl2ZXN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBDbGllbnRXaWRnZXRBcGkgfSBmcm9tIFwibWF0cml4LXdpZGdldC1hcGlcIjtcbmltcG9ydCB7IE1hdHJpeENsaWVudCB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IFNka0NvbmZpZyBmcm9tIFwiLi9TZGtDb25maWdcIjtcbmltcG9ydCB7IEVsZW1lbnRXaWRnZXRBY3Rpb25zIH0gZnJvbSBcIi4vc3RvcmVzL3dpZGdldHMvRWxlbWVudFdpZGdldEFjdGlvbnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZ0xpdmVzdHJlYW1VcmwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gU2RrQ29uZmlnLmdldChcImF1ZGlvX3N0cmVhbV91cmxcIik7XG59XG5cbi8vIER1bW15IHJ0bXAgVVJMIHVzZWQgdG8gc2lnbmFsIHRoYXQgd2Ugd2FudCBhIHNwZWNpYWwgYXVkaW8tb25seSBzdHJlYW1cbmNvbnN0IEFVRElPU1RSRUFNX0RVTU1ZX1VSTCA9IFwicnRtcDovL2F1ZGlvc3RyZWFtLmR1bW15L1wiO1xuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVMaXZlU3RyZWFtKG1hdHJpeENsaWVudDogTWF0cml4Q2xpZW50LCByb29tSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG9wZW5JZFRva2VuID0gYXdhaXQgbWF0cml4Q2xpZW50LmdldE9wZW5JZFRva2VuKCk7XG5cbiAgICBjb25zdCB1cmwgPSBnZXRDb25maWdMaXZlc3RyZWFtVXJsKCkgKyBcIi9jcmVhdGVTdHJlYW1cIjtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgd2luZG93LmZldGNoKHVybCwge1xuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgcm9vbV9pZDogcm9vbUlkLFxuICAgICAgICAgICAgb3BlbmlkX3Rva2VuOiBvcGVuSWRUb2tlbixcbiAgICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXNwQm9keSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICByZXR1cm4gcmVzcEJvZHlbXCJzdHJlYW1faWRcIl07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdGFydEppdHNpQXVkaW9MaXZlc3RyZWFtKFxuICAgIG1hdHJpeENsaWVudDogTWF0cml4Q2xpZW50LFxuICAgIHdpZGdldE1lc3NhZ2luZzogQ2xpZW50V2lkZ2V0QXBpLFxuICAgIHJvb21JZDogc3RyaW5nLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RyZWFtSWQgPSBhd2FpdCBjcmVhdGVMaXZlU3RyZWFtKG1hdHJpeENsaWVudCwgcm9vbUlkKTtcblxuICAgIGF3YWl0IHdpZGdldE1lc3NhZ2luZy50cmFuc3BvcnQuc2VuZChFbGVtZW50V2lkZ2V0QWN0aW9ucy5TdGFydExpdmVTdHJlYW0sIHtcbiAgICAgICAgcnRtcFN0cmVhbUtleTogQVVESU9TVFJFQU1fRFVNTVlfVVJMICsgc3RyZWFtSWQsXG4gICAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBV0EsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMscUJBQUEsR0FBQUQsT0FBQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVFPLFNBQVNFLHNCQUFzQkEsQ0FBQSxFQUF1QjtFQUN6RCxPQUFPQyxrQkFBUyxDQUFDQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7QUFDNUM7O0FBRUE7QUFDQSxNQUFNQyxxQkFBcUIsR0FBRywyQkFBMkI7QUFFekQsZUFBZUMsZ0JBQWdCQSxDQUFDQyxZQUEwQixFQUFFQyxNQUFjLEVBQWlCO0VBQ3ZGLE1BQU1DLFdBQVcsR0FBRyxNQUFNRixZQUFZLENBQUNHLGNBQWMsQ0FBQyxDQUFDO0VBRXZELE1BQU1DLEdBQUcsR0FBR1Qsc0JBQXNCLENBQUMsQ0FBQyxHQUFHLGVBQWU7RUFFdEQsTUFBTVUsUUFBUSxHQUFHLE1BQU1DLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDSCxHQUFHLEVBQUU7SUFDckNJLE1BQU0sRUFBRSxNQUFNO0lBQ2RDLE9BQU8sRUFBRTtNQUNMLGNBQWMsRUFBRTtJQUNwQixDQUFDO0lBQ0RDLElBQUksRUFBRUMsSUFBSSxDQUFDQyxTQUFTLENBQUM7TUFDakJDLE9BQU8sRUFBRVosTUFBTTtNQUNmYSxZQUFZLEVBQUVaO0lBQ2xCLENBQUM7RUFDTCxDQUFDLENBQUM7RUFFRixNQUFNYSxRQUFRLEdBQUcsTUFBTVYsUUFBUSxDQUFDVyxJQUFJLENBQUMsQ0FBQztFQUN0QyxPQUFPRCxRQUFRLENBQUMsV0FBVyxDQUFDO0FBQ2hDO0FBRU8sZUFBZUUseUJBQXlCQSxDQUMzQ2pCLFlBQTBCLEVBQzFCa0IsZUFBZ0MsRUFDaENqQixNQUFjLEVBQ0Q7RUFDYixNQUFNa0IsUUFBUSxHQUFHLE1BQU1wQixnQkFBZ0IsQ0FBQ0MsWUFBWSxFQUFFQyxNQUFNLENBQUM7RUFFN0QsTUFBTWlCLGVBQWUsQ0FBQ0UsU0FBUyxDQUFDQyxJQUFJLENBQUNDLDBDQUFvQixDQUFDQyxlQUFlLEVBQUU7SUFDdkVDLGFBQWEsRUFBRTFCLHFCQUFxQixHQUFHcUI7RUFDM0MsQ0FBQyxDQUFDO0FBQ04iLCJpZ25vcmVMaXN0IjpbXX0=