Files
v10/packages/spf/src/all.ts
T
2026-06-22 07:54:51 -07:00

115 lines
3.9 KiB
TypeScript

/**
* All SPF exports (public + internal) for bundle size measurement.
*
* This file exports everything implemented in SPF, including internal APIs.
* Use this for accurate bundle size measurements during development.
*
* For the public API, import from './index' instead.
*/
// Re-export everything from public API
export * from './index';
// =============================================================================
// HLS Parsing (P1, P2, P3)
// =============================================================================
export { parseMediaPlaylist } from './media/hls/parse-media-playlist';
export { parseMultivariantPlaylist } from './media/hls/parse-multivariant';
export { resolveUrl } from './media/hls/resolve-url';
// =============================================================================
// ABR (P6, P7)
// =============================================================================
export type { QualityConfig } from './media/abr/quality-selection';
export { DEFAULT_QUALITY_CONFIG, selectQuality } from './media/abr/quality-selection';
export type {
BandwidthConfig,
BandwidthState,
} from './network/bandwidth-estimator';
export {
DEFAULT_BANDWIDTH_CONFIG,
getBandwidthEstimate,
hasGoodEstimate,
sampleBandwidth,
} from './network/bandwidth-estimator';
// =============================================================================
// Buffer Management (P8, P9)
// =============================================================================
export type { BackBufferConfig } from './media/buffer/back-buffer';
export { calculateBackBufferFlushPoint, DEFAULT_BACK_BUFFER_CONFIG } from './media/buffer/back-buffer';
export type { ForwardBufferConfig } from './media/buffer/forward-buffer';
export { DEFAULT_FORWARD_BUFFER_CONFIG, getSegmentsToLoad } from './media/buffer/forward-buffer';
// =============================================================================
// Types (P15)
// =============================================================================
export type {
AudioTrack,
FrameRate,
MaybeResolvedPresentation,
MediaElementLike,
PartiallyResolvedAudioTrack,
PartiallyResolvedTextTrack,
PartiallyResolvedTrack,
PartiallyResolvedVideoTrack,
Presentation,
Segment,
SelectionSet,
TextTrack,
Track,
VideoTrack,
} from './media/types';
export { hasPresentationDuration, isResolvedPresentation, isResolvedTrack } from './media/types';
// =============================================================================
// DOM APIs (P4, P12, P16)
// =============================================================================
export type {
AttachMediaSourceResult,
CreateMediaSourceOptions,
} from './media/dom/mse/mediasource-setup';
export {
attachMediaSource,
createMediaSource,
createSourceBuffer,
isCodecSupported,
supportsManagedMediaSource,
supportsMediaSource,
} from './media/dom/mse/mediasource-setup';
export type { ResponseLike } from './network/fetch';
export { fetchResolvable, getResponseText } from './network/fetch';
// =============================================================================
// Features (F1)
// =============================================================================
export type {
ParsePresentation,
PresentationState,
ResolvePresentationConfig,
} from './playback/behaviors/resolve-presentation';
export { resolvePresentation } from './playback/behaviors/resolve-presentation';
export { syncPreload } from './playback/behaviors/sync-preload';
// =============================================================================
// Features — Track Switching (video ABR + audio language selection)
// =============================================================================
export type {
SwitchTextTrackConfig,
SwitchVideoTrackConfig,
TrackSwitchingState,
} from './playback/behaviors/track-switching';
export {
DEFAULT_INITIAL_BANDWIDTH,
switchAudioTrack,
switchTextTrack,
switchVideoTrack,
} from './playback/behaviors/track-switching';