fixes for session recording with other participants
This commit is contained in:
parent
ab34c37d80
commit
844633397f
|
|
@ -11,6 +11,7 @@ AppStore = context.AppStore
|
|||
onSessionMixerChange: (sessionMixers) ->
|
||||
console.log("_DEBUG_ SessionRecordBtn onSessionMixerChange", sessionMixers)
|
||||
@setState({isRecording: sessionMixers.session.isRecording})
|
||||
@setState({isRecordingInitiator: sessionMixers.session.recordingClinetId && sessionMixers.session.recordingClinetId == @app.clientId})
|
||||
|
||||
getInitialState: () ->
|
||||
{childWindow: null, isRecording: false}
|
||||
|
|
@ -24,7 +25,7 @@ AppStore = context.AppStore
|
|||
return 'noclose'
|
||||
|
||||
handleClick: () ->
|
||||
if @state.isRecording
|
||||
if @state.isRecording && @state.isRecordingInitiator
|
||||
RecordingActions.stopRecording()
|
||||
else
|
||||
@openRecording()
|
||||
|
|
@ -50,12 +51,24 @@ AppStore = context.AppStore
|
|||
|
||||
render: () ->
|
||||
btnStyles = "session-record session-record-btn left"
|
||||
|
||||
if this.state.isRecording
|
||||
btnStyles = btnStyles+' button-orange'
|
||||
if this.state.isRecordingInitiator
|
||||
btnStyles = btnStyles+' button-orange'
|
||||
`<a className={btnStyles} data-is-recording={this.state.isRecording} onClick={this.handleClick}>
|
||||
<img src="/assets/content/icon_record.png" align="texttop" height="14" width="14"/>
|
||||
STOP RECORDING
|
||||
</a>`
|
||||
else
|
||||
btnStyles = btnStyles+' button-grey'
|
||||
`<a className={btnStyles} data-is-recording={this.state.isRecording}>
|
||||
<img src="/assets/content/icon_record.png" align="texttop" height="14" width="14"/>
|
||||
RECORDING INPROGRESS
|
||||
</a>`
|
||||
else
|
||||
btnStyles = btnStyles+' button-grey'
|
||||
`<a className={btnStyles} data-is-recording={this.state.isRecording} onClick={this.handleClick}>
|
||||
<img src="/assets/content/icon_record.png" align="texttop" height="14" width="14"/>
|
||||
{this.state.isRecording ? 'STOP RECORDING' : 'RECORD'}
|
||||
</a>`
|
||||
`<a className={btnStyles} data-is-recording={this.state.isRecording} onClick={this.handleClick}>
|
||||
<img src="/assets/content/icon_record.png" align="texttop" height="14" width="14"/>
|
||||
RECORD
|
||||
</a>`
|
||||
})
|
||||
|
|
@ -2,7 +2,7 @@ context = window
|
|||
|
||||
@SessionHelper = class SessionHelper
|
||||
|
||||
constructor: (app, session, participantsEverSeen, isRecording, downloadingJamTrack, preppingVstEnable, sessionRules, subscriptionRules) ->
|
||||
constructor: (app, session, participantsEverSeen, isRecording, downloadingJamTrack, preppingVstEnable, sessionRules, subscriptionRules, recordingClinetId) ->
|
||||
@app = app
|
||||
@session = session
|
||||
@participantsEverSeen = participantsEverSeen
|
||||
|
|
@ -12,6 +12,7 @@ context = window
|
|||
@isLesson = @session?.lesson_session?
|
||||
@sessionRules = sessionRules
|
||||
@subscriptionRules = subscriptionRules
|
||||
@recordingClinetId = recordingClinetId
|
||||
if @isLesson
|
||||
@lessonId = @session.lesson_session.id
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ BackendToFrontendFPS = {
|
|||
$(context.AppStore).on('SessionEnded', @onSessionEnded)
|
||||
|
||||
onInitModel: (recordingModel) ->
|
||||
console.log("_DEBUG_ RecordingStore.onInitModel", JSON.stringify(recordingModel) )
|
||||
@recordingModel = recordingModel
|
||||
this.trigger({isRecording: @recordingModel.isRecording()})
|
||||
|
||||
|
|
@ -106,6 +107,7 @@ BackendToFrontendFPS = {
|
|||
@mixTransferred = true
|
||||
|
||||
onAudioRecordingFormatChanged: (audioFormat) ->
|
||||
logger.debug("_DEBUG_ onAudioRecordingFormatChanged", JSON.stringify(@recordingModel))
|
||||
this.trigger({audioRecordingFormat: audioFormat, isRecording: @recordingModel.isRecording()})
|
||||
|
||||
popupRecordingControls: () ->
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ ConfigureTracksActions = @ConfigureTracksActions
|
|||
onVideoChanged: (@videoState) ->
|
||||
|
||||
issueChange: () ->
|
||||
@helper = new context.SessionHelper(@app, @currentSession, @participantsEverSeen, @isRecording, @downloadingJamTrack, @enableVstTimeout?, @sessionRules, @subscriptionRules)
|
||||
@helper = new context.SessionHelper(@app, @currentSession, @participantsEverSeen, @isRecording, @downloadingJamTrack, @enableVstTimeout?, @sessionRules, @subscriptionRules, @recordingClinetId)
|
||||
this.trigger(@helper)
|
||||
|
||||
onWindowBackgrounded: () ->
|
||||
|
|
@ -735,7 +735,9 @@ ConfigureTracksActions = @ConfigureTracksActions
|
|||
onRecordingChanged: `async function(details) {
|
||||
let detail, reason, timeline, title;
|
||||
logger.debug("SessionStore.onRecordingChanged: " + details.cause);
|
||||
console.log("_DEBUG_ SessionStore.onRecordingChanged: " + JSON.stringify(details));
|
||||
this.isRecording = details.isRecording;
|
||||
this.recordingClinetId = details.clientId;
|
||||
|
||||
switch (details.cause) {
|
||||
case 'started':
|
||||
|
|
|
|||
Loading…
Reference in New Issue