aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/assets/player
diff options
context:
space:
mode:
authorFlorian CUNY <poslovitch@bentobox.world>2020-12-04 16:30:01 +0100
committerGitHub <noreply@github.com>2020-12-04 16:30:01 +0100
commit171528373e89560b3c396bc0d510d013e1f9c28e (patch)
tree9b52da739ddbab6fe0d85baa915dc4c1e8de1091 /client/src/assets/player
parentf8b530e0a523a0d9ff469ef716838374c395a360 (diff)
downloadPeerTube-171528373e89560b3c396bc0d510d013e1f9c28e.tar.gz
PeerTube-171528373e89560b3c396bc0d510d013e1f9c28e.tar.zst
PeerTube-171528373e89560b3c396bc0d510d013e1f9c28e.zip
add 'total downloaded' stats from server and peers in player (#3394)
Implements https://github.com/Chocobozzz/PeerTube/issues/3384 This will only work with HLS. The display for Webtorrent is left untouched. Co-authored-by: Rigel Kent <par@rigelk.eu>
Diffstat (limited to 'client/src/assets/player')
-rw-r--r--client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts1
-rw-r--r--client/src/assets/player/peertube-videojs-typings.ts2
-rw-r--r--client/src/assets/player/videojs-components/p2p-info-button.ts13
-rw-r--r--client/src/assets/player/webtorrent/webtorrent-plugin.ts1
4 files changed, 15 insertions, 2 deletions
diff --git a/client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts b/client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts
index f8116f4bc..e97925ab5 100644
--- a/client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts
+++ b/client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts
@@ -153,6 +153,7 @@ class P2pMediaLoaderPlugin extends Plugin {
153 this.statsHTTPBytes.pendingUpload = [] 153 this.statsHTTPBytes.pendingUpload = []
154 154
155 return this.player.trigger('p2pInfo', { 155 return this.player.trigger('p2pInfo', {
156 source: 'p2p-media-loader',
156 http: { 157 http: {
157 downloadSpeed: httpDownloadSpeed, 158 downloadSpeed: httpDownloadSpeed,
158 uploadSpeed: httpUploadSpeed, 159 uploadSpeed: httpUploadSpeed,
diff --git a/client/src/assets/player/peertube-videojs-typings.ts b/client/src/assets/player/peertube-videojs-typings.ts
index a359b8595..f1e614499 100644
--- a/client/src/assets/player/peertube-videojs-typings.ts
+++ b/client/src/assets/player/peertube-videojs-typings.ts
@@ -175,6 +175,8 @@ type AutoResolutionUpdateData = {
175} 175}
176 176
177type PlayerNetworkInfo = { 177type PlayerNetworkInfo = {
178 source: 'webtorrent' | 'p2p-media-loader'
179
178 http: { 180 http: {
179 downloadSpeed: number 181 downloadSpeed: number
180 uploadSpeed: number 182 uploadSpeed: number
diff --git a/client/src/assets/player/videojs-components/p2p-info-button.ts b/client/src/assets/player/videojs-components/p2p-info-button.ts
index db6806fed..b1f7cd751 100644
--- a/client/src/assets/player/videojs-components/p2p-info-button.ts
+++ b/client/src/assets/player/videojs-components/p2p-info-button.ts
@@ -84,8 +84,17 @@ class P2pInfoButton extends Button {
84 const totalUploaded = bytes(p2pStats.uploaded + httpStats.uploaded) 84 const totalUploaded = bytes(p2pStats.uploaded + httpStats.uploaded)
85 const numPeers = p2pStats.numPeers 85 const numPeers = p2pStats.numPeers
86 86
87 subDivWebtorrent.title = this.player().localize('Total downloaded: ') + totalDownloaded.join(' ') + '\n' + 87 subDivWebtorrent.title = this.player().localize('Total downloaded: ') + totalDownloaded.join(' ') + '\n'
88 this.player().localize('Total uploaded: ' + totalUploaded.join(' ')) 88
89 if (data.source === 'p2p-media-loader') {
90 const downloadedFromServer = bytes(httpStats.downloaded).join(' ')
91 const downloadedFromPeers = bytes(p2pStats.downloaded).join(' ')
92
93 subDivWebtorrent.title +=
94 '* ' + this.player().localize('From the server: ') + downloadedFromServer + '\n' +
95 '* ' + this.player().localize('From peers: ') + downloadedFromPeers + '\n'
96 }
97 subDivWebtorrent.title += this.player().localize('Total uploaded: ') + totalUploaded.join(' ')
89 98
90 downloadSpeedNumber.textContent = downloadSpeed[ 0 ] 99 downloadSpeedNumber.textContent = downloadSpeed[ 0 ]
91 downloadSpeedUnit.textContent = ' ' + downloadSpeed[ 1 ] 100 downloadSpeedUnit.textContent = ' ' + downloadSpeed[ 1 ]
diff --git a/client/src/assets/player/webtorrent/webtorrent-plugin.ts b/client/src/assets/player/webtorrent/webtorrent-plugin.ts
index 782c91cbd..96ba497a0 100644
--- a/client/src/assets/player/webtorrent/webtorrent-plugin.ts
+++ b/client/src/assets/player/webtorrent/webtorrent-plugin.ts
@@ -487,6 +487,7 @@ class WebTorrentPlugin extends Plugin {
487 if (this.webtorrent.downloadSpeed !== 0) this.downloadSpeeds.push(this.webtorrent.downloadSpeed) 487 if (this.webtorrent.downloadSpeed !== 0) this.downloadSpeeds.push(this.webtorrent.downloadSpeed)
488 488
489 return this.player.trigger('p2pInfo', { 489 return this.player.trigger('p2pInfo', {
490 source: 'webtorrent',
490 http: { 491 http: {
491 downloadSpeed: 0, 492 downloadSpeed: 0,
492 uploadSpeed: 0, 493 uploadSpeed: 0,