Skip to content

Commit

Permalink
Merge ums/main into main-fix-5025
Browse files Browse the repository at this point in the history
  • Loading branch information
SurfaceS committed Oct 25, 2024
2 parents 2aee504 + a8aa0b5 commit d9be87d
Show file tree
Hide file tree
Showing 21 changed files with 421 additions and 301 deletions.
14 changes: 11 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,12 @@

### Translation updates via Crowdin
- Afrikaans (12%) (thanks, Dusty Pienaar!)
- Czech (100%)
- Hungarian (64%) (thanks, Blaszlo!)
- Turkish approvals (54%) (thanks, Burak Yavuz!)
- Japanese (71%) (thanks, elepro!)
- Korean (100%) (thanks, VenusGirl!)
- Polish (56%) (thanks, Karol Szastok!)
- Turkish (100%) (thanks, Burak Yavuz!)

### Dependencies
- Bump `@mantine/core` from 7.13.0 to 7.13.3 ([#5016](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5016), [#5041](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5041))
Expand All @@ -24,20 +28,24 @@
- Bump `@mantine/hooks` from 7.13.0 to 7.13.3 ([#5016](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5016), [#5041](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5041))
- Bump `@mantine/modals` from 7.13.0 to 7.13.3 ([#5016](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5016), [#5041](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5041))
- Bump `@mantine/notifications` from 7.13.0 to 7.13.3 ([#5016](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5016), [#5041](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5041))
- Bump `@playwright/test` from 1.47.0 to 1.48.0 ([#5033](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5033))
- Bump `@playwright/test` from 1.47.0 to 1.48.1 ([#5033](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5033), [#5043](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5043))
- Bump `@types/lodash` from 4.17.7 to 4.17.10 ([#5030](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5030))
- Bump `@types/react-dom` from 18.3.0 to 18.3.1 ([#5044](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5044))
- Bump `@types/react` from 18.3.10 to 18.3.11 ([#5032](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5032))
- Bump `@vitejs/plugin-react` from 4.3.2 to 4.3.3 ([#5049](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5049))
- Bump `com.github.oshi:oshi-core` from 6.6.4 to 6.6.5 ([#5028](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5028))
- Bump `eslint-plugin-react-refresh` from 0.4.12 to 0.4.13 ([#5050](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5050))
- Bump `eslint-plugin-react` from 7.36.1 to 7.37.1 ([#5019](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5019))
- Bump `eslint` from 9.11.0 to 9.12.0 ([#5017](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5017))
- Bump `jetty.version` from 12.0.13 to 12.0.14 ([#5022](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5022))
- Bump `JRE` to 17.0.13+12
- Bump `junit5.version` from 5.11.1 to 5.11.2 ([#5020](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5020))
- Bump `org.apache.maven.plugins:maven-surefire-plugin` from 3.5.0 to 3.5.1 ([#5021](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5021))
- Bump `org.apache.xmlgraphics:batik-svgrasterizer` from 1.17 to 1.18 ([#5029](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5029))
- Bump `react-router-dom` from 6.26.1 to 6.27.0 ([#5003](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5003), [#5034](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5034))
- Bump `tsMuxeR` to 2024-06-06-02-00-53
- Bump `video.js` from 8.17.4 to 8.18.1 ([#5042](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5042))
- Bump `vite` from 5.4.7 to 5.4.8 ([#5018](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5018))
- Bump `vite` from 5.4.7 to 5.4.9 ([#5018](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5018), [#5048](https://github.com/UniversalMediaServer/UniversalMediaServer/pull/5048))

## [14.6.0](https://github.com/UniversalMediaServer/UniversalMediaServer/compare/14.5.1...14.6.0) (2024-10-02)

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@

<project.binaries-base>https://www.universalmediaserver.com/svn/binaries</project.binaries-base>

<binary-revision>195</binary-revision>
<binary-revision>201</binary-revision>

<exec-maven-plugin-version>3.4.1</exec-maven-plugin-version>
<maven-antrun-plugin-version>3.1.0</maven-antrun-plugin-version>
Expand Down
8 changes: 4 additions & 4 deletions react-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,17 @@
"video.js": "8.18.1"
},
"devDependencies": {
"@playwright/test": "1.48.0",
"@playwright/test": "1.48.1",
"@types/lodash": "4.17.10",
"@types/react": "18.3.11",
"@types/react-dom": "18.3.1",
"@vitejs/plugin-react": "4.3.2",
"@vitejs/plugin-react": "4.3.3",
"eslint": "9.12.0",
"eslint-plugin-react": "7.37.1",
"eslint-plugin-react-hooks": "4.6.2",
"eslint-plugin-react-refresh": "0.4.12",
"eslint-plugin-react-refresh": "0.4.13",
"typescript": "5.6.2",
"typescript-eslint": "^8.7.0",
"vite": "5.4.8"
"vite": "5.4.9"
}
}
60 changes: 30 additions & 30 deletions react-client/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -890,14 +890,14 @@ __metadata:
languageName: node
linkType: hard

"@playwright/test@npm:1.48.0":
version: 1.48.0
resolution: "@playwright/test@npm:1.48.0"
"@playwright/test@npm:1.48.1":
version: 1.48.1
resolution: "@playwright/test@npm:1.48.1"
dependencies:
playwright: "npm:1.48.0"
playwright: "npm:1.48.1"
bin:
playwright: cli.js
checksum: 10c0/595a5db99f75d1ffce11df2980ca0dd20523a0a20dd962e4256e536dddccca0138883ae2e9c82aaa26094fb50def73062badc14c001d20fb62a3a0b2df18ebca
checksum: 10c0/32cedc3b2d375cb8f4a830bc820d7726b0235be7a6202e1d6ee46e739b83666271c47c100c11311cf5a916468c18e6a4dc526accf9ef090786e7614c2633b2b8
languageName: node
linkType: hard

Expand Down Expand Up @@ -1331,9 +1331,9 @@ __metadata:
languageName: node
linkType: hard

"@vitejs/plugin-react@npm:4.3.2":
version: 4.3.2
resolution: "@vitejs/plugin-react@npm:4.3.2"
"@vitejs/plugin-react@npm:4.3.3":
version: 4.3.3
resolution: "@vitejs/plugin-react@npm:4.3.3"
dependencies:
"@babel/core": "npm:^7.25.2"
"@babel/plugin-transform-react-jsx-self": "npm:^7.24.7"
Expand All @@ -1342,7 +1342,7 @@ __metadata:
react-refresh: "npm:^0.14.2"
peerDependencies:
vite: ^4.2.0 || ^5.0.0
checksum: 10c0/945f357175bea45031dc98d379e63cd34cd60a51b3dd394b66138696625ac8b55bc913a23481f78bbe15ca558c21ea4699b936abbd8242003d7c0ad51d298727
checksum: 10c0/b370c25fb47bb96f0cc51f3aadbbcfce54e40f95a4de67cf932e5ec526f139648da703725c6ea2c71a1b525eb3dd6e3e8ff877da143627cd2575de5ec4f00aa3
languageName: node
linkType: hard

Expand Down Expand Up @@ -2215,12 +2215,12 @@ __metadata:
languageName: node
linkType: hard

"eslint-plugin-react-refresh@npm:0.4.12":
version: 0.4.12
resolution: "eslint-plugin-react-refresh@npm:0.4.12"
"eslint-plugin-react-refresh@npm:0.4.13":
version: 0.4.13
resolution: "eslint-plugin-react-refresh@npm:0.4.13"
peerDependencies:
eslint: ">=7"
checksum: 10c0/33dd82450f7c5fa884c5c84ffaf9d9a8b363bc155432807dc09904c7db6ba724888fac4562b058268259aa7c9270b622ef411488011b3469a2add275ed5c2273
checksum: 10c0/c15a2122c3f092d7a5388e480a033ae054a61b2d0f7da50c896e90ca4616c0cba0d6249c77545b94262c9c9af3b78817e2ace3ead210206ab91c672ac6de4497
languageName: node
linkType: hard

Expand Down Expand Up @@ -3823,27 +3823,27 @@ __metadata:
languageName: node
linkType: hard

"playwright-core@npm:1.48.0":
version: 1.48.0
resolution: "playwright-core@npm:1.48.0"
"playwright-core@npm:1.48.1":
version: 1.48.1
resolution: "playwright-core@npm:1.48.1"
bin:
playwright-core: cli.js
checksum: 10c0/b5a94f02445cb2fdad95e832d13a68448875ac627700a45f8df87c6e60890390651556aae3f5d6961c3a147f9ed6408fd44541fafe0a9f15c637e2c7c404fcfc
checksum: 10c0/2f75532b9b7dfa0e586f5660ac1d8ea729bbdbd28dd2c0711e7cfc1adfe5cf7448d7f15a018ec9851a8f50c0743c3990cb9df23064bed603627baeac4dce3915
languageName: node
linkType: hard

"playwright@npm:1.48.0":
version: 1.48.0
resolution: "playwright@npm:1.48.0"
"playwright@npm:1.48.1":
version: 1.48.1
resolution: "playwright@npm:1.48.1"
dependencies:
fsevents: "npm:2.3.2"
playwright-core: "npm:1.48.0"
playwright-core: "npm:1.48.1"
dependenciesMeta:
fsevents:
optional: true
bin:
playwright: cli.js
checksum: 10c0/4c18b06f7de87442c697c5df5b1e1e4027c5d9f05c07679aca0135dcf18e69a4424ec7a0c91a323487ea4a92fb5146fc80c04329479426722ea742fd5eff1afa
checksum: 10c0/96280ae656226e52015c0c69c4c19e9f594c19353a79012a19bd7b7175d7b409c1aed289a629df49ef897a57ccd24668ad15b86c283db10f76212a4db90a94ac
languageName: node
linkType: hard

Expand Down Expand Up @@ -4774,16 +4774,16 @@ __metadata:
"@mantine/modals": "npm:7.13.3"
"@mantine/notifications": "npm:7.13.3"
"@microsoft/fetch-event-source": "npm:2.0.1"
"@playwright/test": "npm:1.48.0"
"@playwright/test": "npm:1.48.1"
"@types/lodash": "npm:4.17.10"
"@types/react": "npm:18.3.11"
"@types/react-dom": "npm:18.3.1"
"@vitejs/plugin-react": "npm:4.3.2"
"@vitejs/plugin-react": "npm:4.3.3"
axios: "npm:1.7.7"
eslint: "npm:9.12.0"
eslint-plugin-react: "npm:7.37.1"
eslint-plugin-react-hooks: "npm:4.6.2"
eslint-plugin-react-refresh: "npm:0.4.12"
eslint-plugin-react-refresh: "npm:0.4.13"
jwt-decode: "npm:4.0.0"
lodash: "npm:4.17.21"
react: "npm:18.3.1"
Expand All @@ -4795,7 +4795,7 @@ __metadata:
typescript: "npm:5.6.2"
typescript-eslint: "npm:^8.7.0"
video.js: "npm:8.18.1"
vite: "npm:5.4.8"
vite: "npm:5.4.9"
languageName: unknown
linkType: soft

Expand Down Expand Up @@ -5000,9 +5000,9 @@ __metadata:
languageName: node
linkType: hard

"vite@npm:5.4.8":
version: 5.4.8
resolution: "vite@npm:5.4.8"
"vite@npm:5.4.9":
version: 5.4.9
resolution: "vite@npm:5.4.9"
dependencies:
esbuild: "npm:^0.21.3"
fsevents: "npm:~2.3.3"
Expand Down Expand Up @@ -5039,7 +5039,7 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
checksum: 10c0/af70af6d6316a3af71f44ebe3ab343bd66450d4157af73af3b32239e1b6ec43ff6f651d7cc4193b21ed3bff2e9356a3de9e96aee53857f39922e4a2d9fad75a1
checksum: 10c0/e9c59f2c639047e37c79bbbb151c7a55a3dc27932957cf4cf0447ee0bdcc1ddfd9b1fb3ba0465371c01ba3616d62561327855794c2d652213c3a10a32e6d369d
languageName: node
linkType: hard

Expand Down
54 changes: 45 additions & 9 deletions src/main/java/net/pms/configuration/RendererConfiguration.java
Original file line number Diff line number Diff line change
Expand Up @@ -657,25 +657,61 @@ public String getUseSameExtension(String file) {
return file;
}

private String getTranscodeSeekBy() {
return getString(KEY_SEEK_BY_TIME, "false");
}

/**
* Returns true if SeekByTime is set to "true" or "exclusive", false otherwise.
* Default value is false.
* Returns true if SeekByTime is set to "false", false otherwise. Default
* value is true.
*
* @return true if the renderer supports seek-by-time, false otherwise.
* @return true if the renderer supports seek-by-byte exclusively, false
* otherwise.
*/
public boolean isSeekByTime() {
return isSeekByTimeExclusive() || getString(KEY_SEEK_BY_TIME, "false").equalsIgnoreCase("true");
public boolean isTranscodeSeekByByteExclusive() {
return getTranscodeSeekBy().equalsIgnoreCase("false");
}

/**
* Returns true if SeekByTime is set to "true", false otherwise. Default
* value is false.
*
* @return true if the renderer supports seek-by-byte and seek-by-time,
* false otherwise.
*/
public boolean isTranscodeSeekByBoth() {
return getTranscodeSeekBy().equalsIgnoreCase("true");
}

/**
* Returns true if SeekByTime is set to "exclusive", false otherwise.
* Default value is false.
*
* @return true if the renderer supports seek-by-time exclusively
* (i.e. not in conjunction with seek-by-byte), false otherwise.
* @return true if the renderer supports seek-by-time exclusively (i.e. not
* in conjunction with seek-by-byte), false otherwise.
*/
public boolean isTranscodeSeekByTimeExclusive() {
return getTranscodeSeekBy().equalsIgnoreCase("exclusive");
}

/**
* Returns true if SeekByTime is set to "false" or "true", false otherwise.
* Default value is true.
*
* @return true if the renderer supports seek-by-byte, false otherwise.
*/
public boolean isTranscodeSeekByByte() {
return isTranscodeSeekByByteExclusive() || isTranscodeSeekByBoth();
}

/**
* Returns true if SeekByTime is set to "exclusive" or "true", false
* otherwise. Default value is false.
*
* @return true if the renderer supports seek-by-time, false otherwise.
*/
public boolean isSeekByTimeExclusive() {
return getString(KEY_SEEK_BY_TIME, "false").equalsIgnoreCase("exclusive");
public boolean isTranscodeSeekByTime() {
return isTranscodeSeekByTimeExclusive() || isTranscodeSeekByBoth();
}

public boolean isDTSPlayable() {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/net/pms/dlna/DlnaHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ protected static String getDlnaOrgOpFlags(StoreItem item) {
String dlnaOrgOpFlags = "01"; // seek by byte (exclusive)
final Renderer renderer = item.getDefaultRenderer();

if (renderer.isSeekByTime() && item.isTranscoded() && item.getTranscodingSettings().getEngine().isTimeSeekable()) {
if (renderer.isTranscodeSeekByTime() && item.isTranscoded() && item.getTranscodingSettings().getEngine().isTimeSeekable()) {
/**
* Some renderers - e.g. the PS3 and Panasonic TVs - behave
* erratically when transcoding if we keep the default seek-by-byte
Expand All @@ -156,7 +156,7 @@ protected static String getDlnaOrgOpFlags(StoreItem item) {
*
* SeekByTime = both
*/
if (renderer.isSeekByTimeExclusive()) {
if (renderer.isTranscodeSeekByTimeExclusive()) {
dlnaOrgOpFlags = "10"; // seek by time (exclusive)
} else {
dlnaOrgOpFlags = "11"; // seek by both
Expand Down
21 changes: 11 additions & 10 deletions src/main/java/net/pms/encoders/FFMpegVideo.java
Original file line number Diff line number Diff line change
Expand Up @@ -397,22 +397,23 @@ protected synchronized List<String> getVideoTranscodeOptions(StoreItem item, Med
String logPrepend = "Audio was not remuxed because ";
if (params.getAid() == null) {
LOGGER.trace(logPrepend + "there is no audio");
}
if (!configuration.isAudioRemuxAC3() && params.getAid().isAC3()) {
LOGGER.trace(logPrepend + "audio is AC-3 and the user setting to remux AC-3 is disabled");
}
if (!renderer.isAudioStreamTypeSupportedInTranscodingContainer(params.getAid(), encodingFormat)) {
LOGGER.trace(logPrepend + "audio stream type {} is not supported inside the container {}", params.getAid().getAudioCodec(), encodingFormat);
} else {
if (!configuration.isAudioRemuxAC3() && params.getAid().isAC3()) {
LOGGER.trace(logPrepend + "audio is AC-3 and the user setting to remux AC-3 is disabled");
}
if (!renderer.isAudioStreamTypeSupportedInTranscodingContainer(params.getAid(), encodingFormat)) {
LOGGER.trace(logPrepend + "audio stream type {} is not supported inside the container {}", params.getAid().getAudioCodec(), encodingFormat);
}
if (!ffmpegSupportsRemuxingAudioStreamToTranscodingContainer(params.getAid(), encodingFormat.getTranscodingContainer())) {
LOGGER.trace(logPrepend + "FFmpeg does not support remuxing the audio stream {} to the transcoding container {}", params.getAid().getAudioCodec(), encodingFormat.getTranscodingContainer());
}
}
if (isAviSynthEngine()) {
LOGGER.trace(logPrepend + "this is AviSynth");
}
if (isSubtitlesAndTimeseek) {
LOGGER.trace(logPrepend + "there are subtitles and seeking involved");
}
if (!ffmpegSupportsRemuxingAudioStreamToTranscodingContainer(params.getAid(), encodingFormat.getTranscodingContainer())) {
LOGGER.trace(logPrepend + "FFmpeg does not support remuxing the audio stream {} to the transcoding container {}", params.getAid().getAudioCodec(), encodingFormat.getTranscodingContainer());
}

if (dtsRemux) {
// Audio is added in a separate process later
Expand Down Expand Up @@ -480,7 +481,7 @@ protected synchronized List<String> getVideoTranscodeOptions(StoreItem item, Med
transcodeOptions.add(selectedTranscodeAccelerationMethod);
}

if (selectedTranscodeAccelerationMethod.endsWith("nvenc")) {
if (selectedTranscodeAccelerationMethod != null && selectedTranscodeAccelerationMethod.endsWith("nvenc")) {
transcodeOptions.add("-preset");
transcodeOptions.add("llhp");
}
Expand Down
Loading

0 comments on commit d9be87d

Please sign in to comment.