Skip to content

Commit 8cff147

Browse files
feat(player): add support for custom chromecast receiver
1 parent edec3e5 commit 8cff147

File tree

4 files changed

+11
-1
lines changed

4 files changed

+11
-1
lines changed

packages/common/src/env.ts

+5
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ export type Env = {
2020
APP_GTM_TAG_SERVER?: string;
2121
APP_GTM_SCRIPT?: string;
2222
APP_GTM_LOAD_ON_ACCEPT: boolean;
23+
24+
APP_CHROMECAST_APPLICATION_ID?: string;
2325
};
2426

2527
const env: Env = {
@@ -34,6 +36,7 @@ const env: Env = {
3436
};
3537

3638
export const configureEnv = (options: Partial<Env>) => {
39+
// @TODO should we loop over each option instead?
3740
env.APP_VERSION = options.APP_VERSION || env.APP_VERSION;
3841
env.APP_API_BASE_URL = options.APP_API_BASE_URL || env.APP_API_BASE_URL;
3942
env.APP_API_ACCESS_BRIDGE_URL = options.APP_API_ACCESS_BRIDGE_URL || env.APP_API_ACCESS_BRIDGE_URL;
@@ -54,6 +57,8 @@ export const configureEnv = (options: Partial<Env>) => {
5457
env.APP_GTM_TAG_SERVER ||= options.APP_GTM_TAG_SERVER;
5558
env.APP_GTM_SCRIPT ||= options.APP_GTM_SCRIPT;
5659
env.APP_GTM_LOAD_ON_ACCEPT = options.APP_GTM_LOAD_ON_ACCEPT || env.APP_GTM_LOAD_ON_ACCEPT;
60+
61+
env.APP_CHROMECAST_APPLICATION_ID = options.APP_CHROMECAST_APPLICATION_ID || env.APP_CHROMECAST_APPLICATION_ID;
5762
};
5863

5964
export default env;

packages/ui-react/src/components/Player/Player.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ const Player: React.FC<Props> = ({
225225
pipIcon: 'disabled',
226226
playlist: [deepCopy({ ...item, starttime: startTimeRef.current, feedid: feedId, sources })],
227227
repeat: false,
228-
cast: {},
228+
cast: env.APP_CHROMECAST_APPLICATION_ID ? { appid: env.APP_CHROMECAST_APPLICATION_ID } : {},
229229
stretching: 'uniform',
230230
width: '100%',
231231
};

platforms/web/.env

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ APP_FOOTER_TEXT="\u00a9 JW Player | [jwplayer.com](https://www.jwplayer.com/) |
2222
#APP_BODY_FONT_FAMILY
2323
#APP_BODY_ALT_FONT_FAMILY
2424

25+
# set a custom Chromecast application ID (required when DRM is enabled and you want to support casting)
26+
#APP_CHROMECAST_APPLICATION_ID=
27+
2528
# public URL must be set for standalone applications
2629
#APP_PUBLIC_URL
2730

platforms/web/src/index.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ configureEnv({
3333
APP_GTM_TAG_SERVER: import.meta.env.APP_GTM_TAG_SERVER,
3434
APP_GTM_LOAD_ON_ACCEPT: import.meta.env.APP_GTM_LOAD_ON_ACCEPT,
3535
APP_GTM_SCRIPT: import.meta.env.APP_GTM_SCRIPT,
36+
37+
APP_CHROMECAST_APPLICATION_ID: import.meta.env.APP_CHROMECAST_APPLICATION_ID,
3638
});
3739

3840
attachAccessibilityListener();

0 commit comments

Comments
 (0)