]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/assets/player/utils.ts
Merge branch 'develop' into pr/1285
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / utils.ts
index c02e19929ed71637b2adccc262199dd2bcd4764b..8d87567c2b53dd75b412f8080c7c6c92d181571f 100644 (file)
@@ -12,7 +12,7 @@ const dictionaryBytes: Array<{max: number, type: string}> = [
   { max: 1073741824, type: 'MB' },
   { max: 1.0995116e12, type: 'GB' }
 ]
-function bytes (value) {
+function bytes (value: number) {
   const format = dictionaryBytes.find(d => value < d.max) || dictionaryBytes[dictionaryBytes.length - 1]
   const calc = Math.floor(value / (format.max / 1024)).toString()
 
@@ -23,9 +23,8 @@ function isMobile () {
   return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent)
 }
 
-function buildVideoLink (time?: number) {
-  const baseEmbedPath = window.location.pathname.replace('/embed/', '/watch/')
-  const baseEmbedURL = window.location.origin + baseEmbedPath
+function buildVideoLink (time?: number, url?: string) {
+  if (!url) url = window.location.origin + window.location.pathname.replace('/embed/', '/watch/')
 
   if (time) {
     const timeInt = Math.floor(time)
@@ -33,13 +32,14 @@ function buildVideoLink (time?: number) {
     const params = new URLSearchParams(window.location.search)
     params.set('start', secondsToTime(timeInt))
 
-    return baseEmbedURL + '?' + params.toString()
+    return url + '?' + params.toString()
   }
 
-  return baseEmbedURL
+  return url
 }
 
 function timeToInt (time: number | string) {
+  if (!time) return 0
   if (typeof time === 'number') return time
 
   const reg = /^((\d+)h)?((\d+)m)?((\d+)s?)?$/
@@ -112,9 +112,23 @@ function videoFileMinByResolution (files: VideoFile[]) {
   return min
 }
 
+function getRtcConfig () {
+  return {
+    iceServers: [
+      {
+        urls: 'stun:stun.stunprotocol.org'
+      },
+      {
+        urls: 'stun:stun.framasoft.org'
+      }
+    ]
+  }
+}
+
 // ---------------------------------------------------------------------------
 
 export {
+  getRtcConfig,
   toTitleCase,
   timeToInt,
   buildVideoLink,