-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(external_api) add ability to start transcriptions together with … #14858
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -100,7 +100,7 @@ import { | |
} from '../../react/features/participants-pane/actions'; | ||
import { getParticipantsPaneOpen, isForceMuted } from '../../react/features/participants-pane/functions'; | ||
import { startLocalVideoRecording, stopLocalVideoRecording } from '../../react/features/recording/actions.any'; | ||
import { RECORDING_TYPES } from '../../react/features/recording/constants'; | ||
import { RECORDING_METADATA_ID, RECORDING_TYPES } from '../../react/features/recording/constants'; | ||
import { getActiveSession, supportsLocalRecording } from '../../react/features/recording/functions'; | ||
import { startAudioScreenShareFlow, startScreenShareFlow } from '../../react/features/screen-share/actions'; | ||
import { isScreenAudioSupported } from '../../react/features/screen-share/functions'; | ||
|
@@ -629,6 +629,7 @@ function initCommands() { | |
* @param { string } arg.youtubeStreamKey - The youtube stream key. | ||
* @param { string } arg.youtubeBroadcastID - The youtube broadcast ID. | ||
* @param { Object } arg.extraMetadata - Any extra metadata params for file recording. | ||
* @param { boolean } arg.transcription - Whether a transcription should be started or not. | ||
* @returns {void} | ||
*/ | ||
'start-recording': ({ | ||
|
@@ -640,7 +641,8 @@ function initCommands() { | |
rtmpBroadcastID, | ||
youtubeStreamKey, | ||
youtubeBroadcastID, | ||
extraMetadata = {} | ||
extraMetadata = {}, | ||
transcription | ||
}) => { | ||
const state = APP.store.getState(); | ||
const conference = getCurrentConference(state); | ||
|
@@ -715,25 +717,33 @@ function initCommands() { | |
mode: JitsiRecordingConstants.mode.STREAM, | ||
streamId: youtubeStreamKey || rtmpStreamKey | ||
}; | ||
} else { | ||
logger.error('Invalid recording mode provided'); | ||
|
||
return; | ||
} | ||
|
||
if (isScreenshotCaptureEnabled(state, true, false)) { | ||
APP.store.dispatch(toggleScreenshotCaptureSummary(true)); | ||
} | ||
conference.startRecording(recordingConfig); | ||
|
||
// Start audio / video recording, if requested. | ||
if (typeof recordingConfig !== 'undefined') { | ||
conference.startRecording(recordingConfig); | ||
} | ||
|
||
if (transcription) { | ||
APP.store.dispatch(setRequestingSubtitles(true, false, null)); | ||
conference.getMetadataHandler().setMetadata(RECORDING_METADATA_ID, { | ||
isTranscribingEnabled: true | ||
}); | ||
} | ||
}, | ||
|
||
/** | ||
* Stops a recording or streaming in progress. | ||
* | ||
* @param {string} mode - `local`, `file` or `stream`. | ||
* @param {boolean} transcription - Whether the transcription needs to be stopped. | ||
* @returns {void} | ||
*/ | ||
'stop-recording': mode => { | ||
'stop-recording': (mode, transcription) => { | ||
const state = APP.store.getState(); | ||
const conference = getCurrentConference(state); | ||
|
||
|
@@ -743,6 +753,13 @@ function initCommands() { | |
return; | ||
} | ||
|
||
if (transcription) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm wondering if the the recording have been started with transcription but it is stopped with transcription Also what happens if the recording have been started without transcription but it is stopped with transcription There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, the transcription is allowed to continue in that case. |
||
APP.store.dispatch(setRequestingSubtitles(false, false, null)); | ||
conference.getMetadataHandler().setMetadata(RECORDING_METADATA_ID, { | ||
isTranscribingEnabled: false | ||
}); | ||
} | ||
|
||
if (mode === 'local') { | ||
APP.store.dispatch(stopLocalVideoRecording()); | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need the print anymore?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No because if there is no recording the mode won't be set, just the transcription flag.