import { forkJoin } from 'rxjs'
-import { Component, EventEmitter, OnInit, Output } from '@angular/core'
+import { AfterViewChecked, AfterViewInit, Component, EventEmitter, OnInit, Output } from '@angular/core'
import { Router } from '@angular/router'
-import { AuthService, CanComponentDeactivate, Notifier, ServerService } from '@app/core'
+import { AuthService, CanComponentDeactivate, HooksService, Notifier, ServerService } from '@app/core'
import { scrollToTop } from '@app/helpers'
import { FormValidatorService } from '@app/shared/shared-forms'
import { VideoCaptionService, VideoEdit, VideoService } from '@app/shared/shared-main'
'./video-send.scss'
]
})
-export class VideoGoLiveComponent extends VideoSend implements OnInit, CanComponentDeactivate {
+export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterViewInit, CanComponentDeactivate {
@Output() firstStepDone = new EventEmitter<string>()
@Output() firstStepError = new EventEmitter<void>()
protected videoService: VideoService,
protected videoCaptionService: VideoCaptionService,
private liveVideoService: LiveVideoService,
- private router: Router
+ private router: Router,
+ private hooks: HooksService
) {
super()
}
super.ngOnInit()
}
+ ngAfterViewInit () {
+ this.hooks.runAction('action:go-live.init', 'video-edit')
+ }
+
canDeactivate () {
return { canDeactivate: true }
}
goLive () {
+ const name = 'Live'
+
const video: LiveVideoCreate = {
- name: 'Live',
+ name,
privacy: VideoPrivacy.PRIVATE,
nsfw: this.serverConfig.instance.isNSFW,
waitTranscoding: true,
video.uuid = this.videoUUID
const liveVideoUpdate: LiveVideoUpdate = {
- saveReplay: this.form.value.saveReplay
+ saveReplay: this.form.value.saveReplay,
+ permanentLive: this.form.value.permanentLive
}
// Update the video
return this.serverConfig.live.maxDuration / 1000
}
+ isWaitTranscodingEnabled () {
+ return this.form.value['saveReplay'] === true
+ }
+
private fetchVideoLive () {
this.liveVideoService.getVideoLive(this.videoId)
.subscribe(