Merge pull request #16604 from vector-im/dbkr/audiostream

Add option for audio live streaming
This commit is contained in:
David Baker 2021-03-08 11:50:51 +00:00 committed by GitHub
commit 49d103aab6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View file

@ -113,6 +113,9 @@ For a good example, see https://develop.element.io/config.json.
1. `mobileGuideToast`: Whether to show a toast a startup which nudges users on 1. `mobileGuideToast`: Whether to show a toast a startup which nudges users on
iOS and Android towards the native mobile apps. The toast redirects to the iOS and Android towards the native mobile apps. The toast redirects to the
mobile guide if they accept. Defaults to false. mobile guide if they accept. Defaults to false.
1. `audioStreamUrl`: If supplied, show an option on Jitsi widgets to stream
audio using Jitsi's live streaming feature. This option is experimental and
may be removed at any time without notice.
Note that `index.html` also has an og:image meta tag that is set to an image Note that `index.html` also has an og:image meta tag that is set to an image
hosted on riot.im. This is the image used if links to your copy of Element hosted on riot.im. This is the image used if links to your copy of Element

View file

@ -126,6 +126,22 @@ let meetApi: any; // JitsiMeetExternalAPI
widgetApi.transport.reply(ev.detail, {}); // ack widgetApi.transport.reply(ev.detail, {}); // ack
}, },
); );
widgetApi.on(`action:${ElementWidgetActions.StartLiveStream}`,
(ev: CustomEvent<IWidgetApiRequest>) => {
if (meetApi) {
meetApi.executeCommand('startRecording', {
mode: 'stream',
// this looks like it should be rtmpStreamKey but we may be on too old
// a version of jitsi meet
//rtmpStreamKey: ev.detail.data.rtmpStreamKey,
youtubeStreamKey: ev.detail.data.rtmpStreamKey,
});
widgetApi.transport.reply(ev.detail, {}); // ack
} else {
widgetApi.transport.reply(ev.detail, {error: {message: "Conference not joined"}});
}
},
);
} }
enableJoinButton(); // always enable the button enableJoinButton(); // always enable the button