type: object
description: |
    A media asset that can be played in Bigscreen — typically a movie or series.
    Mirrors `Schemas.MediaItem` (LegacySchemas.ts). The `cdn` / `cdnId` fields point
    to the underlying asset on the configured CDN; the rest is metadata used for
    listing, playback, and entitlement.
required: [id, title, cdn, type]
properties:
    id: { type: string, description: UUID. }
    title: { type: string, description: Display title shown in the dashboard UI. }
    createdAt: { type: string, format: date-time }
    locationCodes:
        type: array
        items: { type: string }
        description: Allowed countries (ISO codes).
    locationCode:
        type: string
        deprecated: true
        description: Legacy single-code field — use `locationCodes`.
    deviceCode:
        type: string
        description: "Device restrictions (typically `Unrestricted`)."
    cdn:
        type: string
        description: CDN identifier (e.g. `cloudfront`, `bunny`).
    cdnId:
        type: string
        description: Asset id on the CDN.
    cdnDataSnapshot:
        type: object
        additionalProperties: true
        description: Cached CDN metadata for faster queries.
    duration:
        type: integer
        description: Duration in milliseconds.
    closedCaptions:
        type: array
        items: { type: string }
    subtitleLanguages:
        type: array
        items: { type: string }
    audioTracks:
        type: array
        items: { type: string }
    audioFormats:
        type: array
        items: { type: string }
        description: "e.g. `5.1`, `Stereo`, `Atmos`."
    type:
        type: string
        description: "Media type — `MediaType.MOVIE`, etc."
    metaData:
        type: object
        additionalProperties: true
        description: Free-form metadata about the asset.
    isStereo:
        type: boolean
        description: Whether the asset is stereoscopic 3D.
    stereoPacking:
        type: string
        enum: [None, LeftRight, OverUnder]
    stereoWidth:
        type: string
        enum: [Default, Half]
        description: Width adjustment when rendering — `Half` means the source frame is 2× target width.
example:
    id: "01HXKV7N8PQRSTU9VWXYZABCDE"
    title: "Big Buck Bunny"
    createdAt: "2026-04-15T11:09:31.000Z"
    locationCodes: ["us", "de", "fr", "jp", "ca"]
    locationCode: ""
    deviceCode: "Unrestricted"
    cdn: "cloudfront"
    cdnId: "abc123"
    duration: 596000
    closedCaptions: ["en"]
    subtitleLanguages: ["en"]
    audioTracks: ["en"]
    audioFormats: ["5.1"]
    type: "movie"
    metaData: {}
    isStereo: false
    stereoPacking: "None"
    stereoWidth: "Default"
