Vinyl
    Preparing search index...

    Function createVinylAmznPlayer

    • Constructs a new VinylAmznPlayer.

      Type Parameters

      • DependencyOverridesType extends undefined | Factories<any>

      Parameters

      • options: VinylAmznDependencyOptions

        Configuration for default dependencies.

      • OptionalfactoryOverrides: ValidFactoryOverrides<
            VinylAmznDeps<VinylAmznTrackLoadOptions, VinylAmznOptions>,
            NoInfer<
                {
                    amznStreamingOptionsProvider: (
                        deps: {
                            options: ObservableValue<Pick<VinylAmznOptions, "streaming">>;
                        },
                    ) => ObservableValue<AmznStreamingOptions>;
                    asinDashManifestProvider: () => (
                        asin: string,
                        dmlsOptions: DmlsOptions,
                        abort?: Maybe<ReadonlyAbort>,
                    ) => Promise<AsinDashManifestResult>;
                    asinHlsStreamingUrlProvider: () => (
                        asin: string,
                        dmlsOptions: DmlsOptions,
                        abort?: Maybe<ReadonlyAbort>,
                    ) => Promise<AsinHlsResult>;
                    autoResetController: (
                        deps: AutoResetControllerImplDeps,
                    ) => AutoResetControllerImpl;
                    capabilities: (deps: CapabilitiesImplDeps) => CapabilitiesImpl;
                    coidStreamingUrlProvider: () => CoidStreamingUrlProvider;
                    commonEme: () => null | CommonEme;
                    createDashFactories: (
                        deps: DashFactoryDeps,
                    ) => (
                        loadOptions: DashTrackLoadOptions,
                    ) => {
                        baseUrlSelector: () => BaseUrlSelector;
                        capabilities: Factory<Capabilities>;
                        contentStreamFactory: (
                            deps: {
                                createContentStreamFactories: (
                                    contentType: ContentType,
                                ) => Factories<(...)>;
                            },
                        ) => (contentType: ContentType) => ContentStreamImpl;
                        contentTypesValue: (
                            deps: DashContentTypesValueDeps,
                        ) => ContentTypesValue;
                        createContentStreamFactories: (
                            deps: DashContentStreamTrackDeps,
                        ) => MemoizedFunction & (contentType: ContentType) => NoInfer<(...)>;
                        drmController: Factory<DrmController>;
                        drmKeySystemResolver: Factory<DrmKeySystemResolver>;
                        manifestController: (
                            deps: DashManifestControllerImplDeps,
                        ) => DashManifestController;
                        manifestProvider: (
                            deps: { requestInterceptor: RequestInterceptor },
                        ) => DashManifestProvider;
                        manifestTransformed: (
                            deps: AmznDashManifestTransformerDeps,
                        ) => ObservableValue<Promise<DashManifestAndPath>>;
                        mediaQualityMetadataResolver: (
                            deps: DashMediaQualityMetadataResolverDeps,
                        ) => DashMediaQualityMetadataResolver;
                        mediaSourceController: (
                            deps: MediaSourceControllerImplDeps,
                        ) => MediaSourceControllerImpl;
                        mediaSourceFactory: () => () => MediaSource;
                        options: Factory<
                            ObservableValue<
                                {
                                    abr: QualitySelectorImplOptions;
                                    preferredLanguage: (...)
                                    | (...);
                                },
                            >,
                        >;
                        playbackController: Factory<PlaybackController>;
                        playbackSource: Factory<PlaybackSource>;
                        qualitySelector: (
                            deps: { options: ObservableValue<Pick<(...), (...)>> },
                        ) => QualitySelectorImpl;
                        requestInterceptor: Factory<RequestInterceptor>;
                        segmentRequestInit: () => Maybe<Readonly<Omit<(...), (...)>>>;
                    };
                    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<(...)>>;
                        },
                    >;
                    dmlsOptionsProvider: (
                        deps: { options: ObservableValue<Pick<VinylAmznOptions, "dmls">> },
                    ) => ObservableValue<null | DmlsOptions>;
                    drmController: (deps: DrmControllerImplDeps) => DrmControllerImpl;
                    drmKeySystemResolver: () => DrmKeySystemResolver;
                    loudnessNormalizationController: (
                        deps: {
                            options: ObservableValue<
                                Pick<VinylOptions, "loudnessNormalization">,
                            >;
                        },
                    ) => LoudnessNormalizationControllerImpl;
                    media: (
                        deps: { patchedMedia: { patched: HTMLMediaElement } },
                    ) => HTMLMediaElement;
                    mtsEvents: (
                        deps: Merge<
                            MtsEventsImplDeps,
                            { options: ObservableValue<RequiredMtsEventsOptions> },
                        >,
                    ) => MtsEventsImpl;
                    options: (
                        _deps: AnyRecord,
                        add: AddDisposable,
                    ) => MutableValue<VinylAmznOptions>;
                    patchedMedia: () => PatchedRef<HTMLMediaElement>;
                    playbackController: (
                        deps: PlaybackControllerImplDeps,
                    ) => PlaybackControllerImpl;
                    playbackSource: (deps: PlaybackSourceImplDeps) => PlaybackSourceImpl;
                    requestInterceptor: () => (..._: any[]) => void;
                    sampleStreamingUrlProvider: () => SampleStreamingUrlProvider;
                    trackController: (
                        deps: TrackControllerImplDeps<any>,
                    ) => TrackControllerImpl<any>;
                    trackFactory: (
                        deps: VinylAmznTrackFactoryDeps,
                    ) => TrackFactory<
                        | DashTrackLoadOptions
                        | AsinTrackLoadOptions
                        | CoidTrackLoadOptions
                        | SampleTrackLoadOptions
                        | SourceObjectTrackLoadOptions
                        | SourceTrackLoadOptions
                        | HlsTrackLoadOptions,
                    >;
                },
            >,
            DependencyOverridesType,
        >

        Dependency factory overrides.

      Returns VinylAmznPlayer<
          InferLoadOptionsFromFactory<
              InferVinylAmznOverrideDependencyType<
                  NoInfer<DependencyOverridesType>,
                  "trackFactory",
              >,
          >,
          VinylAmznOptions & InferObservableValueType<
              InferVinylAmznOverrideDependencyType<
                  NoInfer<DependencyOverridesType>,
                  "options",
              >,
          >,
      >