Vinyl
    Preparing search index...

    Function createVinylPlayer

    • Constructs a new VinylPlayer.

      Type Parameters

      • DependencyOverridesType extends undefined | Factories<any>

      Parameters

      • options: VinylDependencyOptions

        Configuration for default dependencies.

      • OptionalfactoryOverrides: ValidFactoryOverrides<
            VinylDeps<any, AnyRecord>,
            NoInfer<
                {
                    autoResetController: (
                        deps: AutoResetControllerImplDeps,
                    ) => AutoResetControllerImpl;
                    capabilities: (deps: CapabilitiesImplDeps) => CapabilitiesImpl;
                    commonEme: () => null | CommonEme;
                    createDashFactories: (
                        deps: DashFactoryDeps,
                    ) => (
                        loadOptions: DashTrackLoadOptions,
                    ) => NoInfer<
                        {
                            baseUrlSelector: () => BaseUrlSelector;
                            capabilities: Factory<Capabilities>;
                            contentStreamFactory: (
                                deps: { createContentStreamFactories: (contentType: ...) => ... },
                            ) => (contentType: ContentType) => ContentStreamImpl;
                            contentTypesValue: (
                                deps: DashContentTypesValueDeps,
                            ) => ContentTypesValue;
                            createContentStreamFactories: (
                                deps: DashContentStreamTrackDeps,
                            ) => MemoizedFunction & (contentType: ...) => ...;
                            drmController: Factory<DrmController>;
                            drmKeySystemResolver: Factory<DrmKeySystemResolver>;
                            manifestController: (
                                deps: DashManifestControllerImplDeps,
                            ) => DashManifestController;
                            manifestProvider: (
                                deps: { requestInterceptor: RequestInterceptor },
                            ) => DashManifestProvider;
                            manifestTransformed: (
                                deps: DashManifestTransformerDeps,
                            ) => ObservableValue<Promise<(...)>>;
                            mediaQualityMetadataResolver: (
                                deps: DashMediaQualityMetadataResolverDeps,
                            ) => DashMediaQualityMetadataResolver;
                            mediaSourceController: (
                                deps: MediaSourceControllerImplDeps,
                            ) => MediaSourceControllerImpl;
                            mediaSourceFactory: () => () => MediaSource;
                            options: Factory<ObservableValue<{ abr: ...; preferredLanguage: ... }>>;
                            playbackController: Factory<PlaybackController>;
                            playbackSource: Factory<PlaybackSource>;
                            qualitySelector: (
                                deps: { options: ObservableValue<(...)> },
                            ) => QualitySelectorImpl;
                            requestInterceptor: Factory<RequestInterceptor>;
                            segmentRequestInit: () => Maybe<Readonly<(...)>>;
                        },
                    >;
                    createHlsFactories: (
                        deps: HlsFactoryDeps,
                    ) => (
                        loadOptions: HlsTrackLoadOptions,
                    ) => NoInfer<
                        {
                            capabilities: Factory<Capabilities>;
                            contentStreamFactory: (
                                deps: { createContentStreamFactories: (contentType: ...) => ... },
                            ) => (contentType: ContentType) => ContentStreamImpl;
                            contentTypesValue: (
                                deps: HlsContentTypesValueDeps,
                            ) => ContentTypesValue;
                            createContentStreamFactories: (
                                deps: HlsContentStreamTrackDeps,
                            ) => MemoizedFunction & (contentType: ...) => ...;
                            drmController: Factory<DrmController>;
                            drmKeySystemResolver: Factory<DrmKeySystemResolver>;
                            manifestController: () => HlsManifestControllerImpl;
                            manifestTransformed: (
                                deps: HlsManifestTransformerDeps,
                            ) => ObservableValue<Promise<(...)>>;
                            mediaQualityMetadataResolver: () => HlsMediaQualityMetadataResolver;
                            mediaSourceController: (
                                deps: MediaSourceControllerImplDeps,
                            ) => MediaSourceControllerImpl;
                            mediaSourceFactory: () => () => MediaSource;
                            options: Factory<ObservableValue<{ abr: ...; preferredLanguage: ... }>>;
                            playbackController: Factory<PlaybackController>;
                            playbackSource: Factory<PlaybackSource>;
                            qualitySelector: (
                                deps: { options: ObservableValue<(...)> },
                            ) => QualitySelectorImpl;
                            requestInterceptor: Factory<RequestInterceptor>;
                            segmentRequestInit: () => Maybe<Readonly<(...)>>;
                        },
                    >;
                    drmController: (deps: DrmControllerImplDeps) => DrmControllerImpl;
                    drmKeySystemResolver: () => DrmKeySystemResolver;
                    loudnessNormalizationController: (
                        deps: {
                            options: ObservableValue<
                                Pick<VinylOptions, "loudnessNormalization">,
                            >;
                        },
                    ) => LoudnessNormalizationControllerImpl;
                    media: (
                        deps: { patchedMedia: { patched: HTMLMediaElement } },
                    ) => HTMLMediaElement;
                    options: (
                        _deps: AnyRecord,
                        add: AddDisposable,
                    ) => MutableValue<VinylOptions>;
                    patchedMedia: () => PatchedRef<HTMLMediaElement>;
                    playbackController: (
                        deps: PlaybackControllerImplDeps,
                    ) => PlaybackControllerImpl;
                    playbackSource: (deps: PlaybackSourceImplDeps) => PlaybackSourceImpl;
                    requestInterceptor: () => (..._: any[]) => void;
                    trackController: (
                        deps: TrackControllerImplDeps<any>,
                    ) => TrackControllerImpl<any>;
                    trackFactory: (
                        deps: VinylTrackFactoryDeps,
                    ) => TrackFactory<
                        | DashTrackLoadOptions
                        | SourceObjectTrackLoadOptions
                        | SourceTrackLoadOptions
                        | HlsTrackLoadOptions,
                    >;
                },
            >,
            DependencyOverridesType,
        >

        Dependency factory overrides.

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