Vinyl
    Preparing search index...

    Function createVinylAmznFactories

    • Creates the dependencies for a standard player with Amazon catalog tracks and metrics.

      Parameters

      Returns 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<ContentStreamImplDeps>;
                      },
                  ) => (contentType: ContentType) => ContentStreamImpl;
                  contentTypesValue: (deps: DashContentTypesValueDeps) => ContentTypesValue;
                  createContentStreamFactories: (
                      deps: DashContentStreamTrackDeps,
                  ) => MemoizedFunction & (
                      contentType: ContentType,
                  ) => NoInfer<
                      {
                          baseUrlSelector: Factory<(...)>;
                          bufferingController: (deps: ...) => ...;
                          manifestTransformed: Factory<(...)>;
                          mediaQualityMetadataResolver: Factory<(...)>;
                          mediaSourceController: Factory<(...)>;
                          playbackController: Factory<(...)>;
                          qualitySelector: Factory<(...)>;
                          requestInterceptor: Factory<(...)>;
                          segmentController: (deps: ...) => ...;
                          segmentProvider: (deps: ...) => ...;
                          segmentRequestInit: Factory<(...)>;
                          sourceBufferControllerFactory: (deps: ...) => ...;
                      },
                  >;
                  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: null
                              | string;
                          },
                      >,
                  >;
                  playbackController: Factory<PlaybackController>;
                  playbackSource: Factory<PlaybackSource>;
                  qualitySelector: (
                      deps: { options: ObservableValue<Pick<VinylOptions, "abr">> },
                  ) => QualitySelectorImpl;
                  requestInterceptor: Factory<RequestInterceptor>;
                  segmentRequestInit: () => Maybe<Readonly<Omit<RequestInit, "signal">>>;
              };
              createHlsFactories: (
                  deps: HlsFactoryDeps,
              ) => (
                  loadOptions: HlsTrackLoadOptions,
              ) => NoInfer<
                  {
                      capabilities: Factory<Capabilities>;
                      contentStreamFactory: (
                          deps: {
                              createContentStreamFactories: (
                                  contentType: ContentType,
                              ) => Factories<ContentStreamImplDeps>;
                          },
                      ) => (contentType: ContentType) => ContentStreamImpl;
                      contentTypesValue: (deps: HlsContentTypesValueDeps) => ContentTypesValue;
                      createContentStreamFactories: (
                          deps: HlsContentStreamTrackDeps,
                      ) => MemoizedFunction & (
                          contentType: ContentType,
                      ) => NoInfer<
                          {
                              bufferingController: ...;
                              manifestTransformed: ...;
                              mediaQualityMetadataResolver: ...;
                              mediaSourceController: ...;
                              playbackController: ...;
                              qualitySelector: ...;
                              requestInterceptor: ...;
                              segmentController: ...;
                              segmentProvider: ...;
                              segmentRequestInit: ...;
                              sourceBufferControllerFactory: ...;
                          },
                      >;
                      drmController: Factory<DrmController>;
                      drmKeySystemResolver: Factory<DrmKeySystemResolver>;
                      manifestController: () => HlsManifestControllerImpl;
                      manifestTransformed: (
                          deps: HlsManifestTransformerDeps,
                      ) => ObservableValue<Promise<HlsManifestData>>;
                      mediaQualityMetadataResolver: () => HlsMediaQualityMetadataResolver;
                      mediaSourceController: (
                          deps: MediaSourceControllerImplDeps,
                      ) => MediaSourceControllerImpl;
                      mediaSourceFactory: () => () => MediaSource;
                      options: Factory<
                          ObservableValue<
                              {
                                  abr: QualitySelectorImplOptions;
                                  preferredLanguage: null
                                  | string;
                              },
                          >,
                      >;
                      playbackController: Factory<PlaybackController>;
                      playbackSource: Factory<PlaybackSource>;
                      qualitySelector: (
                          deps: { options: ObservableValue<Pick<VinylOptions, "abr">> },
                      ) => QualitySelectorImpl;
                      requestInterceptor: Factory<RequestInterceptor>;
                      segmentRequestInit: () => Maybe<Readonly<Omit<RequestInit, "signal">>>;
                  },
              >;
              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,
              >;
          },
      >