From 630665fd5bc1c55b345e5869cdb725a930a778ca Mon Sep 17 00:00:00 2001 From: N7Remus Date: Sun, 1 Nov 2020 16:33:09 +0100 Subject: [PATCH] Extra video duplication fix+hungarian translation --- app/src/RoomClient.js | 155 ++++++++++++++++++++--------------- app/src/translations/cn.json | 1 + app/src/translations/cs.json | 1 + app/src/translations/de.json | 1 + app/src/translations/dk.json | 1 + app/src/translations/el.json | 1 + app/src/translations/en.json | 1 + app/src/translations/es.json | 1 + app/src/translations/fr.json | 1 + app/src/translations/hi.json | 1 + app/src/translations/hr.json | 1 + app/src/translations/hu.json | 5 +- app/src/translations/it.json | 1 + app/src/translations/kk.json | 1 + app/src/translations/lv.json | 1 + app/src/translations/nb.json | 1 + app/src/translations/pl.json | 1 + app/src/translations/pt.json | 1 + app/src/translations/ro.json | 1 + app/src/translations/ru.json | 1 + app/src/translations/tr.json | 1 + app/src/translations/tw.json | 1 + app/src/translations/uk.json | 1 + 23 files changed, 115 insertions(+), 66 deletions(-) diff --git a/app/src/RoomClient.js b/app/src/RoomClient.js index 70a484d3..981f1275 100644 --- a/app/src/RoomClient.js +++ b/app/src/RoomClient.js @@ -3568,90 +3568,117 @@ export default class RoomClient ([ track ] = stream.getVideoTracks()); - let producer; + let exists = false; - if (this._useSimulcast) + this._extraVideoProducers.forEach(function(value) { - // If VP9 is the only available video codec then use SVC. - const firstVideoCodec = this._mediasoupDevice - .rtpCapabilities - .codecs - .find((c) => c.kind === 'video'); + if (value._track.label===track.label) + { + exists=true; + } + }); - let encodings; + if (!exists) + { - if (firstVideoCodec.mimeType.toLowerCase() === 'video/vp9') - encodings = VIDEO_KSVC_ENCODINGS; - else if ('simulcastEncodings' in window.config) - encodings = window.config.simulcastEncodings; - else - encodings = VIDEO_SIMULCAST_ENCODINGS; + let producer; - producer = await this._sendTransport.produce( - { - track, - encodings, - codecOptions : + if (this._useSimulcast) + { + // If VP9 is the only available video codec then use SVC. + const firstVideoCodec = this._mediasoupDevice + .rtpCapabilities + .codecs + .find((c) => c.kind === 'video'); + + let encodings; + + if (firstVideoCodec.mimeType.toLowerCase() === 'video/vp9') + encodings = VIDEO_KSVC_ENCODINGS; + else if ('simulcastEncodings' in window.config) + encodings = window.config.simulcastEncodings; + else + encodings = VIDEO_SIMULCAST_ENCODINGS; + + producer = await this._sendTransport.produce( { - videoGoogleStartBitrate : 1000 - }, + track, + encodings, + codecOptions : + { + videoGoogleStartBitrate : 1000 + }, + appData : + { + source : 'extravideo' + } + }); + } + else + { + producer = await this._sendTransport.produce({ + track, appData : { source : 'extravideo' } }); + } + + this._extraVideoProducers.set(producer.id, producer); + + store.dispatch(producerActions.addProducer( + { + id : producer.id, + deviceLabel : device.label, + source : 'extravideo', + paused : producer.paused, + track : producer.track, + rtpParameters : producer.rtpParameters, + codec : producer.rtpParameters.codecs[0].mimeType.split('/')[1] + })); + + // store.dispatch(settingsActions.setSelectedWebcamDevice(deviceId)); + + await this._updateWebcams(); + + producer.on('transportclose', () => + { + this._extraVideoProducers.delete(producer.id); + + producer = null; + }); + + producer.on('trackended', () => + { + store.dispatch(requestActions.notify( + { + type : 'error', + text : intl.formatMessage({ + id : 'devices.cameraDisconnected', + defaultMessage : 'Camera disconnected' + }) + })); + + this.disableExtraVideo(producer.id) + .catch(() => {}); + }); + + logger.debug('addExtraVideo() succeeded'); + } else { - producer = await this._sendTransport.produce({ - track, - appData : - { - source : 'extravideo' - } - }); - } - - this._extraVideoProducers.set(producer.id, producer); - - store.dispatch(producerActions.addProducer( - { - id : producer.id, - deviceLabel : device.label, - source : 'extravideo', - paused : producer.paused, - track : producer.track, - rtpParameters : producer.rtpParameters, - codec : producer.rtpParameters.codecs[0].mimeType.split('/')[1] - })); - - // store.dispatch(settingsActions.setSelectedWebcamDevice(deviceId)); - - await this._updateWebcams(); - - producer.on('transportclose', () => - { - this._extraVideoProducers.delete(producer.id); - - producer = null; - }); - - producer.on('trackended', () => - { + logger.error('addExtraVideo() duplicate'); store.dispatch(requestActions.notify( { type : 'error', text : intl.formatMessage({ - id : 'devices.cameraDisconnected', - defaultMessage : 'Camera disconnected' + id : 'room.extraVideoDuplication', + defaultMessage : 'Extra videodevice duplication errordefault' }) })); - - this.disableExtraVideo(producer.id) - .catch(() => {}); - }); - - logger.debug('addExtraVideo() succeeded'); + } } catch (error) { diff --git a/app/src/translations/cn.json b/app/src/translations/cn.json index 2fa3f91e..4afbe7b6 100644 --- a/app/src/translations/cn.json +++ b/app/src/translations/cn.json @@ -59,6 +59,7 @@ "room.raisedHand": null, "room.loweredHand": null, "room.extraVideo": null, + "room.extraVideoDuplication": null, "room.overRoomLimit": null, "room.help": null, "room.about": null, diff --git a/app/src/translations/cs.json b/app/src/translations/cs.json index 42fdd4ac..3465967e 100644 --- a/app/src/translations/cs.json +++ b/app/src/translations/cs.json @@ -58,6 +58,7 @@ "room.raisedHand": null, "room.loweredHand": null, "room.extraVideo": null, + "room.extraVideoDuplication": null, "room.overRoomLimit": null, "room.help": null, "room.about": null, diff --git a/app/src/translations/de.json b/app/src/translations/de.json index 2e004d2e..91bafa66 100644 --- a/app/src/translations/de.json +++ b/app/src/translations/de.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} hebt die Hand", "room.loweredHand": "{displayName} senkt die Hand", "room.extraVideo": "Video hinzufügen", + "room.extraVideoDuplication": null, "room.overRoomLimit": "Der Raum ist voll, probiere es später nochmal", "room.help": "Hilfe", "room.about": "Über", diff --git a/app/src/translations/dk.json b/app/src/translations/dk.json index 8b5ebcc9..da136aa6 100644 --- a/app/src/translations/dk.json +++ b/app/src/translations/dk.json @@ -59,6 +59,7 @@ "room.raisedHand": null, "room.loweredHand": null, "room.extraVideo": null, + "room.extraVideoDuplication": null, "room.overRoomLimit": null, "room.help": null, "room.about": null, diff --git a/app/src/translations/el.json b/app/src/translations/el.json index 9f36774f..f5f810d1 100644 --- a/app/src/translations/el.json +++ b/app/src/translations/el.json @@ -59,6 +59,7 @@ "room.raisedHand": null, "room.loweredHand": null, "room.extraVideo": null, + "room.extraVideoDuplication": null, "room.overRoomLimit": null, "room.help": null, "room.about": null, diff --git a/app/src/translations/en.json b/app/src/translations/en.json index ee25af86..f0fceeb7 100644 --- a/app/src/translations/en.json +++ b/app/src/translations/en.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} raised their hand", "room.loweredHand": "{displayName} put their hand down", "room.extraVideo": "Extra video", + "room.extraVideoDuplication": "Extra videodevice duplication error", "room.overRoomLimit": "The room is full, retry after some time.", "room.help": "Help", "room.about": "About", diff --git a/app/src/translations/es.json b/app/src/translations/es.json index 8df44881..ad3f03a3 100644 --- a/app/src/translations/es.json +++ b/app/src/translations/es.json @@ -59,6 +59,7 @@ "room.raisedHand": null, "room.loweredHand": null, "room.extraVideo": null, + "room.extraVideoDuplication": null, "room.overRoomLimit": null, "room.help": null, "room.about": null, diff --git a/app/src/translations/fr.json b/app/src/translations/fr.json index 0db61aca..15a4b75b 100644 --- a/app/src/translations/fr.json +++ b/app/src/translations/fr.json @@ -59,6 +59,7 @@ "room.raisedHand": null, "room.loweredHand": null, "room.extraVideo": null, + "room.extraVideoDuplication": null, "room.overRoomLimit": null, "room.help": null, "room.about": null, diff --git a/app/src/translations/hi.json b/app/src/translations/hi.json index 89123f21..8bcce4f1 100644 --- a/app/src/translations/hi.json +++ b/app/src/translations/hi.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} ने हाथ ऊपर कीया है", "room.loweredHand": "{displayName} ने हाथ नीचे कीया है ", "room.extraVideo": "अतीरिक्त विडियो", + "room.extraVideoDuplication": null, "room.overRoomLimit": "कमरा रिक्त नहीं है, कुछ देर बाद कोशिश करें", "room.help": "सहायता", "room.about": "बारे में", diff --git a/app/src/translations/hr.json b/app/src/translations/hr.json index 12db7d48..f5b63223 100644 --- a/app/src/translations/hr.json +++ b/app/src/translations/hr.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} je podigao ruku", "room.loweredHand": "{displayName} je spustio ruku", "room.extraVideo": "Dodatni video", + "room.extraVideoDuplication": null, "room.overRoomLimit": "Soba je popunjena, pokušajte ponovno kasnije.", "room.help": "Pomoć", "room.about": "O programu", diff --git a/app/src/translations/hu.json b/app/src/translations/hu.json index 8df4fee2..a2d4dc15 100644 --- a/app/src/translations/hu.json +++ b/app/src/translations/hu.json @@ -59,14 +59,15 @@ "room.raisedHand": "{displayName} jelentkezik", "room.loweredHand": "{displayName} leeresztette a kezét", "room.extraVideo": "Kiegészítő videó", + "room.extraVideoDuplication": "Duplikációs hiba", "room.overRoomLimit": "A konferenciaszoba betelt..", "room.help": "Segítség", "room.about": "Névjegy", "room.shortcutKeys": "Billentyűparancsok", "room.browsePeersSpotlight": "Résztvevők böngészése", "room.stopAllScreenSharing": "Összes képernyőmegosztás leállítása", - "room.hideSelfView": null, - "room.showSelfView": null, + "room.hideSelfView": "Saját kamerakép elrejtése", + "room.showSelfView": "Saját kamerakép megjelenítése", "me.mutedPTT": "Némítva vagy, ha beszélnél nyomd le a SZÓKÖZ billentyűt", diff --git a/app/src/translations/it.json b/app/src/translations/it.json index 2882bc55..65778a30 100644 --- a/app/src/translations/it.json +++ b/app/src/translations/it.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} ha alzato la mano", "room.loweredHand": "{displayName} ha abbassato la mano", "room.extraVideo": "Video extra", + "room.extraVideoDuplication": null, "room.overRoomLimit": "La stanza è piena, riprova più tardi.", "room.help": "Aiuto", "room.about": "Informazioni su", diff --git a/app/src/translations/kk.json b/app/src/translations/kk.json index 8b2d88fd..b8851e19 100644 --- a/app/src/translations/kk.json +++ b/app/src/translations/kk.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} қолын көтерді", "room.loweredHand": "{displayName} қолын түсірді", "room.extraVideo": "Қосымша бейне", + "room.extraVideoDuplication": null, "room.overRoomLimit": "Бейнеконференция толды, біраз уақыттан кейін қайталап көріңіз.", "room.help": "Көмек", "room.about": "Біз туралы", diff --git a/app/src/translations/lv.json b/app/src/translations/lv.json index 1c611105..993a9d83 100644 --- a/app/src/translations/lv.json +++ b/app/src/translations/lv.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} pacēla roku", "room.loweredHand": "{displayName} nolaida roku", "room.extraVideo": "Papildus video", + "room.extraVideoDuplication": null, "room.help": null, "room.about": null, "room.shortcutKeys": null, diff --git a/app/src/translations/nb.json b/app/src/translations/nb.json index 57718c2f..e8a2945f 100644 --- a/app/src/translations/nb.json +++ b/app/src/translations/nb.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} rakk opp hånden", "room.loweredHand": "{displayName} tok ned hånden", "room.extraVideo": "Ekstra video", + "room.extraVideoDuplication": null, "room.overRoomLimit": "Rommet er fullt, prøv igjen om litt.", "room.help": "Hjelp", "room.about": "Om", diff --git a/app/src/translations/pl.json b/app/src/translations/pl.json index 983b0c72..977cce63 100644 --- a/app/src/translations/pl.json +++ b/app/src/translations/pl.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} podniósł rękę", "room.loweredHand": "{displayName} opuścił rękę", "room.extraVideo": "Dodatkowy strumień wideo", + "room.extraVideoDuplication": null, "room.overRoomLimit": "Pokój jest pełny, spróbuj za jakiś czas.", "room.help": "Pomoc", "room.about": "O programie", diff --git a/app/src/translations/pt.json b/app/src/translations/pt.json index c57f1ab1..ac9dfb75 100644 --- a/app/src/translations/pt.json +++ b/app/src/translations/pt.json @@ -59,6 +59,7 @@ "room.raisedHand": null, "room.loweredHand": null, "room.extraVideo": null, + "room.extraVideoDuplication": null, "room.overRoomLimit": null, "room.help": null, "room.about": null, diff --git a/app/src/translations/ro.json b/app/src/translations/ro.json index 029dc920..a8a31992 100644 --- a/app/src/translations/ro.json +++ b/app/src/translations/ro.json @@ -59,6 +59,7 @@ "room.raisedHand": null, "room.loweredHand": null, "room.extraVideo": null, + "room.extraVideoDuplication": null, "room.overRoomLimit": null, "room.help": null, "room.about": null, diff --git a/app/src/translations/ru.json b/app/src/translations/ru.json index 89315446..05b1016d 100644 --- a/app/src/translations/ru.json +++ b/app/src/translations/ru.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} поднял(а) руку", "room.loweredHand": "{displayName} опустил(а) руку", "room.extraVideo": "Дополнительное видео", + "room.extraVideoDuplication": null, "room.overRoomLimit": "Видеоконференция заполнена, повторите попытку через некоторое время.", "room.help": "Помощь", "room.about": "О нас", diff --git a/app/src/translations/tr.json b/app/src/translations/tr.json index ef4e8b4e..fe5fbe68 100644 --- a/app/src/translations/tr.json +++ b/app/src/translations/tr.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} elini kaldırdı", "room.loweredHand": "{displayName} elini indirdi", "room.extraVideo": "İlave video", + "room.extraVideoDuplication": null, "room.overRoomLimit": "Oda dolu, bir süre sonra tekrar deneyin", "room.help": "Yardım", "room.about": "Hakkında", diff --git a/app/src/translations/tw.json b/app/src/translations/tw.json index e91716ee..a4c017f2 100644 --- a/app/src/translations/tw.json +++ b/app/src/translations/tw.json @@ -59,6 +59,7 @@ "room.raisedHand": "{displayName} 舉手了", "room.loweredHand": "{displayName} 放下了他的手", "room.extraVideo": "其他視訊", + "room.extraVideoDuplication": null, "room.overRoomLimit": "房間已滿,請稍後重試", "room.help": "幫助", "room.about": "關於", diff --git a/app/src/translations/uk.json b/app/src/translations/uk.json index 66b88690..05a73c20 100644 --- a/app/src/translations/uk.json +++ b/app/src/translations/uk.json @@ -59,6 +59,7 @@ "room.raisedHand": " {displayName} підняв руку", "room.loweredHand": " {displayName} опустив руку", "room.extraVideo": "Додаткове відео", + "room.extraVideoDuplication": null, "room.overRoomLimit": "Кімната переповнена, спробуйте знову через деякий час", "room.help": "Допомога", "room.about": "Про нас",