Skip to main content

ChromecastSerializer

Constructors

new ChromecastSerializer()

new ChromecastSerializer(): ChromecastSerializer

Returns

ChromecastSerializer

Methods

toMediaLoadRequest()

static toMediaLoadRequest(input, drmConfiguration?): MediaLoadRequest

Converts a Player instance or PlayerConfiguration to a MediaLoadRequest object.

When a Player instance is provided, this method extracts loaded configuration and the current state from the player. When a PlayerConfiguration is provided, it uses the configuration directly.

An optional DRM configuration can be provided to override the one in the player configuration. This is particularly useful if the DRM configuration contains authentication tokens that may have expired at the time of casting.

Before passing the MediaLoadRequest object to the loadMedia, you can add your custom data to the mediaLoadRequest.mediaInfo.customData object. Later, you can retrieve this data from the session by accessing the mediaStatus.mediaInfo.customData object.

Parameters

ParameterTypeDescription
inputPlayerConfiguration | PlayerThe player instance or player configuration
drmConfiguration?DrmConfigurationThe optional DRM configuration

Returns

MediaLoadRequest

The MediaLoadRequest object

Examples

// Using PlayerConfiguration
import {ChromecastSerializer} from '@castlabs/react-native-prestoplay-chromecast';
import {useRemoteMediaClient} from 'react-native-google-cast';

const mediaLoadRequest = ChromecastSerializer.toMediaLoadRequest(playerConfiguration);
// Add your custom data to the `mediaLoadRequest.mediaInfo.customData` object

const castMediaClient = useRemoteMediaClient();
await castMediaClient.getClient().loadMedia(mediaLoadRequest);
// Using Player instance
import {ChromecastSerializer} from '@castlabs/react-native-prestoplay-chromecast';
import {useRemoteMediaClient} from 'react-native-google-cast';

const mediaLoadRequest = ChromecastSerializer.toMediaLoadRequest(player);
// Add your custom data to the `mediaLoadRequest.mediaInfo.customData` object

const castMediaClient = useRemoteMediaClient();
await castMediaClient.getClient().loadMedia(mediaLoadRequest);