Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Adam <dev@robert-adam.de>2021-09-03 10:49:54 +0300
committerGitHub <noreply@github.com>2021-09-03 10:49:54 +0300
commitb47e71299afe9c15110adce62eb546c3b89c6292 (patch)
tree74c100d07cb3ec5ebbf0b6774c08db854ac90c40
parent207dbe0d8adffb24b807a7f1d39165a81e59785e (diff)
parent82fe478a156afd0c7f5c0b15db605c3a1156a379 (diff)
Merge PR #5251: FEAT(client): Add opus as output format for recording
This commits adds opus as an output format for voice recordings as requested in #5065. It uses an OGG container like the already implemented Vorbis codec but has much better compression. For clarity the .opus file extension is used. Fixes #5065
-rw-r--r--src/mumble/CMakeLists.txt7
-rw-r--r--src/mumble/VoiceRecorder.cpp20
-rw-r--r--src/mumble/VoiceRecorder.h4
-rw-r--r--src/mumble/mumble_ar.ts4
-rw-r--r--src/mumble/mumble_bg.ts4
-rw-r--r--src/mumble/mumble_br.ts4
-rw-r--r--src/mumble/mumble_ca.ts4
-rw-r--r--src/mumble/mumble_cs.ts4
-rw-r--r--src/mumble/mumble_cy.ts4
-rw-r--r--src/mumble/mumble_da.ts4
-rw-r--r--src/mumble/mumble_de.ts4
-rw-r--r--src/mumble/mumble_el.ts4
-rw-r--r--src/mumble/mumble_en.ts4
-rw-r--r--src/mumble/mumble_en_GB.ts4
-rw-r--r--src/mumble/mumble_eo.ts12
-rw-r--r--src/mumble/mumble_es.ts4
-rw-r--r--src/mumble/mumble_et.ts4
-rw-r--r--src/mumble/mumble_eu.ts4
-rw-r--r--src/mumble/mumble_fa_IR.ts4
-rw-r--r--src/mumble/mumble_fi.ts4
-rw-r--r--src/mumble/mumble_fr.ts4
-rw-r--r--src/mumble/mumble_gl.ts4
-rw-r--r--src/mumble/mumble_he.ts4
-rw-r--r--src/mumble/mumble_hu.ts4
-rw-r--r--src/mumble/mumble_it.ts4
-rw-r--r--src/mumble/mumble_ja.ts4
-rw-r--r--src/mumble/mumble_ko.ts4
-rw-r--r--src/mumble/mumble_lt.ts4
-rw-r--r--src/mumble/mumble_nl.ts4
-rw-r--r--src/mumble/mumble_no.ts4
-rw-r--r--src/mumble/mumble_oc.ts4
-rw-r--r--src/mumble/mumble_pl.ts4
-rw-r--r--src/mumble/mumble_pt_BR.ts4
-rw-r--r--src/mumble/mumble_pt_PT.ts4
-rw-r--r--src/mumble/mumble_ro.ts4
-rw-r--r--src/mumble/mumble_ru.ts4
-rw-r--r--src/mumble/mumble_si.ts4
-rw-r--r--src/mumble/mumble_sq.ts4
-rw-r--r--src/mumble/mumble_sv.ts4
-rw-r--r--src/mumble/mumble_te.ts4
-rw-r--r--src/mumble/mumble_th.ts4
-rw-r--r--src/mumble/mumble_tr.ts4
-rw-r--r--src/mumble/mumble_uk.ts4
-rw-r--r--src/mumble/mumble_zh_CN.ts4
-rw-r--r--src/mumble/mumble_zh_HK.ts4
-rw-r--r--src/mumble/mumble_zh_TW.ts4
46 files changed, 207 insertions, 4 deletions
diff --git a/src/mumble/CMakeLists.txt b/src/mumble/CMakeLists.txt
index 57de9ffe0..de2b1a59f 100644
--- a/src/mumble/CMakeLists.txt
+++ b/src/mumble/CMakeLists.txt
@@ -451,6 +451,13 @@ endif()
find_pkg("SndFile;LibSndFile;sndfile" REQUIRED)
+# Check if sndfile version supports opus
+if("${sndfile_VERSION}" VERSION_GREATER_EQUAL "1.0.29")
+ target_compile_definitions(mumble PRIVATE USE_SNDFILE_OPUS)
+else()
+ message(WARNING "libsnfile is missing Opus-support -> No Opus-format recording")
+endif()
+
# Look for various targets as they are named differently on different platforms
if(static AND TARGET sndfile-static)
target_link_libraries(mumble PRIVATE sndfile-static)
diff --git a/src/mumble/VoiceRecorder.cpp b/src/mumble/VoiceRecorder.cpp
index bba6bf34b..189b173f2 100644
--- a/src/mumble/VoiceRecorder.cpp
+++ b/src/mumble/VoiceRecorder.cpp
@@ -212,6 +212,18 @@ SF_INFO VoiceRecorder::createSoundFileInfo() const {
qWarning() << "VoiceRecorder: recording started to" << m_config.fileName << "@" << m_config.sampleRate
<< "hz in FLAC format";
break;
+#ifdef USE_SNDFILE_OPUS
+ case VoiceRecorderFormat::OPUS:
+ sfinfo.frames = 0;
+ sfinfo.samplerate = m_config.sampleRate;
+ sfinfo.channels = 1;
+ sfinfo.format = SF_FORMAT_OGG | SF_FORMAT_OPUS;
+ sfinfo.sections = 0;
+ sfinfo.seekable = 0;
+ qWarning() << "VoiceRecorder: recording started to" << m_config.fileName << "@" << m_config.sampleRate
+ << "hz in OPUS format";
+ break;
+#endif
}
Q_ASSERT(sf_format_check(&sfinfo));
@@ -429,6 +441,10 @@ QString VoiceRecorderFormat::getFormatDescription(VoiceRecorderFormat::Format fm
return VoiceRecorder::tr(".au - Uncompressed");
case VoiceRecorderFormat::FLAC:
return VoiceRecorder::tr(".flac - Lossless compressed");
+#ifdef USE_SNDFILE_OPUS
+ case VoiceRecorderFormat::OPUS:
+ return VoiceRecorder::tr(".opus - Lossy compressed");
+#endif
default:
return QString();
}
@@ -446,6 +462,10 @@ QString VoiceRecorderFormat::getFormatDefaultExtension(VoiceRecorderFormat::Form
return QLatin1String("au");
case VoiceRecorderFormat::FLAC:
return QLatin1String("flac");
+#ifdef USE_SNDFILE_OPUS
+ case VoiceRecorderFormat::OPUS:
+ return QLatin1String("opus");
+#endif
default:
return QString();
}
diff --git a/src/mumble/VoiceRecorder.h b/src/mumble/VoiceRecorder.h
index 97c6e0c90..886f02a27 100644
--- a/src/mumble/VoiceRecorder.h
+++ b/src/mumble/VoiceRecorder.h
@@ -51,6 +51,10 @@ enum Format {
AU,
/// FLAC Format
FLAC,
+#ifdef USE_SNDFILE_OPUS
+ // OPUS Format
+ OPUS,
+#endif
kEnd
};
diff --git a/src/mumble/mumble_ar.ts b/src/mumble/mumble_ar.ts
index 42244bec8..a4b5943f0 100644
--- a/src/mumble/mumble_ar.ts
+++ b/src/mumble/mumble_ar.ts
@@ -8700,6 +8700,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_bg.ts b/src/mumble/mumble_bg.ts
index 6204872fe..fd032aefa 100644
--- a/src/mumble/mumble_bg.ts
+++ b/src/mumble/mumble_bg.ts
@@ -8693,6 +8693,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_br.ts b/src/mumble/mumble_br.ts
index ca6a26c3b..8d8942486 100644
--- a/src/mumble/mumble_br.ts
+++ b/src/mumble/mumble_br.ts
@@ -8692,6 +8692,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_ca.ts b/src/mumble/mumble_ca.ts
index 6f5124791..3fcbf0328 100644
--- a/src/mumble/mumble_ca.ts
+++ b/src/mumble/mumble_ca.ts
@@ -8698,6 +8698,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_cs.ts b/src/mumble/mumble_cs.ts
index 2105465a1..137035598 100644
--- a/src/mumble/mumble_cs.ts
+++ b/src/mumble/mumble_cs.ts
@@ -8760,6 +8760,10 @@ Znak přístupu je textový řetězec, který může být použit jako heslo pro
<source>.flac - Lossless compressed</source>
<translation>.flac - Komprimováno bezeztrátově</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_cy.ts b/src/mumble/mumble_cy.ts
index 48d488a8e..fb90cb35b 100644
--- a/src/mumble/mumble_cy.ts
+++ b/src/mumble/mumble_cy.ts
@@ -8699,6 +8699,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - Cywasgu heb golled</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_da.ts b/src/mumble/mumble_da.ts
index ce3889f72..13895093b 100644
--- a/src/mumble/mumble_da.ts
+++ b/src/mumble/mumble_da.ts
@@ -8754,6 +8754,10 @@ Et adgangsudtryk er en tekststreng, der kan bruges som en adgangskode for meget
<source>.flac - Lossless compressed</source>
<translation>.flac - Tabsfri komprimeret</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_de.ts b/src/mumble/mumble_de.ts
index 86cedbdcc..94468778a 100644
--- a/src/mumble/mumble_de.ts
+++ b/src/mumble/mumble_de.ts
@@ -8852,6 +8852,10 @@ Ein Zugriffscode ist eine Zeichenfolge, die als Passwort für ein sehr einfaches
<source>.flac - Lossless compressed</source>
<translation>.flac - Verlustfrei komprimiert</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_el.ts b/src/mumble/mumble_el.ts
index 758ec6f31..f916a5032 100644
--- a/src/mumble/mumble_el.ts
+++ b/src/mumble/mumble_el.ts
@@ -8766,6 +8766,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - Συμπιεσμένο χωρίς απώλειες</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_en.ts b/src/mumble/mumble_en.ts
index 845b25ef5..9ecd66169 100644
--- a/src/mumble/mumble_en.ts
+++ b/src/mumble/mumble_en.ts
@@ -8690,6 +8690,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_en_GB.ts b/src/mumble/mumble_en_GB.ts
index adf8cf35f..fd06d2636 100644
--- a/src/mumble/mumble_en_GB.ts
+++ b/src/mumble/mumble_en_GB.ts
@@ -8731,6 +8731,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_eo.ts b/src/mumble/mumble_eo.ts
index caecbe930..e322a2484 100644
--- a/src/mumble/mumble_eo.ts
+++ b/src/mumble/mumble_eo.ts
@@ -1120,15 +1120,15 @@ This value allows you to set the maximum number of users allowed in the channel.
</message>
<message>
<source>Audio per packet</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Sono en paketo</translation>
</message>
<message>
<source>Quality of compression (peak bandwidth)</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Kvalito de densigo (maksimuma kapacito)</translation>
</message>
<message>
<source>Noise suppression</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Forigo de bruo</translation>
</message>
<message>
<source>Maximum amplification</source>
@@ -1731,7 +1731,7 @@ This value allows you to set the maximum number of users allowed in the channel.
</message>
<message>
<source>Input method for audio</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Eniga metodo por sono</translation>
</message>
<message>
<source>Device</source>
@@ -8703,6 +8703,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_es.ts b/src/mumble/mumble_es.ts
index 74142ab2d..875e3462e 100644
--- a/src/mumble/mumble_es.ts
+++ b/src/mumble/mumble_es.ts
@@ -8771,6 +8771,10 @@ Una credencial de acceso es una cadena de texto que puede ser usada como contras
<source>.flac - Lossless compressed</source>
<translation>.flac - Comprimido sin pérdidas</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_et.ts b/src/mumble/mumble_et.ts
index 27e4f9505..f40ea519c 100644
--- a/src/mumble/mumble_et.ts
+++ b/src/mumble/mumble_et.ts
@@ -8693,6 +8693,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_eu.ts b/src/mumble/mumble_eu.ts
index 3587dae03..8bb70c645 100644
--- a/src/mumble/mumble_eu.ts
+++ b/src/mumble/mumble_eu.ts
@@ -8712,6 +8712,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - Galera gabe konprimitua</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_fa_IR.ts b/src/mumble/mumble_fa_IR.ts
index eb929d5d2..d3111779e 100644
--- a/src/mumble/mumble_fa_IR.ts
+++ b/src/mumble/mumble_fa_IR.ts
@@ -8690,6 +8690,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_fi.ts b/src/mumble/mumble_fi.ts
index c71072dcf..f3465565a 100644
--- a/src/mumble/mumble_fi.ts
+++ b/src/mumble/mumble_fi.ts
@@ -8814,6 +8814,10 @@ Pääsypoletti on merkkijonoketju, jota voidaan käyttää salasanana yksinkerta
<source>.flac - Lossless compressed</source>
<translation>.flac - Häviöttömästi pakattu</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_fr.ts b/src/mumble/mumble_fr.ts
index 5d3dae9e6..e5a3d7b84 100644
--- a/src/mumble/mumble_fr.ts
+++ b/src/mumble/mumble_fr.ts
@@ -8771,6 +8771,10 @@ Un jeton d&apos;accès est une chaîne de caractères qui peut être utilisée c
<source>.flac - Lossless compressed</source>
<translation>.flac - Compressé sans perte</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_gl.ts b/src/mumble/mumble_gl.ts
index 9eb828097..0df246285 100644
--- a/src/mumble/mumble_gl.ts
+++ b/src/mumble/mumble_gl.ts
@@ -8694,6 +8694,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_he.ts b/src/mumble/mumble_he.ts
index e9355ddbd..7a30f1b04 100644
--- a/src/mumble/mumble_he.ts
+++ b/src/mumble/mumble_he.ts
@@ -8751,6 +8751,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - דחיסה משמרת איכות</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_hu.ts b/src/mumble/mumble_hu.ts
index fd24ad386..34e096d6f 100644
--- a/src/mumble/mumble_hu.ts
+++ b/src/mumble/mumble_hu.ts
@@ -8747,6 +8747,10 @@ A kulcs egy szöveges karaktersorozat, amely jelszóként használható a csator
<source>.flac - Lossless compressed</source>
<translation>.flac - veszteségmentes</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_it.ts b/src/mumble/mumble_it.ts
index 2fe96347a..c39e5b75b 100644
--- a/src/mumble/mumble_it.ts
+++ b/src/mumble/mumble_it.ts
@@ -8855,6 +8855,10 @@ Un token di accesso è una stringa di testo, che può essere usata come password
<source>.flac - Lossless compressed</source>
<translation>.flac - Compresso senza perdite</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_ja.ts b/src/mumble/mumble_ja.ts
index 17d97d91f..acb248059 100644
--- a/src/mumble/mumble_ja.ts
+++ b/src/mumble/mumble_ja.ts
@@ -8747,6 +8747,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - ロスレス圧縮</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_ko.ts b/src/mumble/mumble_ko.ts
index 0ccc5b311..2e18d7e18 100644
--- a/src/mumble/mumble_ko.ts
+++ b/src/mumble/mumble_ko.ts
@@ -8853,6 +8853,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - 무손실 압축</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_lt.ts b/src/mumble/mumble_lt.ts
index 15e77a3cb..f635498af 100644
--- a/src/mumble/mumble_lt.ts
+++ b/src/mumble/mumble_lt.ts
@@ -8793,6 +8793,10 @@ Prieigos raktas yra tekstinė eilutė, kuri gali būti naudojama kaip slaptažod
<source>.flac - Lossless compressed</source>
<translation>.flac - Nenuostolingasis suglaudintas</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_nl.ts b/src/mumble/mumble_nl.ts
index fa6576160..916390222 100644
--- a/src/mumble/mumble_nl.ts
+++ b/src/mumble/mumble_nl.ts
@@ -8856,6 +8856,10 @@ Een toegangssleutel is een tekenreeks die gebruikt kan worden als wachtwoord om
<source>.flac - Lossless compressed</source>
<translation>.flac - Zonder verlies gecomprimeerd</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_no.ts b/src/mumble/mumble_no.ts
index eb5fbf7de..a11843a1d 100644
--- a/src/mumble/mumble_no.ts
+++ b/src/mumble/mumble_no.ts
@@ -8785,6 +8785,10 @@ Et tilgangssymbol er en tekststring, som kan brukes som et passord for veldig en
<source>.flac - Lossless compressed</source>
<translation>.flac - Tapsfritt komprimert</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_oc.ts b/src/mumble/mumble_oc.ts
index dc4f941de..9a6b08f32 100644
--- a/src/mumble/mumble_oc.ts
+++ b/src/mumble/mumble_oc.ts
@@ -8693,6 +8693,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_pl.ts b/src/mumble/mumble_pl.ts
index c3749c957..60d7f3bca 100644
--- a/src/mumble/mumble_pl.ts
+++ b/src/mumble/mumble_pl.ts
@@ -8858,6 +8858,10 @@ Token dostępu to ciąg tekstowy, który może służyć jako hasło do bardzo p
<source>.flac - Lossless compressed</source>
<translation>.flac - Bezstratna kompresja</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_pt_BR.ts b/src/mumble/mumble_pt_BR.ts
index bd64881e2..edc221d7e 100644
--- a/src/mumble/mumble_pt_BR.ts
+++ b/src/mumble/mumble_pt_BR.ts
@@ -8773,6 +8773,10 @@ Uma credencial de acesso é uma cadeia de caracteres de texto, que podem ser usa
<source>.flac - Lossless compressed</source>
<translation>.flac - Comprimido sem perdas</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_pt_PT.ts b/src/mumble/mumble_pt_PT.ts
index f31ce24a4..2b196df2f 100644
--- a/src/mumble/mumble_pt_PT.ts
+++ b/src/mumble/mumble_pt_PT.ts
@@ -8773,6 +8773,10 @@ Uma credencial de acesso é uma sequência de texto, que pode ser usada como uma
<source>.flac - Lossless compressed</source>
<translation>.flac - Comprimido sem perdas</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_ro.ts b/src/mumble/mumble_ro.ts
index 97d1387ea..06f23905e 100644
--- a/src/mumble/mumble_ro.ts
+++ b/src/mumble/mumble_ro.ts
@@ -8698,6 +8698,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_ru.ts b/src/mumble/mumble_ru.ts
index 4cd7b5278..ea82a20ee 100644
--- a/src/mumble/mumble_ru.ts
+++ b/src/mumble/mumble_ru.ts
@@ -8809,6 +8809,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - Сжатый без потерь</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_si.ts b/src/mumble/mumble_si.ts
index 91b0f82fb..f593532b0 100644
--- a/src/mumble/mumble_si.ts
+++ b/src/mumble/mumble_si.ts
@@ -8647,6 +8647,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_sq.ts b/src/mumble/mumble_sq.ts
index c42366e5c..09823516b 100644
--- a/src/mumble/mumble_sq.ts
+++ b/src/mumble/mumble_sq.ts
@@ -8647,6 +8647,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_sv.ts b/src/mumble/mumble_sv.ts
index 08a46a0c3..59ffd324c 100644
--- a/src/mumble/mumble_sv.ts
+++ b/src/mumble/mumble_sv.ts
@@ -8796,6 +8796,10 @@ En token är en textsträng, som kan användas som ett lösenord för enkel till
<source>.flac - Lossless compressed</source>
<translation>.flac - Förlustfritt komprimerad</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_te.ts b/src/mumble/mumble_te.ts
index 404285923..6a6da04f5 100644
--- a/src/mumble/mumble_te.ts
+++ b/src/mumble/mumble_te.ts
@@ -8710,6 +8710,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_th.ts b/src/mumble/mumble_th.ts
index 38830e924..672dc8fb7 100644
--- a/src/mumble/mumble_th.ts
+++ b/src/mumble/mumble_th.ts
@@ -8690,6 +8690,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_tr.ts b/src/mumble/mumble_tr.ts
index 27614bdd3..c36a2c007 100644
--- a/src/mumble/mumble_tr.ts
+++ b/src/mumble/mumble_tr.ts
@@ -8854,6 +8854,10 @@ Erişim jetonu bir metindir ve kanallara erişimin çok basit bir şekilde yöne
<source>.flac - Lossless compressed</source>
<translation>.flac - Kayıpsız olarak sıkıştırılmış</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_uk.ts b/src/mumble/mumble_uk.ts
index b0c772768..870bf97be 100644
--- a/src/mumble/mumble_uk.ts
+++ b/src/mumble/mumble_uk.ts
@@ -8694,6 +8694,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_zh_CN.ts b/src/mumble/mumble_zh_CN.ts
index 658046688..9d3552839 100644
--- a/src/mumble/mumble_zh_CN.ts
+++ b/src/mumble/mumble_zh_CN.ts
@@ -8845,6 +8845,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - 无损压缩</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_zh_HK.ts b/src/mumble/mumble_zh_HK.ts
index dcac44fbf..4f5a8ed84 100644
--- a/src/mumble/mumble_zh_HK.ts
+++ b/src/mumble/mumble_zh_HK.ts
@@ -8701,6 +8701,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - 無損壓縮</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>
diff --git a/src/mumble/mumble_zh_TW.ts b/src/mumble/mumble_zh_TW.ts
index 4adffeaff..3785cbeba 100644
--- a/src/mumble/mumble_zh_TW.ts
+++ b/src/mumble/mumble_zh_TW.ts
@@ -8721,6 +8721,10 @@ An access token is a text string, which can be used as a password for very simpl
<source>.flac - Lossless compressed</source>
<translation>.flac - 無損壓縮</translation>
</message>
+ <message>
+ <source>.opus - Lossy compressed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VoiceRecorderDialog</name>