feat(tvos): AVPlayer Atmos sink wiring + Atmos output diagnostics
Re-enables Audio Passthrough on Apple TV against the MPVKit EAC3-JOC AVPlayer sink (pin bump to v1.0.8 follows), adds an AVPlayer test harness + diagnostics screen for #1300, and makes loudnorm yield while passthrough is active (fixes a latent spdif conflict on desktop too).
This commit is contained in:
@@ -393,6 +393,22 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
|
||||
@override String get tunneledPlaybackDescription => 'Utiliser le tunneling vidéo. Désactivez si la lecture HDR affiche un écran noir.';
|
||||
@override String get audioPassthrough => 'Audio Pass-Through';
|
||||
@override String get audioPassthroughDescription => 'Envoyez l\'audio Dolby/DTS vers votre ampli ou téléviseur sans réencodage, en conservant le son surround. Désactivez si vous n\'avez aucun son.';
|
||||
@override String get audioPassthroughDescriptionAppleTv => 'Transmet le Dolby Digital Plus (y compris Atmos) au système en bitstream. Le DTS et le TrueHD restent lus en PCM multicanal. De brèves coupures audio peuvent survenir lors des sauts.';
|
||||
@override String get atmosDiagnostics => 'Test de sortie Atmos';
|
||||
@override String get atmosDiagnosticsDescription => 'Diagnostiquer la sortie Dolby Atmos en lisant des signaux de test via le lecteur système';
|
||||
@override String get atmosTestHlsAtmos => 'Flux Atmos d\'Apple';
|
||||
@override String get atmosTestHlsAtmosDescription => 'Flux Dolby Atmos réputé fiable. L\'ampli devrait afficher Dolby Atmos.';
|
||||
@override String get atmosTestHlsControl => 'Flux surround d\'Apple';
|
||||
@override String get atmosTestHlsControlDescription => 'Flux témoin sans Atmos. L\'ampli devrait afficher du surround sans Atmos.';
|
||||
@override String get atmosTestRawStream => 'Flux EAC3 brut';
|
||||
@override String get atmosTestRawStreamDescription => 'Diffuse le fichier de test exactement comme la lecture Atmos du lecteur. Nécessite l\'URL du fichier de test.';
|
||||
@override String get atmosTestRawFile => 'Fichier EAC3 brut';
|
||||
@override String get atmosTestRawFileDescription => 'Lit le fichier de test avec une longueur connue. Nécessite l\'URL du fichier de test.';
|
||||
@override String get atmosTestStop => 'Arrêter le test';
|
||||
@override String get atmosTestUrl => 'URL du fichier de test';
|
||||
@override String get atmosTestUrlDescription => 'URL HTTP d\'un fichier .ec3 Dolby Atmos brut (extrait par ex. avec ffmpeg)';
|
||||
@override String get atmosTestUrlMissing => 'Définissez d\'abord l\'URL du fichier de test';
|
||||
@override String get atmosTestStatus => 'État';
|
||||
@override String get dvConversionMode => 'Conversion Dolby Vision';
|
||||
@override String get dvConversionModeDescription => 'Choisissez comment ExoPlayer gère les fichiers Dolby Vision Profile 7.';
|
||||
@override String get dvConversionAuto => 'Auto';
|
||||
@@ -2184,6 +2200,22 @@ extension on TranslationsFr {
|
||||
'settings.tunneledPlaybackDescription' => 'Utiliser le tunneling vidéo. Désactivez si la lecture HDR affiche un écran noir.',
|
||||
'settings.audioPassthrough' => 'Audio Pass-Through',
|
||||
'settings.audioPassthroughDescription' => 'Envoyez l\'audio Dolby/DTS vers votre ampli ou téléviseur sans réencodage, en conservant le son surround. Désactivez si vous n\'avez aucun son.',
|
||||
'settings.audioPassthroughDescriptionAppleTv' => 'Transmet le Dolby Digital Plus (y compris Atmos) au système en bitstream. Le DTS et le TrueHD restent lus en PCM multicanal. De brèves coupures audio peuvent survenir lors des sauts.',
|
||||
'settings.atmosDiagnostics' => 'Test de sortie Atmos',
|
||||
'settings.atmosDiagnosticsDescription' => 'Diagnostiquer la sortie Dolby Atmos en lisant des signaux de test via le lecteur système',
|
||||
'settings.atmosTestHlsAtmos' => 'Flux Atmos d\'Apple',
|
||||
'settings.atmosTestHlsAtmosDescription' => 'Flux Dolby Atmos réputé fiable. L\'ampli devrait afficher Dolby Atmos.',
|
||||
'settings.atmosTestHlsControl' => 'Flux surround d\'Apple',
|
||||
'settings.atmosTestHlsControlDescription' => 'Flux témoin sans Atmos. L\'ampli devrait afficher du surround sans Atmos.',
|
||||
'settings.atmosTestRawStream' => 'Flux EAC3 brut',
|
||||
'settings.atmosTestRawStreamDescription' => 'Diffuse le fichier de test exactement comme la lecture Atmos du lecteur. Nécessite l\'URL du fichier de test.',
|
||||
'settings.atmosTestRawFile' => 'Fichier EAC3 brut',
|
||||
'settings.atmosTestRawFileDescription' => 'Lit le fichier de test avec une longueur connue. Nécessite l\'URL du fichier de test.',
|
||||
'settings.atmosTestStop' => 'Arrêter le test',
|
||||
'settings.atmosTestUrl' => 'URL du fichier de test',
|
||||
'settings.atmosTestUrlDescription' => 'URL HTTP d\'un fichier .ec3 Dolby Atmos brut (extrait par ex. avec ffmpeg)',
|
||||
'settings.atmosTestUrlMissing' => 'Définissez d\'abord l\'URL du fichier de test',
|
||||
'settings.atmosTestStatus' => 'État',
|
||||
'settings.dvConversionMode' => 'Conversion Dolby Vision',
|
||||
'settings.dvConversionModeDescription' => 'Choisissez comment ExoPlayer gère les fichiers Dolby Vision Profile 7.',
|
||||
'settings.dvConversionAuto' => 'Auto',
|
||||
@@ -2426,6 +2458,8 @@ extension on TranslationsFr {
|
||||
'messages.libraryScanFailed' => ({required Object error}) => 'Échec du scan de la bibliothèque: ${error}',
|
||||
'messages.metadataRefreshing' => ({required Object title}) => 'Actualisation des métadonnées pour "${title}"...',
|
||||
'messages.metadataRefreshStarted' => ({required Object title}) => 'Actualisation des métadonnées lancée pour "${title}"',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'messages.metadataRefreshFailed' => ({required Object error}) => 'Échec de l\'actualisation des métadonnées: ${error}',
|
||||
'messages.logoutConfirm' => 'Êtes-vous sûr de vouloir vous déconnecter ?',
|
||||
'messages.noSeasonsFound' => 'Aucune saison trouvée',
|
||||
@@ -2442,8 +2476,6 @@ extension on TranslationsFr {
|
||||
'messages.serverLimitTitle' => 'Échec de la lecture',
|
||||
'messages.serverLimitBody' => 'Erreur serveur (HTTP 500). Une limite de bande passante/transcodage a probablement rejeté cette session. Demandez au propriétaire de l\'ajuster.',
|
||||
'messages.logsUploaded' => 'Logs envoyés',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'messages.logsUploadFailed' => 'Échec de l\'envoi des logs',
|
||||
'messages.logId' => 'ID du log',
|
||||
'subtitlingStyling.text' => 'Texte',
|
||||
@@ -2940,6 +2972,8 @@ extension on TranslationsFr {
|
||||
'companionRemote.session.serverStopped' => 'Serveur distant arrêté',
|
||||
'companionRemote.session.serverRunningDescription' => 'Les appareils mobiles de votre réseau peuvent se connecter à cette app',
|
||||
'companionRemote.session.serverStoppedDescription' => 'Démarrez le serveur pour permettre aux appareils mobiles de se connecter',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.session.usePhoneToControl' => 'Utilisez votre appareil mobile pour contrôler cette application',
|
||||
'companionRemote.session.startServer' => 'Démarrer le serveur',
|
||||
'companionRemote.session.stopServer' => 'Arrêter le serveur',
|
||||
@@ -2956,8 +2990,6 @@ extension on TranslationsFr {
|
||||
'companionRemote.pairing.validationHostRequired' => 'Veuillez entrer l\'adresse de l\'hôte',
|
||||
'companionRemote.pairing.validationHostFormat' => 'Le format doit être IP:port (ex. 192.168.1.100:48632)',
|
||||
'companionRemote.pairing.connectionTimedOut' => 'Connexion expirée. Utilisez le même réseau sur les deux appareils.',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.pairing.sessionNotFound' => 'Appareil introuvable. Assurez-vous que Plezy fonctionne sur l\'hôte.',
|
||||
'companionRemote.pairing.authFailed' => 'Échec de l\'authentification. Les deux appareils doivent utiliser le même compte Plex.',
|
||||
'companionRemote.pairing.failedToConnect' => ({required Object error}) => 'Échec de la connexion : ${error}',
|
||||
|
||||
Reference in New Issue
Block a user