/** * Public types for @page-speed/media-immersive. * * These types describe the data flowing through the library. They are consumer-facing * and are re-exported from the package root as well as from `./types`. */ import type React from "react"; /** * A single video/media item in the feed. * * The two most important fields are `poster` (used for the thumbnail card and as * the initial paint for the fullscreen viewer) and one of the video source fields * (`src`, `masterPlaylistUrl`, or `fallbackSrc`) which are passed through to * `@page-speed/video`. */ export interface MediaItem { /** Stable unique id. Used for `open(id)` and for React keys. */ id: string; /** * Poster/thumbnail image URL. Rendered by `@page-speed/img` so it benefits * from AVIF/WebP negotiation and lazy loading when applicable. */ poster: string; /** * Video source URL. May be a progressive mp4, or a URL that the Octane * transform layer will convert to HLS. Passed to `