error = false
loading = false
player: videojs.Player
- playerElement: HTMLMediaElement
+ playerElement: HTMLVideoElement
userRating: UserVideoRateType = null
video: VideoDetails = null
videoPlayerLoaded = false
private markdownService: MarkdownService
) {}
+ get user () {
+ return this.authService.getUser()
+ }
+
ngOnInit () {
this.videoService.getVideos({ currentPage: 1, itemsPerPage: 5 }, '-createdAt')
.subscribe(
}
isVideoBlacklistable () {
- return this.video.isBlackistableBy(this.authService.getUser())
+ return this.video.isBlackistableBy(this.user)
}
getAvatarPath () {
this.video = video
let observable
- if (this.video.isVideoNSFWForUser(this.authService.getUser())) {
+ if (this.video.isVideoNSFWForUser(this.user)) {
observable = this.confirmService.confirm(
'This video contains mature or explicit content. Are you sure you want to watch it?',
'Mature or explicit content'
if (this.videoPlayerLoaded !== true) {
this.playerElement = this.elementRef.nativeElement.querySelector('#video-element')
+ // If autoplay is true, we don't really need a poster
+ if (this.isAutoplay() === false) {
+ this.playerElement.poster = this.video.previewUrl
+ }
+
const videojsOptions = {
controls: true,
- autoplay: true,
+ autoplay: this.isAutoplay(),
plugins: {
peertube: {
videoFiles: this.video.files,
playerElement: this.playerElement,
- autoplay: true,
+ autoplay: this.isAutoplay(),
peerTubeLink: false
}
}
}, viewTimeoutSeconds * 1000)
}
+
+ private isAutoplay () {
+ // True by default
+ if (!this.user) return true
+
+ // Be sure the autoPlay is set to false
+ return this.user.autoPlayVideo !== false
+ }
}