Chromecast Client for Jellyfin
Go to file
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
.github Update actions/setup-node action to v4.1.0 2024-10-24 15:18:56 +00:00
src Report playback stopped when media finishes 2024-11-04 11:00:44 +11:00
.editorconfig chore: manual lint fix 2021-05-13 12:58:15 +02:00
.gitattributes Use published typescript sdk 2023-03-29 15:13:52 -04:00
.gitignore chore(lint): make linting stricter and auto lint on commit and save 2021-05-13 11:14:02 +02:00
.npmrc Switch to npm 2021-03-11 00:31:37 +01:00
.prettierrc.yaml Always run Prettier via ESLint 2023-10-07 10:37:40 +02:00
.stylelintrc.json Run stylelint --fix 2023-09-22 23:31:36 +02:00
CONTRIBUTING.md add description for 10.9.x jellyfin. 2024-03-10 20:36:40 +01:00
eslint.config.mjs Enable no-unnecessary-type-assertion ts eslint rule 2024-11-03 09:00:42 +11:00
LICENSE.md update license 2016-02-27 15:42:26 -05:00
package-lock.json Update dependency @types/node to v22.8.1 2024-11-01 23:02:33 +00:00
package.json Update dependency @types/node to v22.8.1 2024-11-01 23:02:33 +00:00
README.md README: Describe the difference between stable & unstable versions 2024-10-17 14:14:31 +11:00
renovate.json Remove formatOnSave option 2023-09-22 21:32:13 +02:00
stylelint.config.js Run stylelint --fix 2023-09-22 23:31:36 +02:00
tsconfig.json Enable bundler module resolution mode 2024-10-22 08:52:59 +11:00
vite.config.ts Remove "RECEIVERVERSION" global 2023-10-03 16:37:17 +02:00

Jellyfin Cast Web Receiver

Part of the Jellyfin Project

Logo Banner

GPL 2.0 License Current Release

The Jellyfin Cast Web Receiver is the frontend used when casting to a Google Cast capable device. It is used by default when casting from the Jellyfin Android app or Jellyfin web client.

How do I use it?

A stable and unstable version of this app are already included in the Jellyfin server. There is no need to separately install this project. To host your own version (for developing) see CONTRIBUTING.md.

The stable version is the latest released version. unstable is updated automatically from the master branch.

What does it do?

This is a web receiver as defined in the Google Cast architecture.

As soon as you press the "cast" button on your client this application will start on you cast-capable device and handle playback functionality.

What doesn't it do?

Anything related to your non-cast device (e.g. your phone, browser, other device) or anything about the inclusion of casting for a specific client (e.g. casting from the iOS app).

Any issues/features related to that: check the respective repository.

Something not working right?

First check if the issue is actually Google Cast related. So answer the question:

"Can I reproduce the issue on any other way then when casting to a Google Cast capable device?"

If yes: The issue probably lies somewhere else. If no: Open an issue on GitHub.

Testing

Jellyfin allows switching between a stable and unstable version of the client. Go the client of your choice and: user -> settings -> playback -> Google Cast version.

Note that this setting is set per-user.