Use HLS by default if enabled
authorChocobozzz <me@florianbigard.com>
Tue, 14 May 2019 09:35:54 +0000 (11:35 +0200)
committerChocobozzz <me@florianbigard.com>
Tue, 14 May 2019 09:35:54 +0000 (11:35 +0200)
client/src/app/shared/video/video-details.model.ts
client/src/app/videos/+video-watch/video-watch.component.ts

index 8463e15d750491e3f5afe997acceb0c29232d5da..22f024656175f49be46fef97a2573e589bb16489 100644 (file)
@@ -52,4 +52,8 @@ export class VideoDetails extends Video implements VideoDetailsServerModel {
   getHlsPlaylist () {
     return this.streamingPlaylists.find(p => p.type === VideoStreamingPlaylistType.HLS)
   }
+
+  hasHlsPlaylist () {
+    return !!this.getHlsPlaylist()
+  }
 }
index 0532e7de7f2f02408ae18a447472382558ecff07..b147b75b04e7ebed3484ec3c7dc2aeb462996de2 100644 (file)
@@ -423,7 +423,15 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
       }
     }
 
-    const mode: PlayerMode = urlOptions.playerMode === 'p2p-media-loader' ? 'p2p-media-loader' : 'webtorrent'
+    let mode: PlayerMode
+
+    if (urlOptions.playerMode) {
+      if (urlOptions.playerMode === 'p2p-media-loader') mode = 'p2p-media-loader'
+      else mode = 'webtorrent'
+    } else {
+      if (this.video.hasHlsPlaylist()) mode = 'p2p-media-loader'
+      else mode = 'webtorrent'
+    }
 
     if (mode === 'p2p-media-loader') {
       const hlsPlaylist = this.video.getHlsPlaylist()