From 45504a2b6945c03564d556b3018bf1529ba06f1a Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Wed, 5 Aug 2026 13:08:41 +0200 Subject: [PATCH] feat(cast): populate receiver metadata from customData --- .../media/src/dom/google-cast/google-cast-provider.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/media/src/dom/google-cast/google-cast-provider.ts b/packages/media/src/dom/google-cast/google-cast-provider.ts index 512a1695..8d1a98fd 100644 --- a/packages/media/src/dom/google-cast/google-cast-provider.ts +++ b/packages/media/src/dom/google-cast/google-cast-provider.ts @@ -174,7 +174,16 @@ export class GoogleCastProvider { : chrome.cast.media.StreamType.BUFFERED; mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata(); - mediaInfo.metadata.images = [new chrome.cast.Image((target as HTMLVideoElement | null)?.poster ?? '')]; + const castMeta = (mediaInfo.customData ?? {}) as { + title?: unknown; + subtitle?: unknown; + poster?: unknown; + }; + if (typeof castMeta.title === 'string') mediaInfo.metadata.title = castMeta.title; + if (typeof castMeta.subtitle === 'string') mediaInfo.metadata.subtitle = castMeta.subtitle; + const castImage = + typeof castMeta.poster === 'string' ? castMeta.poster : (target as HTMLVideoElement | null)?.poster; + if (castImage) mediaInfo.metadata.images = [new chrome.cast.Image(castImage)]; if (await isHls(this.#googleCast.src)) { mediaInfo.contentType ||= 'application/x-mpegURL';