Amazon Vinyl
    Preparing search index...

    Function createVinylPlayer

    • Constructs a new VinylPlayer.

      Type Parameters

      • DependencyOverridesType extends Factories<any> | undefined

      Parameters

      • options: VinylDependencyOptions

        Configuration for default dependencies.

      • OptionalfactoryOverrides: ValidFactoryOverrides<
            VinylDeps<any, AnyRecord>,
            NoInfer<
                {
                    adController: (deps: AdControllerImplDeps) => AdControllerImpl;
                    adTrackLoadOptionsProvider: () => (
                        adInfo: AdInfo,
                    ) => Promise<VinylTrackLoadOptions>;
                    autoResetController: (
                        deps: AutoResetControllerImplDeps,
                    ) => AutoResetControllerImpl;
                    capabilities: (deps: CapabilitiesImplDeps) => CapabilitiesImpl;
                    commonEme: () => CommonEme | null;
                    createDashFactories: (
                        deps: DashFactoryDeps,
                    ) => (
                        loadOptions: DashTrackLoadOptions,
                    ) => NoInfer<
                        {
                            abr: (
                                deps: { options: ObservableValue<(...)> },
                            ) => ObservableValue<QualitySelectorImplOptions>;
                            adController: Factory;
                            allowedContentTypes: (
                                deps: { options: ObservableValue<(...)> },
                            ) => ObservableValue<(...) | (...)>;
                            audio: (
                                deps: { options: ObservableValue<(...)> },
                            ) => ObservableValue<AudioOptions>;
                            baseContentTypesValue: (
                                deps: DashContentTypesValueDeps,
                            ) => ContentTypesValue;
                            baseUrlSelector: () => BaseUrlSelector;
                            capabilities: Factory;
                            contentStreamFactory: (
                                deps: { createContentStreamFactories: (contentType: ...) => ... },
                            ) => (contentType: ContentType) => ContentStreamImpl;
                            contentTypesValue: (
                                deps: AllowedContentTypesValueDeps,
                            ) => ContentTypesValue;
                            createContentStreamFactories: (
                                deps: DashContentStreamTrackDeps,
                            ) => MemoizedFunction & (contentType: ...) => ...;
                            drmController: Factory;
                            drmKeySystemResolver: Factory;
                            manifestController: (
                                deps: ManifestControllerImplDeps<DashManifestData>,
                            ) => ManifestControllerImpl<DashManifestData>;
                            manifestProvider: (
                                deps: { requestInterceptor: RequestInterceptor },
                            ) => DashManifestProvider;
                            manifestTransformed: (
                                deps: DashManifestTransformerDeps,
                            ) => ObservableValue<Promise<(...)>>;
                            media: Factory;
                            mediaQualityMetadataResolver: (
                                deps: DashMediaQualityMetadataResolverDeps,
                            ) => DashMediaQualityMetadataResolver;
                            mediaSourceController: (
                                deps: MediaSourceControllerImplDeps,
                            ) => MediaSourceControllerImpl;
                            mediaSourceFactory: () => () => MediaSource;
                            mediaTimeline: (
                                deps: DashSegmentProviderDeps & { manifestTransformed: ... },
                            ) => ObservableValue<Promise<(...)>>;
                            mediaTimelineTransformed: (
                                deps: DefaultMediaTimelineTransformerDeps,
                            ) => ObservableValue<Promise<(...)>>;
                            options: Factory<ObservableValue<Pick<(...), (...)>>>;
                            playbackController: Factory;
                            playbackSource: Factory;
                            qualitySelector: (
                                deps: { options: ObservableValue<(...)> },
                            ) => QualitySelectorImpl;
                            requestInterceptor: Factory;
                            segmentRequestInit: () => Maybe<Readonly<(...)>>;
                            textTrackController: (
                                deps: {
                                    manifestTransformed: ObservableValue<(...)>;
                                    options: ObservableValue<(...)>;
                                    playbackController: PlaybackController;
                                    textTrackProvider: MediaTextTrackProvider;
                                    textTrackRenderer: (...) | (...);
                                },
                            ) => SidecarTextTrackController;
                            textTrackProvider: Factory;
                            textTrackRenderer: Factory<TextTrackRenderer | null>;
                        },
                    >;
                    createHlsFactories: (
                        deps: HlsFactoryDeps,
                    ) => (
                        loadOptions: HlsTrackLoadOptions,
                    ) => NoInfer<
                        {
                            abr: (
                                deps: { options: ObservableValue<(...)> },
                            ) => ObservableValue<QualitySelectorImplOptions>;
                            adController: Factory;
                            allowedContentTypes: (
                                deps: { options: ObservableValue<(...)> },
                            ) => ObservableValue<(...) | (...)>;
                            audio: (
                                deps: { options: ObservableValue<(...)> },
                            ) => ObservableValue<AudioOptions>;
                            baseContentTypesValue: (
                                deps: HlsContentTypesValueDeps,
                            ) => ContentTypesValue;
                            capabilities: Factory;
                            contentStreamFactory: (
                                deps: { createContentStreamFactories: (contentType: ...) => ... },
                            ) => (contentType: ContentType) => ContentStreamImpl;
                            contentTypesValue: (
                                deps: AllowedContentTypesValueDeps,
                            ) => ContentTypesValue;
                            createContentStreamFactories: (
                                deps: HlsContentStreamTrackDeps,
                            ) => MemoizedFunction & (contentType: ...) => ...;
                            drmController: Factory;
                            drmKeySystemResolver: Factory;
                            manifestController: (
                                deps: ManifestControllerImplDeps<HlsManifestData>,
                            ) => ManifestControllerImpl<HlsManifestData>;
                            manifestProvider: () => HlsManifestProvider;
                            manifestTransformed: (
                                deps: HlsManifestTransformerDeps,
                            ) => ObservableValue<Promise<(...)>>;
                            media: Factory;
                            mediaQualityMetadataResolver: () => HlsMediaQualityMetadataResolver;
                            mediaSourceController: (
                                deps: MediaSourceControllerImplDeps,
                            ) => MediaSourceControllerImpl;
                            mediaSourceFactory: () => () => MediaSource;
                            mediaTimeline: (
                                deps: BuildHlsMediaTimelineDeps & { manifestTransformed: ... },
                            ) => ObservableValue<Promise<(...)>>;
                            mediaTimelineTransformed: (
                                deps: DefaultMediaTimelineTransformerDeps,
                            ) => ObservableValue<Promise<(...)>>;
                            options: Factory<ObservableValue<Pick<(...), (...)>>>;
                            playbackController: Factory;
                            playbackSource: Factory;
                            qualitySelector: (
                                deps: { options: ObservableValue<(...)> },
                            ) => QualitySelectorImpl;
                            requestInterceptor: Factory;
                            segmentRequestInit: () => Maybe<Readonly<(...)>>;
                            textTrackController: (
                                deps: {
                                    manifestTransformed: ObservableValue<(...)>;
                                    options: ObservableValue<(...)>;
                                    playbackController: PlaybackController;
                                    textTrackProvider: MediaTextTrackProvider;
                                    textTrackRenderer: (...) | (...);
                                },
                            ) => SidecarTextTrackController;
                            textTrackProvider: Factory;
                            textTrackRenderer: Factory<TextTrackRenderer | null>;
                        },
                    >;
                    drmController: (deps: DrmControllerImplDeps) => DrmControllerImpl;
                    drmKeySystemResolver: () => DrmKeySystemResolver;
                    loudnessNormalizationController: (
                        deps: {
                            options: ObservableValue<
                                Pick<VinylOptions, "loudnessNormalization">,
                            >;
                        },
                    ) => LoudnessNormalizationControllerImpl;
                    media: () => HTMLMediaElement;
                    options: (
                        _deps: AnyRecord,
                        add: AddDisposable,
                    ) => MutableValue<VinylOptions>;
                    playbackController: (
                        deps: PlaybackControllerImplDeps,
                    ) => PlaybackControllerImpl;
                    playbackSource: (deps: PlaybackSourceImplDeps) => PlaybackSourceImpl;
                    requestInterceptor: () => (..._: any[]) => void;
                    textTrackProvider: (
                        deps: { media: HTMLMediaElement },
                    ) => MediaTextTrackProvider;
                    textTrackRenderer: () => TextTrackRenderer | null;
                    trackController: (
                        deps: TrackControllerImplDeps<any>,
                    ) => TrackControllerImpl<any>;
                    trackFactory: (
                        deps: VinylTrackFactoryDeps,
                    ) => TrackFactory<
                        | SourceObjectTrackLoadOptions
                        | SourceTrackLoadOptions
                        | DashTrackLoadOptions
                        | HlsTrackLoadOptions,
                    >;
                },
            >,
            DependencyOverridesType,
        >

        Dependency factory overrides.

      Returns VinylPlayer<
          InferLoadOptionsFromFactory<
              InferVinylOverrideDependencyType<
                  NoInfer<DependencyOverridesType>,
                  "trackFactory",
              >,
          >,
          InferObservableValueType<
              InferVinylOverrideDependencyType<
                  NoInfer<DependencyOverridesType>,
                  "options",
              >,
          >,
      >