@byomakase/omakase-player
    Preparing search index...

    Interface TimedItemsTrack<T, S, U, E>

    A track associated with a MainMedia (video, audio, text, markers, thumbnails, etc.).

    Tracks carry their own source, load lifecycle, and inter-track relations. Extends MediaEntity with mediaType always set to MediaEntityType.TRACK.

    interface TimedItemsTrack<
        T extends TimedItem = TimedItem,
        S extends TimedItemsTrackState = TimedItemsTrackState,
        U extends TimedItemUpdateableAttrs = TimedItemUpdateableAttrs,
        E extends OmpEventGroup<any, any> = any,
    > {
        areTimedItemsFetched: boolean;
        areTimedItemsLocked: boolean;
        id: string;
        label: string | undefined;
        loadStage: OpStage;
        mediaType: MediaEntityType;
        onEvent$: Observable<E | TimedItemsTrackEvent | TrackEvent<S>>;
        relations: Relation[];
        source: Source | undefined;
        sourceFileFormatType: FileFormatType | undefined;
        state: S;
        timedItems: T[];
        timedItemsSorted: T[];
        trackType: TrackType;
        addRelation(relation: Relation): void;
        addTimedItems(timedItems: T | T[]): void;
        deleteTimedItems(id: T["id"] | T["id"][]): void;
        findFirstTimedItemAtTime(time: number): T | undefined;
        findNearestTimedItem(time: number): T | undefined;
        findTimedItemsAtTime(time: number): T[];
        findTimedItemsInRange(start: number, end: number): T[];
        getTimedItem(id: T["id"]): T | undefined;
        hasRelation(relation: Relation): boolean;
        loadError(error: string | undefined): void;
        loadStart(): void;
        loadSuccess(): void;
        updateAttrs(attrs: TrackUpdateableAttrs): void;
        updateTimedItem(id: T["id"], attrs: U): void;
    }

    Type Parameters

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    areTimedItemsFetched: boolean
    areTimedItemsLocked: boolean
    id: string

    Unique identifier (UUID).

    label: string | undefined

    Human-readable label for this track.

    loadStage: OpStage

    Current load lifecycle stage (idle → loading → success / failure).

    mediaType: MediaEntityType

    Discriminator indicating whether this entity is a main media or a track.

    onEvent$: Observable<E | TimedItemsTrackEvent | TrackEvent<S>>

    Observable stream of track lifecycle events.

    relations: Relation[]

    Directed relations to other MediaEntity instances (e.g. RelationType.PART_OF, RelationType.DERIVED_FROM).

    source: Source | undefined

    The data source backing this track, if any.

    sourceFileFormatType: FileFormatType | undefined

    The resolved file format type of the source.

    state: S

    Serializable state snapshot.

    timedItems: T[]
    timedItemsSorted: T[]

    Returns the timed items sorted by their start time.

    trackType: TrackType

    The kind of track (VIDEO, AUDIO, TEXT_TRACK, MARKER_TRACK, etc.).

    Methods