Compare commits

..
37 Commits
Author SHA1 Message Date
Cameron Gutman 6c523570e5 Prepare for v3.1.4 2021-06-25 20:39:30 -05:00
Cameron Gutman 047e5bdd81 Update AppImage to libva 2.12 2021-06-24 21:47:01 -05:00
Cameron Gutman 6b1559d397 Update moonlight-common-c to fix audio problems with old GFE and Sunshine versions 2021-06-21 19:26:08 -05:00
Cameron Gutman cbeb23f16a Adjust Steam Link icon size to 116x116 2021-06-13 16:53:03 -05:00
Cameron Gutman 1af2742013 Update moonlight-common-c to fix spurious exit of fast audio recovery mode on startup 2021-06-13 11:20:28 -05:00
Cameron Gutman 8048938158 Fix Linux build 2021-06-12 16:12:46 -05:00
Cameron Gutman 3689c7f982 Don't enable input capture if the window can't be foregrounded 2021-06-12 13:59:13 -05:00
Cameron Gutman 96c7057fee Update moonlight-common-c to avoid qwave.dll dependency 2021-06-12 12:21:55 -05:00
Cameron Gutman df7c4c82a9 Update moonlight-common-c with performance optimizations 2021-06-09 23:23:47 -05:00
Cameron Gutman 18d8db338b Update moonlight-common-c 2021-06-08 20:19:39 -05:00
Cameron Gutman 9637639e31 Update moonlight-common-c with audio FEC support 2021-06-04 18:46:36 -05:00
Cameron Gutman badaaece04 Update moonlight-common-c 2021-05-25 20:39:53 -05:00
Cameron Gutman 56119eebae Adapt to constification of AVCodec in FFmpeg master 2021-05-24 23:27:31 -05:00
Cameron Gutman c17c8e2a2c Remove receive time from performance overlay
It is largely superseded by network latency
2021-05-22 13:59:14 -05:00
Cameron Gutman e45a60f2ed Save RTT in VIDEO_STATS so it can be logged on disconnect 2021-05-22 13:57:12 -05:00
Cameron Gutman ebe9356937 Integrate Thai and Korean translations 2021-05-22 13:44:45 -05:00
Cameron Gutman 0094305299 Merge remote-tracking branch 'origin/weblate' 2021-05-22 13:33:20 -05:00
NicolasS b27050d3bf Translated using Weblate (French)
Currently translated at 100.0% (186 of 186 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/fr/
2021-05-22 18:32:19 +02:00
Jorys Paulin d941e596ad Translated using Weblate (French)
Currently translated at 100.0% (186 of 186 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/fr/
2021-05-22 18:32:19 +02:00
sanhoe ddaec92da5 Translated using Weblate (Korean)
Currently translated at 100.0% (186 of 186 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/ko/
2021-05-21 16:14:30 +02:00
sanhoe 1c0a4c92a8 Translated using Weblate (Korean)
Currently translated at 100.0% (186 of 186 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/ko/
2021-05-20 21:45:31 +02:00
sanhoe 383c00afbd Added translation using Weblate (Korean) 2021-05-20 16:32:05 +02:00
Krit789 d3b2bff8ad Translated using Weblate (Thai)
Currently translated at 41.9% (78 of 186 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/th/
2021-05-18 00:32:49 +02:00
Cameron Gutman 77aaa6141d Update moonlight-common-c to avoid excessive ENet retransmissions when RTT variance is 0 2021-05-16 15:40:38 -05:00
Krit789 2bb1af61d0 Added translation using Weblate (Thai) 2021-05-16 21:58:44 +02:00
Cameron Gutman 40b29472b3 Update moonlight-common-c with more accurate RTTs, minRequiredFecPackets, and input queue draining 2021-05-16 14:46:57 -05:00
Cameron Gutman 5d5029de59 Increase limit for the --fps option 2021-05-16 14:45:53 -05:00
Cameron Gutman cc96e6a222 Rebase AppImage on Ubuntu Bionic and Qt 5.15.2 2021-05-16 12:45:34 -05:00
Cameron Gutman 581c9438ca Add network latency to stats overlay 2021-05-15 14:40:31 -05:00
Cameron Gutman 54bd427f26 Integrate Japanese and Vietnamese translations 2021-05-13 00:24:00 -05:00
Cameron Gutman c55d184195 Rerun lupdate-pro and lrelease-pro 2021-05-13 00:13:58 -05:00
Cameron Gutman b279f94789 Merge remote-tracking branch 'origin/weblate' 2021-05-13 00:06:47 -05:00
bruh f3a897e99a Translated using Weblate (Vietnamese)
Currently translated at 100.0% (186 of 186 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/vi/
2021-05-13 07:04:50 +02:00
bruh 392b1b5904 Added translation using Weblate (Vietnamese) 2021-05-12 07:36:31 +02:00
grtw2116 4daa8066a6 Translated using Weblate (Japanese)
Currently translated at 100.0% (186 of 186 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/ja/
2021-05-10 07:33:45 +02:00
NicolasS 8a89951286 Translated using Weblate (French)
Currently translated at 100.0% (186 of 186 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/fr/
2021-05-08 07:28:33 +02:00
grtw2116 c41ed55291 Added translation using Weblate (Japanese) 2021-05-08 07:28:33 +02:00
31 changed files with 4494 additions and 317 deletions
+6 -2
View File
@@ -45,7 +45,7 @@ win32 {
LIBS += -L$$PWD/../libs/windows/lib/arm64
}
LIBS += ws2_32.lib winmm.lib dxva2.lib ole32.lib gdi32.lib user32.lib d3d9.lib dwmapi.lib dbghelp.lib qwave.lib
LIBS += ws2_32.lib winmm.lib dxva2.lib ole32.lib gdi32.lib user32.lib d3d9.lib dwmapi.lib dbghelp.lib
}
macx {
INCLUDEPATH += $$PWD/../libs/mac/include
@@ -332,7 +332,11 @@ TRANSLATIONS += \
languages/qml_fr.ts \
languages/qml_nb_NO.ts \
languages/qml_ru.ts \
languages/qml_es.ts
languages/qml_es.ts \
languages/qml_ja.ts \
languages/qml_vi.ts \
languages/qml_th.ts \
languages/qml_ko.ts
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
+2 -2
View File
@@ -350,8 +350,8 @@ void StreamCommandLineParser::parse(const QStringList &args, StreamingPreference
// Resolve --fps option
if (parser.isSet("fps")) {
preferences->fps = parser.getIntOption("fps");
if (!inRange(preferences->fps, 30, 120)) {
parser.showError("FPS must be in range: 30 - 120");
if (!inRange(preferences->fps, 30, 240)) {
parser.showError("FPS must be in range: 30 - 240");
}
}
@@ -36,6 +36,17 @@
</screenshots>
<releases>
<release version="3.1.4" date="2021-06-25">
<description>
<p>Changes:</p>
<ul>
<li>Added network latency statistics to the performance overlay</li>
<li>Improved audio quality on unreliable connections (requires GeForce Experience 3.19 or later)</li>
<li>Reduced video frame drops on unreliable connections (requires GeForce Experience 3.22 or later)</li>
<li>Updated community-contributed translations from Weblate</li>
</ul>
</description>
</release>
<release version="3.1.3" date="2021-05-07">
<description>
<p>Changes:</p>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 13 KiB

+16
View File
@@ -794,6 +794,22 @@ Flickable {
text: "Español" // Spanish
val: StreamingPreferences.LANG_ES
}*/
ListElement {
text: "日本語" // Japanese
val: StreamingPreferences.LANG_JA
}
ListElement {
text: "Tiếng Việt" // Vietnamese
val: StreamingPreferences.LANG_VI
}
ListElement {
text: "ภาษาไทย" // Thai
val: StreamingPreferences.LANG_TH
}
ListElement {
text: "한국어" // Korean
val: StreamingPreferences.LANG_KO
}
}
// ::onActivated must be used, as it only listens for when the index is changed by a human
onActivated : {
+47 -47
View File
@@ -534,7 +534,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<location filename="../gui/SettingsView.qml" line="868"/>
<source>Fullscreen</source>
<translation>Vollbild</translation>
</message>
@@ -559,7 +559,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Windowed</source>
<translation>Fenster</translation>
</message>
@@ -639,32 +639,32 @@
<translation>Automatisch</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="805"/>
<location filename="../gui/SettingsView.qml" line="813"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation>Du musst Moonlight neustarten, damit diese Einstellung aktiv wird</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="819"/>
<location filename="../gui/SettingsView.qml" line="827"/>
<source>GUI display mode</source>
<translation>Anzeigemodus der Oberfläche</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="856"/>
<location filename="../gui/SettingsView.qml" line="864"/>
<source>Maximized</source>
<translation>Maximiert</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="913"/>
<location filename="../gui/SettingsView.qml" line="921"/>
<source>Input Settings</source>
<translation>Eingabe Einstellungen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<location filename="../gui/SettingsView.qml" line="942"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation>Dies ermöglicht eine nahtlose Maussteuerung, ohne den Mauszeiger des PCs zu erfassen. Es ist ideal für die Remote-Desktop-Nutzung, funktioniert aber bei den meisten Spielen nicht.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="936"/>
<location filename="../gui/SettingsView.qml" line="944"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation>HINWEIS: Aufgrund eines Fehlers in GeForce Experience funktioniert diese Option möglicherweise nicht richtig, wenn Ihr Host mehrere Monitore hat.</translation>
</message>
@@ -677,77 +677,77 @@
<translation type="vanished">Dies ermöglicht die Erfassung von systemweiten Tastenkombinationen wie Alt+Tab, die normalerweise vom Client beim Streamen im Vollbildmodus ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="955"/>
<location filename="../gui/SettingsView.qml" line="963"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation>HINWEIS: Bestimmte Tastenkombinationen wie Strg+Alt+Entf unter Windows können von keiner Anwendung abgefangen werden, auch nicht von Moonlight.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1018"/>
<location filename="../gui/SettingsView.qml" line="1026"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation>Touchscreen als virtuelles Trackpad verwenden</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<location filename="../gui/SettingsView.qml" line="1043"/>
<source>Swap left and right mouse buttons</source>
<translation>Linke und rechte Maustaste vertauschen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<location filename="../gui/SettingsView.qml" line="1055"/>
<source>Reverse mouse scrolling direction</source>
<translation>Scrollrichtung umkehren</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1061"/>
<location filename="../gui/SettingsView.qml" line="1069"/>
<source>Gamepad Settings</source>
<translation>Controller Einstellungen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1071"/>
<location filename="../gui/SettingsView.qml" line="1079"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation>Tausche A/B und X/Y Controller Tasten</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1089"/>
<location filename="../gui/SettingsView.qml" line="1097"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation>Dies ändert das Controller Tastenlayout in ein Nintento Controller Style Layout</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1095"/>
<location filename="../gui/SettingsView.qml" line="1103"/>
<source>Force gamepad #1 always connected</source>
<translation>Erzwinge das Controller #1 immer verbunden ist</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1105"/>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation>Erzwingt, dass ein Controller immer mit dem Host verbunden bleibt, auch wenn keine Gamepads an diesen PC angeschlossen sind.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="935"/>
<location filename="../gui/SettingsView.qml" line="943"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>Du kannst dies während des Streamens umstellen mit Strg+Alt+Shift+M.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1113"/>
<location filename="../gui/SettingsView.qml" line="1121"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation>Aktivieren Sie die Maussteuerung mit Controllern, indem Sie die &apos;Start&apos;-Taste gedrückt halten</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1124"/>
<location filename="../gui/SettingsView.qml" line="1132"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation>Controller-Eingaben ausführen auch wenn Moonlight im Hintergrund ist</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1135"/>
<location filename="../gui/SettingsView.qml" line="1143"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation>Erlaubt es Moonlight Controller-Eingaben an den Stream zu schicken auch wenn es nicht das aktive Fenster ist</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1144"/>
<location filename="../gui/SettingsView.qml" line="1152"/>
<source>Host Settings</source>
<translation>Host Einstellungen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1184"/>
<location filename="../gui/SettingsView.qml" line="1192"/>
<source>Advanced Settings</source>
<translation>Erweiterte Einstellungen</translation>
</message>
@@ -757,118 +757,118 @@
<translation>Audio Einstellungen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="873"/>
<location filename="../gui/SettingsView.qml" line="881"/>
<source>Show connection quality warnings</source>
<translation>Warnung bei Verbindungsproblemen anzeigen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="885"/>
<location filename="../gui/SettingsView.qml" line="893"/>
<source>Discord Rich Presence integration</source>
<translation>Integration von Discord Rich Presence</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="895"/>
<location filename="../gui/SettingsView.qml" line="903"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation>Aktualisiert deinen Discord Status um den Namen der aktuellen App anzuzeigen, wenn du streamst.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1106"/>
<location filename="../gui/SettingsView.qml" line="1114"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation>Aktiviere diese Option nur wenn du ein Spiel streamst, dass die Verbindung von Controllern nach dem Start nicht unterstützt.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<location filename="../gui/SettingsView.qml" line="932"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation>Optimiere die Maus für Remote Desktop statt für Apps</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="946"/>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>Capture system keyboard shortcuts</source>
<translation>Erfasse Systemtastatur Shortcuts</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="954"/>
<location filename="../gui/SettingsView.qml" line="962"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation>Dies aktiviert das Erfassen von Systemweiten Tastatur Shortcuts wie Alt+Tab, welche nomalerweise auf dem Client ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="984"/>
<location filename="../gui/SettingsView.qml" line="992"/>
<source>in fullscreen</source>
<translation>im Vollbildmodus</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="988"/>
<location filename="../gui/SettingsView.qml" line="996"/>
<source>always</source>
<translation>immer</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1028"/>
<location filename="../gui/SettingsView.qml" line="1036"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation>Wenn aktiviert, verhält sich der Touchscreen wie ein Trackpad. Wenn deaktiviert, steuert der Touchscreen direkt den Mauszeiger.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1154"/>
<location filename="../gui/SettingsView.qml" line="1162"/>
<source>Optimize game settings for streaming</source>
<translation>Optimiere die Spieleinstellungen für das Streamen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1165"/>
<location filename="../gui/SettingsView.qml" line="1173"/>
<source>Quit app on host PC after ending stream</source>
<translation>Schließe die App auf dem Host nach dem beenden des Streams</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1175"/>
<location filename="../gui/SettingsView.qml" line="1183"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation>Dadurch wird die App, dass du streamst, geschlossen, wenn du deinen Stream beendest. Du verlierst dabei alle ungespeicherten Fortschritte!</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1194"/>
<location filename="../gui/SettingsView.qml" line="1202"/>
<source>Video decoder</source>
<translation>Video Decoder</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>Automatic (Recommended)</source>
<translation>Automatisch (empfohlen)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1223"/>
<location filename="../gui/SettingsView.qml" line="1231"/>
<source>Force software decoding</source>
<translation>Erwzinge Software decoding</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1235"/>
<source>Force hardware decoding</source>
<translation>Erzwinge Hardware decoding</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1240"/>
<location filename="../gui/SettingsView.qml" line="1248"/>
<source>Video codec</source>
<translation>Video Codec</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1269"/>
<location filename="../gui/SettingsView.qml" line="1277"/>
<source>H.264</source>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1273"/>
<location filename="../gui/SettingsView.qml" line="1281"/>
<source>HEVC (H.265)</source>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1290"/>
<location filename="../gui/SettingsView.qml" line="1298"/>
<source>Unlock unsupported FPS options</source>
<translation>Zeige nicht unterstützte FPS Optionen an</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1309"/>
<location filename="../gui/SettingsView.qml" line="1317"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation>Suche automatisch nach Hosts im lokalen Netzwerk (empfohlen)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1334"/>
<location filename="../gui/SettingsView.qml" line="1342"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation>Erkenne automatisch geblockte Verbindungen (empfohlen)</translation>
</message>
+47 -47
View File
@@ -534,7 +534,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<location filename="../gui/SettingsView.qml" line="868"/>
<source>Fullscreen</source>
<translation type="unfinished"></translation>
</message>
@@ -559,7 +559,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Windowed</source>
<translation type="unfinished"></translation>
</message>
@@ -639,32 +639,32 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="805"/>
<location filename="../gui/SettingsView.qml" line="813"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="819"/>
<location filename="../gui/SettingsView.qml" line="827"/>
<source>GUI display mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="856"/>
<location filename="../gui/SettingsView.qml" line="864"/>
<source>Maximized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="913"/>
<location filename="../gui/SettingsView.qml" line="921"/>
<source>Input Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<location filename="../gui/SettingsView.qml" line="942"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="936"/>
<location filename="../gui/SettingsView.qml" line="944"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation type="unfinished"></translation>
</message>
@@ -677,77 +677,77 @@
<translation type="vanished">Dies ermöglicht die Erfassung von systemweiten Tastenkombinationen wie Alt+Tab, die normalerweise vom Client beim Streamen im Vollbildmodus ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="955"/>
<location filename="../gui/SettingsView.qml" line="963"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1018"/>
<location filename="../gui/SettingsView.qml" line="1026"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<location filename="../gui/SettingsView.qml" line="1043"/>
<source>Swap left and right mouse buttons</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<location filename="../gui/SettingsView.qml" line="1055"/>
<source>Reverse mouse scrolling direction</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1061"/>
<location filename="../gui/SettingsView.qml" line="1069"/>
<source>Gamepad Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1071"/>
<location filename="../gui/SettingsView.qml" line="1079"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1089"/>
<location filename="../gui/SettingsView.qml" line="1097"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1095"/>
<location filename="../gui/SettingsView.qml" line="1103"/>
<source>Force gamepad #1 always connected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1105"/>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="935"/>
<location filename="../gui/SettingsView.qml" line="943"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1113"/>
<location filename="../gui/SettingsView.qml" line="1121"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1124"/>
<location filename="../gui/SettingsView.qml" line="1132"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1135"/>
<location filename="../gui/SettingsView.qml" line="1143"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1144"/>
<location filename="../gui/SettingsView.qml" line="1152"/>
<source>Host Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1184"/>
<location filename="../gui/SettingsView.qml" line="1192"/>
<source>Advanced Settings</source>
<translation type="unfinished"></translation>
</message>
@@ -757,118 +757,118 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="873"/>
<location filename="../gui/SettingsView.qml" line="881"/>
<source>Show connection quality warnings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="885"/>
<location filename="../gui/SettingsView.qml" line="893"/>
<source>Discord Rich Presence integration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="895"/>
<location filename="../gui/SettingsView.qml" line="903"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1106"/>
<location filename="../gui/SettingsView.qml" line="1114"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<location filename="../gui/SettingsView.qml" line="932"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="946"/>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>Capture system keyboard shortcuts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="954"/>
<location filename="../gui/SettingsView.qml" line="962"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="984"/>
<location filename="../gui/SettingsView.qml" line="992"/>
<source>in fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="988"/>
<location filename="../gui/SettingsView.qml" line="996"/>
<source>always</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1028"/>
<location filename="../gui/SettingsView.qml" line="1036"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1154"/>
<location filename="../gui/SettingsView.qml" line="1162"/>
<source>Optimize game settings for streaming</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1165"/>
<location filename="../gui/SettingsView.qml" line="1173"/>
<source>Quit app on host PC after ending stream</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1175"/>
<location filename="../gui/SettingsView.qml" line="1183"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1194"/>
<location filename="../gui/SettingsView.qml" line="1202"/>
<source>Video decoder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>Automatic (Recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1223"/>
<location filename="../gui/SettingsView.qml" line="1231"/>
<source>Force software decoding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1235"/>
<source>Force hardware decoding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1240"/>
<location filename="../gui/SettingsView.qml" line="1248"/>
<source>Video codec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1269"/>
<location filename="../gui/SettingsView.qml" line="1277"/>
<source>H.264</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1273"/>
<location filename="../gui/SettingsView.qml" line="1281"/>
<source>HEVC (H.265)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1290"/>
<location filename="../gui/SettingsView.qml" line="1298"/>
<source>Unlock unsupported FPS options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1309"/>
<location filename="../gui/SettingsView.qml" line="1317"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1334"/>
<location filename="../gui/SettingsView.qml" line="1342"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation type="unfinished"></translation>
</message>
Binary file not shown.
+52 -52
View File
@@ -87,7 +87,7 @@
<message>
<location filename="../gui/GamepadMapper.qml" line="4"/>
<source>Gamepad Mapping</source>
<translation>Configuration du contrôleur</translation>
<translation>Configuration de la manette</translation>
</message>
</context>
<context>
@@ -257,7 +257,7 @@
<location filename="../cli/quitstream.cpp" line="76"/>
<location filename="../cli/startstream.cpp" line="133"/>
<source>Failed to connect to %1</source>
<translation>N&apos;a pas pu se connecter à %1</translation>
<translation>La connexion à %1 a échoué</translation>
</message>
<message>
<location filename="../cli/quitstream.cpp" line="88"/>
@@ -274,7 +274,7 @@
<message>
<location filename="../cli/startstream.cpp" line="137"/>
<source>Failed to find application %1</source>
<translation>N&apos;a pas trouvé l&apos;application %1</translation>
<translation>La recherche de l&apos;application %1 a échoué</translation>
</message>
</context>
<context>
@@ -538,7 +538,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<location filename="../gui/SettingsView.qml" line="868"/>
<source>Fullscreen</source>
<translation>Plein écran</translation>
</message>
@@ -558,7 +558,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Windowed</source>
<translation>Fenêtré</translation>
</message>
@@ -569,7 +569,7 @@
<message>
<location filename="../gui/SettingsView.qml" line="599"/>
<source>V-Sync</source>
<translation>synchronisation verticale</translation>
<translation>Synchronisation verticale (V-Sync)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="609"/>
@@ -584,7 +584,7 @@
<message>
<location filename="../gui/SettingsView.qml" line="626"/>
<source>Frame pacing reduces micro-stutter by delaying frames that come in too early</source>
<translation>Frame pacing réduit les micro-bégaiements en retardant les images qui arrivent trop tôt</translation>
<translation>Le Frame pacing réduit les micro-saccades en retardant les images qui arrivent trop tôt</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="636"/>
@@ -642,87 +642,87 @@
<translation>Automatique</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="805"/>
<location filename="../gui/SettingsView.qml" line="813"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation>Vous devez redémarrer Moonlight pour que ce changement prenne effet</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="819"/>
<location filename="../gui/SettingsView.qml" line="827"/>
<source>GUI display mode</source>
<translation>Mode d&apos;affichage de l&apos;interface graphique</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="856"/>
<location filename="../gui/SettingsView.qml" line="864"/>
<source>Maximized</source>
<translation>Maximisé</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="913"/>
<location filename="../gui/SettingsView.qml" line="921"/>
<source>Input Settings</source>
<translation>Paramètres d&apos;entrée</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<location filename="../gui/SettingsView.qml" line="942"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation>Cela permet un contrôle transparent de la souris, sans capturer le curseur du client. C&apos;est idéal pour l’utilisation du bureau à distance, mais ne fonctionnera pas dans la plupart des jeux.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="936"/>
<location filename="../gui/SettingsView.qml" line="944"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation>REMARQUE : En raison d&apos;un bogue dans GeForce Experience, cette option peut ne pas fonctionner correctement si votre PC hôte a plusieurs moniteurs.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="955"/>
<location filename="../gui/SettingsView.qml" line="963"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation>REMARQUE : Certains raccourcis clavier comme Ctrl+Alt+Suppr sur Windows ne peuvent jamais être interceptés, y compris par Moonlight.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="984"/>
<location filename="../gui/SettingsView.qml" line="992"/>
<source>in fullscreen</source>
<translation>en plein écran</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="988"/>
<location filename="../gui/SettingsView.qml" line="996"/>
<source>always</source>
<translation>toujours</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1018"/>
<location filename="../gui/SettingsView.qml" line="1026"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation>Utiliser l&apos;écran tactile comme un trackpad virtuel</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<location filename="../gui/SettingsView.qml" line="1043"/>
<source>Swap left and right mouse buttons</source>
<translation>Permuter les boutons gauche et droit de la souris</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<location filename="../gui/SettingsView.qml" line="1055"/>
<source>Reverse mouse scrolling direction</source>
<translation>Inverser le sens de défilement de la souris</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1061"/>
<location filename="../gui/SettingsView.qml" line="1069"/>
<source>Gamepad Settings</source>
<translation>Paramètres de la manette</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1071"/>
<location filename="../gui/SettingsView.qml" line="1079"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation>Inverser les boutons A/B et X/Y de la manette</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1089"/>
<location filename="../gui/SettingsView.qml" line="1097"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation>Permet d&apos;utiliser les boutons comme sur une manette Nintendo</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1095"/>
<location filename="../gui/SettingsView.qml" line="1103"/>
<source>Force gamepad #1 always connected</source>
<translation>Forcer la manette #1 à être toujours connectée</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1105"/>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation>Force une seule manette de jeu à toujours rester connectée à l&apos;hôte, même si aucune manette de jeu n&apos;est réellement connectée à ce PC.</translation>
</message>
@@ -731,42 +731,42 @@
<translation type="vanished">Cela permet de contrôler la souris sans avoir à capturer le curseur du client. Cela ne fonctionne pas dans la plupart des jeux.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="935"/>
<location filename="../gui/SettingsView.qml" line="943"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>Vous pouvez basculer ceci pendant la diffusion en utilisant Ctrl+Alt+Maj+M.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="946"/>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>Capture system keyboard shortcuts</source>
<translation>Capturer les raccourcis clavier système</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="954"/>
<location filename="../gui/SettingsView.qml" line="962"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation>Ceci permet la capture de raccourcis clavier système comme Alt+Tab, qui seraient normalement utilisés par le système d’exploitation client.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1113"/>
<location filename="../gui/SettingsView.qml" line="1121"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation>Active le contrôle de la souris par la manette en maintenant le bouton « Start »</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1124"/>
<location filename="../gui/SettingsView.qml" line="1132"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation>Capturer la manette même lorsque Moonlight est en arrière-plan</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1135"/>
<location filename="../gui/SettingsView.qml" line="1143"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation>Permet à Moonlight de capturer la manette même si Moonlight n&apos;est pas au premier plan</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1144"/>
<location filename="../gui/SettingsView.qml" line="1152"/>
<source>Host Settings</source>
<translation>Paramètres de l&apos;hôte</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1184"/>
<location filename="../gui/SettingsView.qml" line="1192"/>
<source>Advanced Settings</source>
<translation>Paramètres avancés</translation>
</message>
@@ -780,17 +780,17 @@
<translation type="vanished">Maximiser la fenêtre Moonlight au démarrage</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="873"/>
<location filename="../gui/SettingsView.qml" line="881"/>
<source>Show connection quality warnings</source>
<translation>Afficher les avertissements sur la qualité de la connexion</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="885"/>
<location filename="../gui/SettingsView.qml" line="893"/>
<source>Discord Rich Presence integration</source>
<translation>Intégration de la présence Discord Rich</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="895"/>
<location filename="../gui/SettingsView.qml" line="903"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation>Met à jour votre statut Discord pour afficher le nom du jeu que vous diffusez en continu.</translation>
</message>
@@ -799,12 +799,12 @@
<translation type="vanished">Forcé la manette de jeu Force #1 à être toujours présente</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1106"/>
<location filename="../gui/SettingsView.qml" line="1114"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation>N&apos;activez cette option que lorsque vous diffusez en continu un jeu qui ne prend pas en charge la connexion des manettes de jeu après le démarrage.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<location filename="../gui/SettingsView.qml" line="932"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation>Optimiser la souris pour le bureau à distance plutôt que pour les jeux</translation>
</message>
@@ -813,7 +813,7 @@
<translation type="vanished">Utiliser l&apos;écran tactile comme trackpad</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1028"/>
<location filename="../gui/SettingsView.qml" line="1036"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation>Lorsqu&apos;il est coché, l&apos;écran tactile agit comme un pavé tactile. Lorsqu&apos;il n&apos;est pas coché, l&apos;écran tactile contrôle directement le pointeur de la souris.</translation>
</message>
@@ -834,7 +834,7 @@
<translation type="vanished">Lorsque la case est cochée, permuter les boutons gauche et droit de la souris</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1154"/>
<location filename="../gui/SettingsView.qml" line="1162"/>
<source>Optimize game settings for streaming</source>
<translation>Optimiser les paramètres du jeu pour la diffusion en continu</translation>
</message>
@@ -843,63 +843,63 @@
<translation type="vanished">Lecture audio sur le PC hôte</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1165"/>
<location filename="../gui/SettingsView.qml" line="1173"/>
<source>Quit app on host PC after ending stream</source>
<translation>Quitter l&apos;application sur le PC hôte après avoir terminé le flux</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1175"/>
<location filename="../gui/SettingsView.qml" line="1183"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation>Ceci fermera l&apos;application ou le jeu que vous êtes en train de diffuser lorsque vous aurez terminé votre flux. Vous perdrez tout progrès non sauvegardé !</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1194"/>
<location filename="../gui/SettingsView.qml" line="1202"/>
<source>Video decoder</source>
<translation>Décodeur vidéo</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>Automatic (Recommended)</source>
<translation>Automatique (recommandé)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1223"/>
<location filename="../gui/SettingsView.qml" line="1231"/>
<source>Force software decoding</source>
<translation>Forcer le décodage logiciel</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1235"/>
<source>Force hardware decoding</source>
<translation>Forcer le décodage matériel</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1240"/>
<location filename="../gui/SettingsView.qml" line="1248"/>
<source>Video codec</source>
<translation>Codec vidéo</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1269"/>
<location filename="../gui/SettingsView.qml" line="1277"/>
<source>H.264</source>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1273"/>
<location filename="../gui/SettingsView.qml" line="1281"/>
<source>HEVC (H.265)</source>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1290"/>
<location filename="../gui/SettingsView.qml" line="1298"/>
<source>Unlock unsupported FPS options</source>
<translation>Débloquer les options FPS non supportées</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1309"/>
<location filename="../gui/SettingsView.qml" line="1317"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation>Trouver automatiquement les PC sur le réseau local (recommandé)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1334"/>
<location filename="../gui/SettingsView.qml" line="1342"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation>Détecter automatiquement les connexions bloquées (recommandé)</translation>
</message>
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
+47 -47
View File
@@ -534,7 +534,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<location filename="../gui/SettingsView.qml" line="868"/>
<source>Fullscreen</source>
<translation>Fullskjermsvisning</translation>
</message>
@@ -559,7 +559,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Windowed</source>
<translation>Vindusmodus</translation>
</message>
@@ -639,32 +639,32 @@
<translation>Automatisk</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="805"/>
<location filename="../gui/SettingsView.qml" line="813"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation>Du må starte Moonlight på ny for at denne endringen skal tre i effekt</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="819"/>
<location filename="../gui/SettingsView.qml" line="827"/>
<source>GUI display mode</source>
<translation>Visningsmodus for brukergrensesnitt</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="856"/>
<location filename="../gui/SettingsView.qml" line="864"/>
<source>Maximized</source>
<translation>Maksimert</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="913"/>
<location filename="../gui/SettingsView.qml" line="921"/>
<source>Input Settings</source>
<translation type="unfinished">Inndata-innstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<location filename="../gui/SettingsView.qml" line="942"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation type="unfinished">Skrur på sømløs musekontroll uten å fange klientens musepeker. Dette er ideelt for fjernskrivebordsbruk, men fungerer ikke i de fleste spill.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="936"/>
<location filename="../gui/SettingsView.qml" line="944"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation type="unfinished">Merk: Som følge av en feil i GeForce Experience, vil dette alternativet muligens ikke fungere riktig hvis din verts-PC har flere skjermer.</translation>
</message>
@@ -677,77 +677,77 @@
<translation type="vanished">Dies ermöglicht die Erfassung von systemweiten Tastenkombinationen wie Alt+Tab, die normalerweise vom Client beim Streamen im Vollbildmodus ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="955"/>
<location filename="../gui/SettingsView.qml" line="963"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation type="unfinished">Merk: Gitte tastatursnarveier, som Ctrl+Alt+Del på Windows kan ikke fanges av noe program, inkludert Moonlight.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1018"/>
<location filename="../gui/SettingsView.qml" line="1026"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation>Bruk pekeskjerm som virtuell pekeflate</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<location filename="../gui/SettingsView.qml" line="1043"/>
<source>Swap left and right mouse buttons</source>
<translation>Bytt venstre og høyre musetaster</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<location filename="../gui/SettingsView.qml" line="1055"/>
<source>Reverse mouse scrolling direction</source>
<translation>Omvendt muserullingsretning</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1061"/>
<location filename="../gui/SettingsView.qml" line="1069"/>
<source>Gamepad Settings</source>
<translation>Spillkontrolller-innstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1071"/>
<location filename="../gui/SettingsView.qml" line="1079"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation>Veksle A/B- og X/Y-spillkontrollerknapper</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1089"/>
<location filename="../gui/SettingsView.qml" line="1097"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation>Dette bytter spillkontrollere til knappeoppsett i Nintendo-stil</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1095"/>
<location filename="../gui/SettingsView.qml" line="1103"/>
<source>Force gamepad #1 always connected</source>
<translation type="unfinished">Krev at spillkontroller nr. 1 alltid er tilkoblet</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1105"/>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation type="unfinished">Krever at én spillkontroller alltid er tilkoblet verten, selv om ingen spillkontrollere faktisk er tilkoblet til denne PC-en.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="935"/>
<location filename="../gui/SettingsView.qml" line="943"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>Du kan veksle dette under strømming ved bruk av Ctrl+Alt+Shift+M.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1113"/>
<location filename="../gui/SettingsView.qml" line="1121"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation type="unfinished">Skrur på musekontroll ved bruk av spillkontrollere ved å holde «Start»-knappen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1124"/>
<location filename="../gui/SettingsView.qml" line="1132"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation>Behandle spillkontrollerinndata når Moonlight er i bakgrunnen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1135"/>
<location filename="../gui/SettingsView.qml" line="1143"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation type="unfinished">Lar Moonlight fange opp spillkontollerinndata selv når det ikke er i fokus</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1144"/>
<location filename="../gui/SettingsView.qml" line="1152"/>
<source>Host Settings</source>
<translation>Vertsinnstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1184"/>
<location filename="../gui/SettingsView.qml" line="1192"/>
<source>Advanced Settings</source>
<translation>Avanserte innstillinger</translation>
</message>
@@ -757,118 +757,118 @@
<translation>Lydoppsett</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="873"/>
<location filename="../gui/SettingsView.qml" line="881"/>
<source>Show connection quality warnings</source>
<translation>Vis kvalitetsadvarsler om tilkoblingen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="885"/>
<location filename="../gui/SettingsView.qml" line="893"/>
<source>Discord Rich Presence integration</source>
<translation>Rik tilstedeværelsesintegrasjon for Discord</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="895"/>
<location filename="../gui/SettingsView.qml" line="903"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation>Oppdaterer din Discord-status til å vise navnet på spillet du strømmer.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1106"/>
<location filename="../gui/SettingsView.qml" line="1114"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation type="unfinished">Kun skru på dette når du strømmer et spill som ikke støtter av spillkontrollere er tilkoblet etter oppstart.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<location filename="../gui/SettingsView.qml" line="932"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation>Optimaliser mus for fjernskrivebord istedenfor spill</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="946"/>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>Capture system keyboard shortcuts</source>
<translation>Fang systemtastatursarveier</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="954"/>
<location filename="../gui/SettingsView.qml" line="962"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation>Lar deg fange tastatursnarveier på hele systemet, slik som Alt+Tav som normalt ville blitt håndtert av klient-OS under strømming.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="984"/>
<location filename="../gui/SettingsView.qml" line="992"/>
<source>in fullscreen</source>
<translation>i fullskjermsmodus</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="988"/>
<location filename="../gui/SettingsView.qml" line="996"/>
<source>always</source>
<translation>alltid</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1028"/>
<location filename="../gui/SettingsView.qml" line="1036"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation type="unfinished">Får pekeskjermen til å oppføre seg som pekeflate. Ellers vil pekeskjermen kontrollere musepekeren direkte.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1154"/>
<location filename="../gui/SettingsView.qml" line="1162"/>
<source>Optimize game settings for streaming</source>
<translation>Optimaliser spillinnstillinger for strømming</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1165"/>
<location filename="../gui/SettingsView.qml" line="1173"/>
<source>Quit app on host PC after ending stream</source>
<translation>Avslutt program på verts-PC etter at strømmen fullendes</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1175"/>
<location filename="../gui/SettingsView.qml" line="1183"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation>Dette vil lukke programmet eller spillet du strømmer når du avslutter strømmen din. All ulagret fremdrift vil gå tapt.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1194"/>
<location filename="../gui/SettingsView.qml" line="1202"/>
<source>Video decoder</source>
<translation>Videodekoder</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>Automatic (Recommended)</source>
<translation>Automatisk (anbefalt)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1223"/>
<location filename="../gui/SettingsView.qml" line="1231"/>
<source>Force software decoding</source>
<translation>Påtving mykvaredekoding</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1235"/>
<source>Force hardware decoding</source>
<translation>Påtving maskinvaredekoding</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1240"/>
<location filename="../gui/SettingsView.qml" line="1248"/>
<source>Video codec</source>
<translation>Videokodek</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1269"/>
<location filename="../gui/SettingsView.qml" line="1277"/>
<source>H.264</source>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1273"/>
<location filename="../gui/SettingsView.qml" line="1281"/>
<source>HEVC (H.265)</source>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1290"/>
<location filename="../gui/SettingsView.qml" line="1298"/>
<source>Unlock unsupported FPS options</source>
<translation>Lås opp ustøttede BPS-innstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1309"/>
<location filename="../gui/SettingsView.qml" line="1317"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation>Finn PC-er på lokalnettverket automatisk (anbefales)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1334"/>
<location filename="../gui/SettingsView.qml" line="1342"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation>Oppdag blokkerte tilkoblinger automatisk (anbefales)</translation>
</message>
+47 -47
View File
@@ -534,7 +534,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<location filename="../gui/SettingsView.qml" line="868"/>
<source>Fullscreen</source>
<translation>На весь экран</translation>
</message>
@@ -559,7 +559,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Windowed</source>
<translation>В окне</translation>
</message>
@@ -639,32 +639,32 @@
<translation>Автоматически</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="805"/>
<location filename="../gui/SettingsView.qml" line="813"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation>Для применения изменений необходим перезапуск Moonlight</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="819"/>
<location filename="../gui/SettingsView.qml" line="827"/>
<source>GUI display mode</source>
<translation>Режим показа интерфейса</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="856"/>
<location filename="../gui/SettingsView.qml" line="864"/>
<source>Maximized</source>
<translation>Развёрнуто</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="913"/>
<location filename="../gui/SettingsView.qml" line="921"/>
<source>Input Settings</source>
<translation>Настройки ввода</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<location filename="../gui/SettingsView.qml" line="942"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation>Удобно для удалённого рабочего стола, т.к. курсор мыши не будет &quot;захвачен&quot; и может уходить за пределы окна Moonlight. Не будет работать в большинстве игр.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="936"/>
<location filename="../gui/SettingsView.qml" line="944"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation>Предупреждение: Из-за бага GeForce Experience эта настройка может не работать, если к хост-ПК подключено несколько мониторов.</translation>
</message>
@@ -677,77 +677,77 @@
<translation type="vanished">Dies ermöglicht die Erfassung von systemweiten Tastenkombinationen wie Alt+Tab, die normalerweise vom Client beim Streamen im Vollbildmodus ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="955"/>
<location filename="../gui/SettingsView.qml" line="963"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation>Предупреждение: некоторые комбинации клавиш, вроде Ctrl-Alt-Del, не могут быть перехвачены.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1018"/>
<location filename="../gui/SettingsView.qml" line="1026"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation>Использовать сенсорный экран как виртуальный тачпад</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<location filename="../gui/SettingsView.qml" line="1043"/>
<source>Swap left and right mouse buttons</source>
<translation>Поменять местами левую и правую кнопки мыши</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<location filename="../gui/SettingsView.qml" line="1055"/>
<source>Reverse mouse scrolling direction</source>
<translation>Колесо мыши крутит в обратном направлении</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1061"/>
<location filename="../gui/SettingsView.qml" line="1069"/>
<source>Gamepad Settings</source>
<translation>Настройки геймпада</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1071"/>
<location filename="../gui/SettingsView.qml" line="1079"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation>Поменять местами кнопки A/B и X/Y</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1089"/>
<location filename="../gui/SettingsView.qml" line="1097"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation>Меняет назначения кнопок в стиль Nintendo</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1095"/>
<location filename="../gui/SettingsView.qml" line="1103"/>
<source>Force gamepad #1 always connected</source>
<translation>Принудительно оставить геймпад №1 подключённым</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1105"/>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation>Хотя бы один виртуальный геймпад всегда будет &quot;подключён&quot; к хост-ПК, даже если физически к ПК-хосту не подключено ни одного.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="935"/>
<location filename="../gui/SettingsView.qml" line="943"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>Вы можете переключить эту настройку во время стрима нажатием Ctrl+Alt+Shift+M.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1113"/>
<location filename="../gui/SettingsView.qml" line="1121"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation>Переходить в режим управления курсором мыши удержанием кнопки &quot;Start&quot;</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1124"/>
<location filename="../gui/SettingsView.qml" line="1132"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation>Геймпад работает, когда окно Moonlight в фоне</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1135"/>
<location filename="../gui/SettingsView.qml" line="1143"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation>Позволяет захватывать ввод с геймпада, даже когда окно Moonlight неактивно</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1144"/>
<location filename="../gui/SettingsView.qml" line="1152"/>
<source>Host Settings</source>
<translation>Настройки ПК-хоста</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1184"/>
<location filename="../gui/SettingsView.qml" line="1192"/>
<source>Advanced Settings</source>
<translation>Расширенные настройки</translation>
</message>
@@ -757,118 +757,118 @@
<translation>Настройки звука</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="873"/>
<location filename="../gui/SettingsView.qml" line="881"/>
<source>Show connection quality warnings</source>
<translation>Показывать предупреждения о качестве соединения</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="885"/>
<location filename="../gui/SettingsView.qml" line="893"/>
<source>Discord Rich Presence integration</source>
<translation>Интеграция в Discord Rich Presence</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="895"/>
<location filename="../gui/SettingsView.qml" line="903"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation>Пишет статус в Discord с названием запущенноый игры.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1106"/>
<location filename="../gui/SettingsView.qml" line="1114"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation>Необходимо для игр, не поддерживающих &quot;горячее&quot; подключение геймпадов.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<location filename="../gui/SettingsView.qml" line="932"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation>Оптимизировать мышь для удалённого рабочего стола вместо игр</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="946"/>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>Capture system keyboard shortcuts</source>
<translation>Захватывать нажатия горячих клавиш</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="954"/>
<location filename="../gui/SettingsView.qml" line="962"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation>Это включает захват комбинаций вроде Alt+Tab, которые иначе бы обычно обрабатывались операционной системой.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="984"/>
<location filename="../gui/SettingsView.qml" line="992"/>
<source>in fullscreen</source>
<translation>только в режиме на весь экран</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="988"/>
<location filename="../gui/SettingsView.qml" line="996"/>
<source>always</source>
<translation>всегда</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1028"/>
<location filename="../gui/SettingsView.qml" line="1036"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation>Если включено, сенсорный экран будет использоваться как тачпад. Если отключено, сенсорный экран будет прямо управлять курсором мыши.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1154"/>
<location filename="../gui/SettingsView.qml" line="1162"/>
<source>Optimize game settings for streaming</source>
<translation>Позволить GeForce Experience оптимизировать настройки игры</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1165"/>
<location filename="../gui/SettingsView.qml" line="1173"/>
<source>Quit app on host PC after ending stream</source>
<translation>Завершить игру на ПК-хосте при выходе</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1175"/>
<location filename="../gui/SettingsView.qml" line="1183"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation>Это выйдет из игры или приложения при закрытии окна Moonlight или нажатии Ctrl+Alt+Shift+Q. Несохранённый прогресс может быть утерян!</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1194"/>
<location filename="../gui/SettingsView.qml" line="1202"/>
<source>Video decoder</source>
<translation>Декодер видео</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>Automatic (Recommended)</source>
<translation>Автоматически (рекомендуется)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1223"/>
<location filename="../gui/SettingsView.qml" line="1231"/>
<source>Force software decoding</source>
<translation>Программный</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1235"/>
<source>Force hardware decoding</source>
<translation>Аппаратный</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1240"/>
<location filename="../gui/SettingsView.qml" line="1248"/>
<source>Video codec</source>
<translation>Видеокодек</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1269"/>
<location filename="../gui/SettingsView.qml" line="1277"/>
<source>H.264</source>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1273"/>
<location filename="../gui/SettingsView.qml" line="1281"/>
<source>HEVC (H.265)</source>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1290"/>
<location filename="../gui/SettingsView.qml" line="1298"/>
<source>Unlock unsupported FPS options</source>
<translation>Включить неподдерживаемые настройки FPS</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1309"/>
<location filename="../gui/SettingsView.qml" line="1317"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation>Автоматически найти ПК-хосты в локальной сети (рекомендуется)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1334"/>
<location filename="../gui/SettingsView.qml" line="1342"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation>Автоматически определять проблемы с подключением (рекомендуется)</translation>
</message>
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
+47 -47
View File
@@ -522,7 +522,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<location filename="../gui/SettingsView.qml" line="868"/>
<source>Fullscreen</source>
<translation>全屏</translation>
</message>
@@ -533,7 +533,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Windowed</source>
<translation>窗口化</translation>
</message>
@@ -623,67 +623,67 @@
<translation>自动化</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="805"/>
<location filename="../gui/SettingsView.qml" line="813"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation>你必须重新启动 Moonlight 才能使更改生效</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="819"/>
<location filename="../gui/SettingsView.qml" line="827"/>
<source>GUI display mode</source>
<translation>窗口显示模式</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="856"/>
<location filename="../gui/SettingsView.qml" line="864"/>
<source>Maximized</source>
<translation>最大化</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="873"/>
<location filename="../gui/SettingsView.qml" line="881"/>
<source>Show connection quality warnings</source>
<translation>显示连接质量警告</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="885"/>
<location filename="../gui/SettingsView.qml" line="893"/>
<source>Discord Rich Presence integration</source>
<translation>Discord Rich Presence 集成</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="895"/>
<location filename="../gui/SettingsView.qml" line="903"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation>更新你的 Discord 状态,以显示正在运行的游戏名称。</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="913"/>
<location filename="../gui/SettingsView.qml" line="921"/>
<source>Input Settings</source>
<translation>输入设置</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<location filename="../gui/SettingsView.qml" line="932"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation>为远程桌面而不是游戏优化鼠标</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<location filename="../gui/SettingsView.qml" line="942"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation>这可以实现无缝鼠标控制,而无需捕获客户端的鼠标光标。这是理想的远程桌面使用方案,但不会在大多数游戏中工作。</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="935"/>
<location filename="../gui/SettingsView.qml" line="943"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>你可以使用 Ctrl+Alt+Shift+M 切换鼠标控制模式。</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="936"/>
<location filename="../gui/SettingsView.qml" line="944"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation>注意:由于 GeForce Experience 的 Bug,如果你的目标计算机有多个显示器,则此选项可能无法正常工作。</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="946"/>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>Capture system keyboard shortcuts</source>
<translation>捕获系统快捷键</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="954"/>
<location filename="../gui/SettingsView.qml" line="962"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation>这样可以捕获系统范围的键盘快捷键,例如 Alt + Tab,这些快捷键通常在流式传输时由客户端系统处理。</translation>
</message>
@@ -696,158 +696,158 @@
<translation type="vanished">这允许捕获系统范围内的键盘快捷键(如Alt+Tab),这些快捷键通常在全屏流式传输时由客户端操作系统处理。</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="955"/>
<location filename="../gui/SettingsView.qml" line="963"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation>注意:Windows 上的某些键盘快捷键(如 Ctrl+Alt+Del)不能被任何应用程序截获,包括 Moonlight。</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="984"/>
<location filename="../gui/SettingsView.qml" line="992"/>
<source>in fullscreen</source>
<translation>全屏</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="988"/>
<location filename="../gui/SettingsView.qml" line="996"/>
<source>always</source>
<translation>总是</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1018"/>
<location filename="../gui/SettingsView.qml" line="1026"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation>将触摸屏用作虚拟触控板</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1028"/>
<location filename="../gui/SettingsView.qml" line="1036"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation>选中时,触摸屏就像一个触控板。取消选中时,触摸屏将直接控制鼠标指针。</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<location filename="../gui/SettingsView.qml" line="1043"/>
<source>Swap left and right mouse buttons</source>
<translation>交换鼠标左键和右键</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<location filename="../gui/SettingsView.qml" line="1055"/>
<source>Reverse mouse scrolling direction</source>
<translation>反转鼠标滚动方向</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1061"/>
<location filename="../gui/SettingsView.qml" line="1069"/>
<source>Gamepad Settings</source>
<translation>手柄设置</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1071"/>
<location filename="../gui/SettingsView.qml" line="1079"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation>交换手柄的 A/B 和 X/Y 按钮</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1089"/>
<location filename="../gui/SettingsView.qml" line="1097"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation>这会将手柄切换为任天堂风格的按钮布局</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1095"/>
<location filename="../gui/SettingsView.qml" line="1103"/>
<source>Force gamepad #1 always connected</source>
<translation>强制手柄 #1 始终连接</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1105"/>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation>强制单个手柄始终与目标计算机保持连接,即使没有任何手柄实际连接到此计算机。</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1106"/>
<location filename="../gui/SettingsView.qml" line="1114"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation>仅在游戏启动后不支持手柄连接时才启用此选项。</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1113"/>
<location filename="../gui/SettingsView.qml" line="1121"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation>按住手柄的“Start”按钮启用鼠标控制</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1124"/>
<location filename="../gui/SettingsView.qml" line="1132"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation>当 Moonlight 在后台时处理手柄输入</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1135"/>
<location filename="../gui/SettingsView.qml" line="1143"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation>即使不是焦点窗口,也允许 Moonlight 捕获手柄的输入</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1144"/>
<location filename="../gui/SettingsView.qml" line="1152"/>
<source>Host Settings</source>
<translation>目标计算机设置</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1154"/>
<location filename="../gui/SettingsView.qml" line="1162"/>
<source>Optimize game settings for streaming</source>
<translation>优化游戏设置以进行流式传输</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1165"/>
<location filename="../gui/SettingsView.qml" line="1173"/>
<source>Quit app on host PC after ending stream</source>
<translation>流式传输结束后退出目标计算机上的应用程序</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1175"/>
<location filename="../gui/SettingsView.qml" line="1183"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation>当你结束流式传输时,这将关闭正在运行的应用程序或游戏。这会导致你失去所有未保存的游戏进度!</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1184"/>
<location filename="../gui/SettingsView.qml" line="1192"/>
<source>Advanced Settings</source>
<translation>高级设置</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1194"/>
<location filename="../gui/SettingsView.qml" line="1202"/>
<source>Video decoder</source>
<translation>视频解码器</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>Automatic (Recommended)</source>
<translation>自动 (推荐)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1223"/>
<location filename="../gui/SettingsView.qml" line="1231"/>
<source>Force software decoding</source>
<translation>强制软件解码</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1227"/>
<location filename="../gui/SettingsView.qml" line="1235"/>
<source>Force hardware decoding</source>
<translation>强制硬件解码</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1240"/>
<location filename="../gui/SettingsView.qml" line="1248"/>
<source>Video codec</source>
<translation>视频编解码器</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1269"/>
<location filename="../gui/SettingsView.qml" line="1277"/>
<source>H.264</source>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1273"/>
<location filename="../gui/SettingsView.qml" line="1281"/>
<source>HEVC (H.265)</source>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1290"/>
<location filename="../gui/SettingsView.qml" line="1298"/>
<source>Unlock unsupported FPS options</source>
<translation>解锁不受支持的 FPS 选项</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1309"/>
<location filename="../gui/SettingsView.qml" line="1317"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation>自动在本地网络上查找计算机 (推荐)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1334"/>
<location filename="../gui/SettingsView.qml" line="1342"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation>自动检测被阻止的连接 (推荐)</translation>
</message>
+8
View File
@@ -29,6 +29,14 @@
<file>languages/qml_ru.qm</file>
<file>languages/qml_es.ts</file>
<file>languages/qml_es.qm</file>
<file>languages/qml_ja.ts</file>
<file>languages/qml_ja.qm</file>
<file>languages/qml_vi.ts</file>
<file>languages/qml_vi.qm</file>
<file>languages/qml_th.ts</file>
<file>languages/qml_th.qm</file>
<file>languages/qml_ko.ts</file>
<file>languages/qml_ko.qm</file>
</qresource>
<qresource prefix="/data">
<file alias="gamecontrollerdb.txt">SDL_GameControllerDB/gamecontrollerdb.txt</file>
+8
View File
@@ -195,6 +195,14 @@ QString StreamingPreferences::getSuffixFromLanguage(StreamingPreferences::Langua
return "ru";
case LANG_ES:
return "es";
case LANG_JA:
return "ja";
case LANG_VI:
return "vi";
case LANG_TH:
return "th";
case LANG_KO:
return "ko";
case LANG_AUTO:
default:
return QLocale::system().name();
+5 -1
View File
@@ -72,7 +72,11 @@ public:
LANG_DE,
LANG_NB_NO,
LANG_RU,
LANG_ES
LANG_ES,
LANG_JA,
LANG_VI,
LANG_TH,
LANG_KO
};
Q_ENUM(Language);
+29 -8
View File
@@ -5,6 +5,10 @@
#include "path.h"
#include "utils.h"
#ifdef Q_OS_WIN32
#include <SDL_syswm.h>
#endif
#include <QtGlobal>
#include <QDir>
#include <QGuiApplication>
@@ -452,6 +456,31 @@ bool SdlInputHandler::isSystemKeyCaptureActive()
void SdlInputHandler::setCaptureActive(bool active)
{
if (active) {
#if defined(Q_OS_WIN32)
// If our window is occluded when mouse is captured, the mouse may
// get stuck on top of the occluding window and not be properly
// captured. We can avoid this by raising our window before we
// capture the mouse. This can also cause problems when keyboard
// capture is enabled (modifiers will be eaten by our background window).
// We can't use SDL_RaiseWindow() because it doesn't let us know if
// SetForegroundWindow() failed. In the failure case, we must not
// enable capture to avoid trapping the mouse and/or keyboard.
{
SDL_SysWMinfo info;
SDL_VERSION(&info.version);
SDL_GetWindowWMInfo(m_Window, &info);
SDL_assert(info.subsystem == SDL_SYSWM_WINDOWS);
if (!SetForegroundWindow(info.info.win.window)) {
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
"Not enabling input capture - window is not foreground");
return;
}
}
#endif
// If we're in full-screen exclusive mode, grab the cursor so it can't accidentally leave our window.
if ((SDL_GetWindowFlags(m_Window) & SDL_WINDOW_FULLSCREEN_DESKTOP) == SDL_WINDOW_FULLSCREEN) {
#if SDL_VERSION_ATLEAST(2, 0, 15)
@@ -461,14 +490,6 @@ void SdlInputHandler::setCaptureActive(bool active)
#endif
}
if (!m_AbsoluteMouseMode) {
// If our window is occluded when mouse is captured, the mouse may
// get stuck on top of the occluding window and not be properly
// captured. We can avoid this by raising our window before we
// capture the mouse.
SDL_RaiseWindow(m_Window);
}
// If we're in relative mode, try to activate SDL's relative mouse mode
if (m_AbsoluteMouseMode || SDL_SetRelativeMouseMode(SDL_TRUE) < 0) {
// Relative mouse mode didn't work or was disabled, so we'll just hide the cursor
+2
View File
@@ -19,6 +19,8 @@ typedef struct _VIDEO_STATS {
uint32_t totalDecodeTime;
uint32_t totalPacerTime;
uint32_t totalRenderTime;
uint32_t lastRtt;
uint32_t lastRttVariance;
float totalFps;
float receivedFps;
float decodedFps;
+25 -6
View File
@@ -226,7 +226,7 @@ bool FFmpegVideoDecoder::createFrontendRenderer(PDECODER_PARAMETERS params, bool
return true;
}
bool FFmpegVideoDecoder::completeInitialization(AVCodec* decoder, PDECODER_PARAMETERS params, bool testFrame, bool eglOnly)
bool FFmpegVideoDecoder::completeInitialization(const AVCodec* decoder, PDECODER_PARAMETERS params, bool testFrame, bool eglOnly)
{
// In test-only mode, we should only see test frames
SDL_assert(!m_TestOnly || testFrame);
@@ -418,6 +418,16 @@ void FFmpegVideoDecoder::addVideoStats(VIDEO_STATS& src, VIDEO_STATS& dst)
dst.totalPacerTime += src.totalPacerTime;
dst.totalRenderTime += src.totalRenderTime;
if (!LiGetEstimatedRttInfo(&dst.lastRtt, &dst.lastRttVariance)) {
dst.lastRtt = 0;
dst.lastRttVariance = 0;
}
else {
// Our logic to determine if RTT is valid depends on us never
// getting an RTT of 0. ENet currently ensures RTTs are >= 1.
SDL_assert(dst.lastRtt > 0);
}
Uint32 now = SDL_GetTicks();
// Initialize the measurement start point if this is the first video stat window
@@ -482,16 +492,25 @@ void FFmpegVideoDecoder::stringifyVideoStats(VIDEO_STATS& stats, char* output)
}
if (stats.renderedFrames != 0) {
char rttString[32];
if (stats.lastRtt != 0) {
sprintf(rttString, "%u ms (variance: %u ms)", stats.lastRtt, stats.lastRttVariance);
}
else {
sprintf(rttString, "N/A");
}
offset += sprintf(&output[offset],
"Frames dropped by your network connection: %.2f%%\n"
"Frames dropped due to network jitter: %.2f%%\n"
"Average receive time: %.2f ms\n"
"Average network latency: %s\n"
"Average decoding time: %.2f ms\n"
"Average frame queue delay: %.2f ms\n"
"Average rendering time (including monitor V-sync latency): %.2f ms\n",
(float)stats.networkDroppedFrames / stats.totalFrames * 100,
(float)stats.pacerDroppedFrames / stats.decodedFrames * 100,
(float)stats.totalReassemblyTime / stats.receivedFrames,
rttString,
(float)stats.totalDecodeTime / stats.decodedFrames,
(float)stats.totalPacerTime / stats.renderedFrames,
(float)stats.totalRenderTime / stats.renderedFrames);
@@ -563,7 +582,7 @@ IFFmpegRenderer* FFmpegVideoDecoder::createHwAccelRenderer(const AVCodecHWConfig
}
}
bool FFmpegVideoDecoder::tryInitializeRenderer(AVCodec* decoder,
bool FFmpegVideoDecoder::tryInitializeRenderer(const AVCodec* decoder,
PDECODER_PARAMETERS params,
const AVCodecHWConfig* hwConfig,
std::function<IFFmpegRenderer*()> createRendererFunc)
@@ -648,7 +667,7 @@ bool FFmpegVideoDecoder::tryInitializeRenderer(AVCodec* decoder,
bool FFmpegVideoDecoder::tryInitializeRendererForDecoderByName(const char *decoderName,
PDECODER_PARAMETERS params)
{
AVCodec* decoder = avcodec_find_decoder_by_name(decoderName);
const AVCodec* decoder = avcodec_find_decoder_by_name(decoderName);
if (decoder == nullptr) {
return false;
}
@@ -748,7 +767,7 @@ bool FFmpegVideoDecoder::initialize(PDECODER_PARAMETERS params)
}
}
AVCodec* decoder;
const AVCodec* decoder;
if (params->videoFormat & VIDEO_FORMAT_MASK_H264) {
decoder = avcodec_find_decoder(AV_CODEC_ID_H264);
+2 -2
View File
@@ -26,7 +26,7 @@ public:
virtual IFFmpegRenderer* getBackendRenderer();
private:
bool completeInitialization(AVCodec* decoder, PDECODER_PARAMETERS params, bool testFrame, bool eglOnly);
bool completeInitialization(const AVCodec* decoder, PDECODER_PARAMETERS params, bool testFrame, bool eglOnly);
void stringifyVideoStats(VIDEO_STATS& stats, char* output);
@@ -39,7 +39,7 @@ private:
bool tryInitializeRendererForDecoderByName(const char* decoderName,
PDECODER_PARAMETERS params);
bool tryInitializeRenderer(AVCodec* decoder,
bool tryInitializeRenderer(const AVCodec* decoder,
PDECODER_PARAMETERS params,
const AVCodecHWConfig* hwConfig,
std::function<IFFmpegRenderer*()> createRendererFunc);
+1 -1
View File
@@ -1 +1 @@
3.1.3
3.1.4
+5 -5
View File
@@ -10,7 +10,7 @@ environment:
BUILD_TARGET: macos
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1604
BUILD_TARGET: steamlink
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1604
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu
BUILD_TARGET: linux
FFMPEG_CONFIGURE_ARGS: --enable-pic --disable-static --enable-shared --disable-all --enable-avcodec --enable-decoder=h264 --enable-decoder=hevc --enable-nvdec --enable-hwaccel=h264_nvdec --enable-hwaccel=hevc_nvdec --enable-hwaccel=h264_vaapi --enable-hwaccel=hevc_vaapi --enable-hwaccel=h264_vdpau --enable-hwaccel=hevc_vdpau
@@ -19,12 +19,12 @@ install:
- sh: '[ "$BUILD_TARGET" != macos ] || npm install --global create-dmg'
- sh: '[ "$BUILD_TARGET" != steamlink ] || sudo apt install -y libc6:i386 libstdc++6:i386'
- sh: '[ "$BUILD_TARGET" != steamlink ] || git clone --depth=1 https://github.com/ValveSoftware/steamlink-sdk.git $HOME/steamlink-sdk'
- sh: '[ "$BUILD_TARGET" != linux ] || sudo add-apt-repository ppa:beineri/opt-qt-5.14.2-xenial'
- sh: '[ "$BUILD_TARGET" != linux ] || sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-bionic'
- sh: '[ "$BUILD_TARGET" != linux ] || sudo apt update || true'
- sh: '[ "$BUILD_TARGET" != linux ] || sudo apt install -y qt514base qt514quickcontrols2 qt514svg qt514wayland nasm libgbm-dev libdrm-dev libfreetype6-dev libasound2-dev libdbus-1-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev libibus-1.0-dev libpulse-dev libudev-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev libxxf86vm-dev wayland-protocols libopus-dev libvdpau-dev'
- sh: '[ "$BUILD_TARGET" != linux ] || sudo apt install -y qt515base qt515quickcontrols2 qt515svg qt515wayland nasm libgbm-dev libdrm-dev libfreetype6-dev libasound2-dev libdbus-1-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev libibus-1.0-dev libpulse-dev libudev-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev libxxf86vm-dev wayland-protocols libopus-dev libvdpau-dev'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export SDL2_REV=dfa64eadd38a6a8125290dcf121f1bc285e98dad && git clone https://github.com/libsdl-org/SDL.git SDL2 && cd SDL2 && git checkout $SDL2_REV && ./configure --enable-video-kmsdrm && make -j$(nproc) && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export SDL2_TTF_VER=2.0.15 && wget https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-$SDL2_TTF_VER.tar.gz && tar -xvf SDL2_ttf-$SDL2_TTF_VER.tar.gz && cd SDL2_ttf-$SDL2_TTF_VER && ./configure && make -j$(nproc) && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export LIBVA_VER=2.11.0 && git clone https://github.com/intel/libva.git && cd libva && git checkout $LIBVA_VER && ./autogen.sh && ./configure && make -j$(nproc) && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export LIBVA_VER=2.12.0 && git clone https://github.com/intel/libva.git && cd libva && git checkout $LIBVA_VER && ./autogen.sh && ./configure && make -j$(nproc) && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export NVHDR_VER=8.1.24.12 && wget https://github.com/FFmpeg/nv-codec-headers/releases/download/n$NVHDR_VER/nv-codec-headers-$NVHDR_VER.tar.gz && tar -xvf nv-codec-headers-$NVHDR_VER.tar.gz && cd nv-codec-headers-$NVHDR_VER && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export FFMPEG_VER=4.3.1 && wget https://ffmpeg.org/releases/ffmpeg-$FFMPEG_VER.tar.bz2 && tar -xvf ffmpeg-$FFMPEG_VER.tar.bz2 && cd ffmpeg-$FFMPEG_VER && ./configure $FFMPEG_CONFIGURE_ARGS && make -j$(nproc) && sudo make install && sudo ldconfig && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then mkdir $HOME/bin && wget -O $HOME/bin/linuxdeployqt https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage && chmod a+x $HOME/bin/linuxdeployqt; fi'
@@ -43,7 +43,7 @@ build_script:
- cmd: 'set PATH=%OLDPATH%;%QTDIR%\msvc2019\bin;%ProgramFiles(x86)%\WiX Toolset v3.11\bin'
- cmd: 'scripts\build-arch.bat Release x86'
- cmd: 'scripts\generate-bundle.bat Release'
- sh: '[ "$BUILD_TARGET" != linux ] || source /opt/qt514/bin/qt514-env.sh'
- sh: '[ "$BUILD_TARGET" != linux ] || source /opt/qt515/bin/qt515-env.sh'
- sh: '[ "$BUILD_TARGET" != linux ] || PATH=$PATH:$HOME/bin scripts/build-appimage.sh'
- sh: '[ "$BUILD_TARGET" != macos ] || PATH=$PATH:$HOME/Qt/5.15/clang_64/bin scripts/generate-dmg.sh Release'
- sh: '[ "$BUILD_TARGET" != steamlink ] || STEAMLINK_SDK_PATH=$HOME/steamlink-sdk scripts/build-steamlink-app.sh'
+2 -2
View File
@@ -56,8 +56,8 @@ SOURCES += \
$$COMMON_C_DIR/src/Platform.c \
$$COMMON_C_DIR/src/PlatformCrypto.c \
$$COMMON_C_DIR/src/PlatformSockets.c \
$$COMMON_C_DIR/src/RtpFecQueue.c \
$$COMMON_C_DIR/src/RtpReorderQueue.c \
$$COMMON_C_DIR/src/RtpAudioQueue.c \
$$COMMON_C_DIR/src/RtpVideoQueue.c \
$$COMMON_C_DIR/src/RtspConnection.c \
$$COMMON_C_DIR/src/RtspParser.c \
$$COMMON_C_DIR/src/SdpGenerator.c \