aboutsummaryrefslogtreecommitdiffhomepage
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts4
-rw-r--r--client/src/assets/player/videojs-components/resolution-menu-button.ts2
-rw-r--r--client/src/assets/player/webtorrent/webtorrent-plugin.ts16
3 files changed, 18 insertions, 4 deletions
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
index 8411c4f4f..5f23c80a2 100644
--- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
+++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
@@ -36,6 +36,10 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
36 super() 36 super()
37 37
38 this.resolutions = [ 38 this.resolutions = [
39 {
40 id: '0p',
41 label: this.i18n('Audio-only')
42 },
39 { 43 {
40 id: '240p', 44 id: '240p',
41 label: this.i18n('240p') 45 label: this.i18n('240p')
diff --git a/client/src/assets/player/videojs-components/resolution-menu-button.ts b/client/src/assets/player/videojs-components/resolution-menu-button.ts
index aeb48888f..445b14b2b 100644
--- a/client/src/assets/player/videojs-components/resolution-menu-button.ts
+++ b/client/src/assets/player/videojs-components/resolution-menu-button.ts
@@ -79,7 +79,7 @@ class ResolutionMenuButton extends MenuButton {
79 this.player_, 79 this.player_,
80 { 80 {
81 id: d.id, 81 id: d.id,
82 label: d.label, 82 label: d.id == 0 ? this.player .localize('Audio-only') : d.label,
83 selected: d.selected, 83 selected: d.selected,
84 callback: data.qualitySwitchCallback 84 callback: data.qualitySwitchCallback
85 }) 85 })
diff --git a/client/src/assets/player/webtorrent/webtorrent-plugin.ts b/client/src/assets/player/webtorrent/webtorrent-plugin.ts
index 4a0b38703..007fc58cc 100644
--- a/client/src/assets/player/webtorrent/webtorrent-plugin.ts
+++ b/client/src/assets/player/webtorrent/webtorrent-plugin.ts
@@ -181,20 +181,29 @@ class WebTorrentPlugin extends Plugin {
181 const currentTime = this.player.currentTime() 181 const currentTime = this.player.currentTime()
182 const isPaused = this.player.paused() 182 const isPaused = this.player.paused()
183 183
184 // Remove poster to have black background
185 this.playerElement.poster = ''
186
187 // Hide bigPlayButton 184 // Hide bigPlayButton
188 if (!isPaused) { 185 if (!isPaused) {
189 this.player.bigPlayButton.hide() 186 this.player.bigPlayButton.hide()
190 } 187 }
191 188
189 // Audio-only (resolutionId == 0) gets special treatment
190 if (resolutionId > 0) {
191 // Hide poster to have black background
192 this.player.removeClass('vjs-playing-audio-only-content')
193 this.player.posterImage.hide()
194 } else {
195 // Audio-only: show poster, do not auto-hide controls
196 this.player.addClass('vjs-playing-audio-only-content')
197 this.player.posterImage.show()
198 }
199
192 const newVideoFile = this.videoFiles.find(f => f.resolution.id === resolutionId) 200 const newVideoFile = this.videoFiles.find(f => f.resolution.id === resolutionId)
193 const options = { 201 const options = {
194 forcePlay: false, 202 forcePlay: false,
195 delay, 203 delay,
196 seek: currentTime + (delay / 1000) 204 seek: currentTime + (delay / 1000)
197 } 205 }
206
198 this.updateVideoFile(newVideoFile, options) 207 this.updateVideoFile(newVideoFile, options)
199 } 208 }
200 209
@@ -327,6 +336,7 @@ class WebTorrentPlugin extends Plugin {
327 this.player.posterImage.show() 336 this.player.posterImage.show()
328 this.player.removeClass('vjs-has-autoplay') 337 this.player.removeClass('vjs-has-autoplay')
329 this.player.removeClass('vjs-has-big-play-button-clicked') 338 this.player.removeClass('vjs-has-big-play-button-clicked')
339 this.player.removeClass('vjs-playing-audio-only-content')
330 340
331 return done() 341 return done()
332 }) 342 })