Commit Graph

1485 Commits

Author SHA1 Message Date
Niels van Velzen
bad34400ed
Merge pull request #670 from jellyfin/renovate/vitest
Update dependency vitest to v2.1.4
2024-11-04 16:02:51 +01:00
renovate[bot]
d977d1de8f
Update dependency vitest to v2.1.4 2024-11-04 14:09:40 +00:00
Niels van Velzen
1659262114
Merge pull request #669 from 3flex/display-item-on-idle
Some checks are pending
Lint / Lint TS and CSS (push) Waiting to run
Publish / Build (push) Waiting to run
Publish / Publish (push) Blocked by required conditions
Publish / Deploy (push) Blocked by required conditions
Test / Jest (push) Waiting to run
Display content only if player is idle
2024-11-04 08:41:55 +01:00
Matthew Haughton
3cd9151ce8 Don't report stopped playback if changing stream 2024-11-04 13:32:28 +11:00
Matthew Haughton
6591f61185 Display content only if player is idle
This ensures content is not displayed on screen if player is buffering.
2024-11-04 12:33:52 +11:00
Matthew Haughton
1a59aa2bb3 Report playback stopped when media finishes
This consolidates the logic for reporting stopped playback to the server.
The MEDIA_FINISHED event is fired when:
* End of stream is reached
* Error encountered
* Playback has been stopped
* Playback was interrupted because a new item was loaded

https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.events#.EndedReason

The current position reported to the server will be the current time
reported by the Cast player which will be the most accurate representation.
If this is not available, it will fall back to the existing logic of
checking the current playback position from the receiver's playback state.
2024-11-04 11:00:44 +11:00
Niels van Velzen
c36bc05b1d
Merge pull request #667 from 3flex/remove-setBackdropPeriodMs
Some checks are pending
Lint / Lint TS and CSS (push) Waiting to run
Publish / Build (push) Waiting to run
Publish / Publish (push) Blocked by required conditions
Publish / Deploy (push) Blocked by required conditions
Test / Jest (push) Waiting to run
Remove unused function setBackdropPeriodMs
2024-11-03 14:00:29 +01:00
Matthew Haughton
ea7f0c0f7d Remove unused function setBackdropPeriodMs 2024-11-03 23:19:04 +11:00
Niels van Velzen
cfa3de832e
Merge pull request #666 from 3flex/patch-3
Some checks are pending
Lint / Lint TS and CSS (push) Waiting to run
Publish / Build (push) Waiting to run
Publish / Publish (push) Blocked by required conditions
Publish / Deploy (push) Blocked by required conditions
Test / Jest (push) Waiting to run
Remove a non-null assertion
2024-11-03 09:45:05 +01:00
Niels van Velzen
aa84761cf9
Merge pull request #665 from 3flex/playrequest-typing
Add PlayRequest typing
2024-11-03 09:44:51 +01:00
Niels van Velzen
200a91d1e3
Merge pull request #664 from 3flex/patch-2
Remove unused export
2024-11-03 09:43:45 +01:00
Niels van Velzen
34937c9936
Merge pull request #657 from 3flex/no-unnecessary-type-assertion
Enable no-unnecessary-type-assertion ts eslint rule
2024-11-03 09:43:35 +01:00
Matthew Haughton
6e27fc7096
Remove a non-null assertion 2024-11-03 17:54:15 +11:00
Matthew Haughton
dddb29b111 Add PlayRequest typing 2024-11-03 17:30:03 +11:00
Matthew Haughton
44476a3c61
Remove unused export 2024-11-03 09:11:05 +11:00
Matthew Haughton
9f9c456433 Enable no-unnecessary-type-assertion ts eslint rule 2024-11-03 09:00:42 +11:00
Niels van Velzen
6ac3432d27
Merge pull request #663 from 3flex/dont-limit-maxwidth
Some checks are pending
Lint / Lint TS and CSS (push) Waiting to run
Publish / Build (push) Waiting to run
Publish / Publish (push) Blocked by required conditions
Publish / Deploy (push) Blocked by required conditions
Test / Jest (push) Waiting to run
Don't limit max width for h264 streams to the window width
2024-11-02 10:34:06 +01:00
Niels van Velzen
1baac2d9c7
Merge pull request #662 from 3flex/mp4-hls-container
Request mp4 container when transcoding HLS video
2024-11-02 10:32:45 +01:00
Niels van Velzen
15a088cfdd
Merge pull request #660 from jellyfin/renovate/node-22.x
Update dependency @types/node to v22.8.1
2024-11-02 10:32:26 +01:00
Matthew Haughton
4b0b4a4cd9 Don't limit max width for h264 streams to the window width
Cast devices variously support video max widths of 1280, 1920 and 3840.
window.innerWidth returns the max width of the receiver page which is not
the same resolution and limits h264 streams to a max of 720p on most
devices.
2024-11-02 19:47:17 +11:00
Niels van Velzen
3ec76b25d4
Merge pull request #661 from 3flex/progressbar
Some checks are pending
Lint / Lint TS and CSS (push) Waiting to run
Publish / Build (push) Waiting to run
Publish / Publish (push) Blocked by required conditions
Publish / Deploy (push) Blocked by required conditions
Test / Jest (push) Waiting to run
Minor fixes for progress bar element
2024-11-02 08:41:55 +01:00
Matthew Haughton
2ebc6e96c5 Simplify boolean checks where HLS enabled 2024-11-02 18:05:37 +11:00
Matthew Haughton
46a94fa525 Request mp4 container when transcoding HLS video
Shaka player 4.8 and up always remuxes TS to MP4, while the Jellyfin Cast
client always requests a TS container. This means any transcoded MP4 stream
will be remuxed to TS on the server then remuxed again on the device.

As Cast clients (particularly older ones) are low-powered devices, it's
important to reduce load on the device when possible. It also avoids
unnecessary remuxing on the server in some scenarios.

In local testing the Shaka player version is 4.3.4 but this will be updated
automatically to 4.9.2 in future. This change is still useful for earlier
Shaka player versions since TS remuxing was identified as a problem area
anyway, so using MP4 should improve streaming reliablity to Cast devices
regardless of the Shaka version.
2024-11-02 18:05:04 +11:00
Matthew Haughton
769e83fbf0 Fix typing of itemProgressBar 2024-11-02 15:19:53 +11:00
Matthew Haughton
121656bdeb Remove disallowed min attribute from progress bar 2024-11-02 15:19:00 +11:00
renovate[bot]
5b9fa4288c
Update dependency @types/node to v22.8.1 2024-11-01 23:02:33 +00:00
Niels van Velzen
aa8e7b1ceb
Merge pull request #656 from 3flex/prefer-nullish-coalescing
Some checks failed
Lint / Lint TS and CSS (push) Has been cancelled
Publish / Build (push) Has been cancelled
Test / Jest (push) Has been cancelled
Publish / Publish (push) Has been cancelled
Publish / Deploy (push) Has been cancelled
Enable tseslint stylistic type checked rule set
2024-10-30 14:28:10 +01:00
Matthew Haughton
9ccd21a83d Suppress individual no-non-null-assertions issues that have no simple fix 2024-10-30 22:14:25 +11:00
Matthew Haughton
17be9f62ce Manually fix remaining tseslint stylistic type checked issues 2024-10-30 22:09:27 +11:00
Matthew Haughton
d9f2311280 Auto fix tseslint stylistic type checked issues 2024-10-30 22:09:27 +11:00
Matthew Haughton
c53e432f27 Enable stylistic type checked rule set 2024-10-30 22:09:27 +11:00
Matthew Haughton
7efb7ac1c4 Autofix tseslint stylistic issues 2024-10-30 22:09:22 +11:00
Matthew Haughton
2f60176255 Enable tseslint stylistic rule set 2024-10-30 22:09:18 +11:00
Niels van Velzen
58d4094cdb
Merge pull request #653 from jellyfin/renovate/node-22.x
Update dependency @types/node to v22
2024-10-30 09:35:49 +01:00
renovate[bot]
1f50473232
Update dependency @types/node to v22 2024-10-30 07:51:48 +00:00
Niels van Velzen
ca32a64ae3
Merge pull request #658 from jellyfin/renovate/node-20.x
Update dependency @types/node to v20.16.15
2024-10-30 08:51:16 +01:00
Niels van Velzen
802defb879
Merge pull request #659 from jellyfin/renovate/vite-5.x
Update dependency vite to v5.4.10
2024-10-30 08:11:42 +01:00
renovate[bot]
eaae1accb5
Update dependency vite to v5.4.10 2024-10-30 04:33:54 +00:00
renovate[bot]
dfd52ab826
Update dependency @types/node to v20.16.15 2024-10-30 04:33:43 +00:00
Niels van Velzen
1e0571b9f8
Merge pull request #654 from jellyfin/renovate/node-20.x
Some checks are pending
Lint / Lint TS and CSS (push) Waiting to run
Publish / Build (push) Waiting to run
Publish / Publish (push) Blocked by required conditions
Publish / Deploy (push) Blocked by required conditions
Test / Jest (push) Waiting to run
Update dependency @types/node to v20.16.14
2024-10-29 08:58:58 +01:00
Niels van Velzen
9c32c6f189
Merge pull request #655 from 3flex/eslint-typechecked
Enable linting TS with type checking
2024-10-29 08:58:37 +01:00
Matthew Haughton
3280bba52f Enable linting TS with type checking
https://typescript-eslint.io/getting-started/typed-linting/
2024-10-29 16:22:02 +11:00
renovate[bot]
eb135caf6e
Update dependency @types/node to v20.16.14 2024-10-29 03:44:52 +00:00
Niels van Velzen
391d155294
Merge pull request #652 from jellyfin/renovate/typescript
Some checks are pending
Lint / Lint TS and CSS (push) Waiting to run
Publish / Build (push) Waiting to run
Publish / Publish (push) Blocked by required conditions
Publish / Deploy (push) Blocked by required conditions
Test / Jest (push) Waiting to run
Update dependency typescript-eslint to v8.11.0
2024-10-28 21:45:57 +01:00
renovate[bot]
957aad9a0c
Update dependency typescript-eslint to v8.11.0 2024-10-28 20:15:24 +00:00
Matthew Haughton
11f9806b13 Revert removal of deviceProfile parameter from getPlaybackInfo 2024-10-28 20:00:13 +11:00
Matthew Haughton
b6aaaf2d09 Use PlaybackInfoDto to pass data to getPostedPlaybackInfo 2024-10-28 19:59:48 +11:00
Niels van Velzen
22099bfd45
Merge pull request #651 from 3flex/remove-appstatus-playing
Some checks failed
Lint / Lint TS and CSS (push) Has been cancelled
Publish / Build (push) Has been cancelled
Test / Jest (push) Has been cancelled
Publish / Publish (push) Has been cancelled
Publish / Deploy (push) Has been cancelled
Remove unnecessary AppStatus.Playing
2024-10-27 09:08:48 +01:00
Matthew Haughton
eeb56c5ba4 Remove unnecessary AppStatus.Playing
App status is never set to 'Playing'
2024-10-27 16:42:43 +11:00
Matthew Haughton
76d1be4138 Convert getPlaybackInfo to use generated API 2024-10-27 13:32:04 +11:00