diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 467d17caae..c87ab0c92b 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -81,6 +81,7 @@ - [ntarelix](https://github.com/ntarelix) - [András Maróy](https://github.com/andrasmaroy) - [Chris-Codes-It](https://github.com/Chris-Codes-It) +- [Vedant](https://github.com/viktory36) ## Emby Contributors diff --git a/src/components/metadataEditor/metadataEditor.js b/src/components/metadataEditor/metadataEditor.js index c3c50688fc..25202a719b 100644 --- a/src/components/metadataEditor/metadataEditor.js +++ b/src/components/metadataEditor/metadataEditor.js @@ -271,7 +271,7 @@ function showMoreMenu(context, button, user) { } else if (result.updated) { reload(context, item.Id, item.ServerId); } - }); + }).catch(() => { /* no-op */ }); }); } diff --git a/src/controllers/shows/tvrecommended.js b/src/controllers/shows/tvrecommended.js index 32ea4a0c98..6678c6b616 100644 --- a/src/controllers/shows/tvrecommended.js +++ b/src/controllers/shows/tvrecommended.js @@ -13,6 +13,7 @@ import { LibraryTab } from 'types/libraryTab'; import { getBackdropShape } from 'utils/card'; import Dashboard from 'utils/dashboard'; import Events from 'utils/events'; +import { CollectionType } from '@jellyfin/sdk/lib/generated-client/models/collection-type'; import 'elements/emby-itemscontainer/emby-itemscontainer'; import 'elements/emby-button/emby-button'; @@ -332,7 +333,7 @@ export default function (view, params) { function onInputCommand(e) { if (e.detail.command === 'search') { e.preventDefault(); - Dashboard.navigate('search.html?collectionType=tv&parentId=' + params.topParentId); + Dashboard.navigate(`search.html?collectionType=${CollectionType.Tvshows}&parentId=${params.topParentId}`); } } diff --git a/src/scripts/browserDeviceProfile.js b/src/scripts/browserDeviceProfile.js index fb42980fa7..bb1d2b4d4f 100644 --- a/src/scripts/browserDeviceProfile.js +++ b/src/scripts/browserDeviceProfile.js @@ -1156,6 +1156,24 @@ export default function (options) { Conditions: h264CodecProfileConditions }); + if (browser.web0s && supportsDolbyVision(options)) { + // Disallow direct playing of DOVI media in containers not mp4. + // This paired with the "Prefer fMP4-HLS Container" client playback setting enables DOVI playback on webOS. + profile.CodecProfiles.push({ + Type: 'Video', + Container: '-mp4', + Codec: 'hevc', + Conditions: [ + { + Condition: 'EqualsAny', + Property: 'VideoRangeType', + Value: 'SDR|HDR10|HLG', + IsRequired: false + } + ] + }); + } + profile.CodecProfiles.push({ Type: 'Video', Codec: 'hevc', diff --git a/src/strings/ca.json b/src/strings/ca.json index 12b91021ce..953193d1b3 100644 --- a/src/strings/ca.json +++ b/src/strings/ca.json @@ -1733,7 +1733,7 @@ "UserMenu": "Menú d'usuari", "AllowCollectionManagement": "Permet a aquest usuari gestionar col·leccions", "AllowSegmentDeletion": "Suprimeix segments", - "AllowSegmentDeletionHelp": "Suprimeix els segments antics després d'haver estat enviats al client. Això impedeix haver d'emmagatzemar tot el fitxer transcodificat al disc. Només funcionarà amb l'activació de transcodes de l'acceleració. Desactiveu-ho si teniu problemes de reproducció.", + "AllowSegmentDeletionHelp": "Suprimeix els segments antics després que el client els hagi descarregat. Això impedeix haver d'emmagatzemar tot el fitxer transcodificat al disc. Desactiveu-ho si teniu problemes de reproducció.", "LabelThrottleDelaySeconds": "Acceleració després de", "LabelThrottleDelaySecondsHelp": "Temps en segons després del qual el transcodificador s'accelerarà. Ha de ser prou gran perquè el client mantingui una memòria intermèdia saludable. Només funciona si s'habilita l'acceleració.", "LabelSegmentKeepSeconds": "Temps per mantenir els segments", @@ -1773,12 +1773,26 @@ "PasswordRequiredForAdmin": "Es requereix una contrasenya pels comptes d'administrador.", "LabelTrackGain": "Guany de pista", "AllowAv1Encoding": "Permetre l'encodificació en format AV1", - "LabelSegmentKeepSecondsHelp": "Temps en segons durant els quals s'han de conservar els segments abans que es sobreescriguin. Ha de ser major que \"Accelerar després\". Només funciona si l'esborrat de segments està habilitat.", + "LabelSegmentKeepSecondsHelp": "Temps en segons durant els quals s'han de conservar els segments després que el client els hagi descarregat. Només funciona si l'esborrat de segments està habilitat.", "AiTranslated": "Traduït per IA", "MachineTranslated": "Traduït per Màquina", "ForeignPartsOnly": "Només parts Forçades/Forànies", "HeaderGuestCast": "Estrelles Convidades", "HeaderAllRecordings": "Tots els enregistraments", "LabelServerVersion": "Versió del Servidor", - "LabelWebVersion": "Versió Web" + "LabelWebVersion": "Versió Web", + "ButtonEditUser": "Editar usuari", + "ChannelResolutionSD": "SD", + "DeleteName": "Esborrar {0}", + "ChannelResolutionFullHD": "Full HD", + "LabelBuildVersion": "Versió de compilació", + "LabelUseReplayGainTagsHelp": "Escaneja els fitxers d'àudio per trobar etiquetes ReplayGain i fes-les servir en lloc de calcular el valor LUFS. (Utilitza menys potència. Invalidarà l'opció 'Escaneig LUFS')", + "EnableVideoToolboxTonemapping": "Habilitar el mapatge de tons de VideoToolbox", + "AllowVideoToolboxTonemappingHelp": "Acceleració per maquinari en el mapatge de tons per VideoToolbox. Funciona amb la majoria dels formats HDR, inclosos HDR10, HDR10+ i HLG, però no funciona amb Dolby Vision Profile 5. Això té una prioritat més alta en comparació amb una altra implementació d'OpenCL.", + "LabelUseReplayGainTags": "Utilitzar etiquetes ReplayGain", + "ChannelResolutionSDPAL": "SD (PAL)", + "ChannelResolutionHD": "HD", + "DlnaMovedMessage": "La funcionalitat DLNA s'ha mogut a complements.", + "AllowSubtitleManagement": "Permetre a aquest usuari editar els subtítols", + "ChannelResolutionUHD4K": "UHD (4K)" }