Skip to main content

Interface: CastHandoffQueueItem

Defined in: packages/cast/src/handoff-machine.ts:66

One JS-queue entry, as the handoff needs to see it: enough to decide castability (canCastMedia) and to build the receiver-side CastMediaSource. Structural on purpose — apps project their own queue model into this, the same discipline as audio-session's AudioSessionPlayerLike.

Properties

duration?

readonly optional duration?: number;

Defined in: packages/cast/src/handoff-machine.ts:85

Known duration in seconds; omit when unknown or live.


headers?

readonly optional headers?: Record<string, string>;

Defined in: packages/cast/src/handoff-machine.ts:82

Per-request auth headers, if the source needs them — makes it non-castable.


id

readonly id: string;

Defined in: packages/cast/src/handoff-machine.ts:68

The app's own stable id — reported back in skip notices.


live?

readonly optional live?: boolean;

Defined in: packages/cast/src/handoff-machine.ts:86


metadata?

readonly optional metadata?: CastMediaMetadata;

Defined in: packages/cast/src/handoff-machine.ts:83


mimeType

readonly mimeType: string;

Defined in: packages/cast/src/handoff-machine.ts:80

Concrete audio MIME type ('audio/mpeg', 'application/x-mpegurl', …). Required: CastMediaSource needs one, and the app knows its catalogue.


url

readonly url: string;

Defined in: packages/cast/src/handoff-machine.ts:75

What the receiver would fetch. Must be reachable from the receiver's network: an app with a source resolver resolves here (signed URLs and demo://-style logical ids alike) — the re-resolve-and-reload recipe for expired URLs runs through this same field.