playron 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +287 -0
- package/dist/Docs.d.ts +2 -0
- package/dist/Docs.d.ts.map +1 -0
- package/dist/ErrorManager-CDf_sFKX.cjs +1 -0
- package/dist/ErrorManager-i9WcRsWb.js +43 -0
- package/dist/Why.d.ts +2 -0
- package/dist/Why.d.ts.map +1 -0
- package/dist/components/PlayerConfig.d.ts +34 -0
- package/dist/components/PlayerConfig.d.ts.map +1 -0
- package/dist/components/PlayronControls.d.ts +26 -0
- package/dist/components/PlayronControls.d.ts.map +1 -0
- package/dist/components/PlayronPlayer.d.ts +37 -0
- package/dist/components/PlayronPlayer.d.ts.map +1 -0
- package/dist/components/SiteHeader.d.ts +6 -0
- package/dist/components/SiteHeader.d.ts.map +1 -0
- package/dist/constants/sample-intro-outro.d.ts +3 -0
- package/dist/constants/sample-intro-outro.d.ts.map +1 -0
- package/dist/constants/source.d.ts +2 -0
- package/dist/constants/source.d.ts.map +1 -0
- package/dist/constants/sports-events.d.ts +58 -0
- package/dist/constants/sports-events.d.ts.map +1 -0
- package/dist/context/PlayerContext.d.ts +3 -0
- package/dist/context/PlayerContext.d.ts.map +1 -0
- package/dist/context/PlayerMethodsContext.d.ts +63 -0
- package/dist/context/PlayerMethodsContext.d.ts.map +1 -0
- package/dist/context/PlayerProvider.d.ts +9 -0
- package/dist/context/PlayerProvider.d.ts.map +1 -0
- package/dist/context/PlayerStateContext.d.ts +4 -0
- package/dist/context/PlayerStateContext.d.ts.map +1 -0
- package/dist/context/PlayronContext.d.ts +100 -0
- package/dist/context/PlayronContext.d.ts.map +1 -0
- package/dist/context/SubtitleStyleContext.d.ts +22 -0
- package/dist/context/SubtitleStyleContext.d.ts.map +1 -0
- package/dist/core/ConfigManager.d.ts +78 -0
- package/dist/core/ConfigManager.d.ts.map +1 -0
- package/dist/core/ErrorManager.d.ts +22 -0
- package/dist/core/ErrorManager.d.ts.map +1 -0
- package/dist/core/EventBus.d.ts +32 -0
- package/dist/core/EventBus.d.ts.map +1 -0
- package/dist/core/PlayerCore.d.ts +170 -0
- package/dist/core/PlayerCore.d.ts.map +1 -0
- package/dist/core/PlayronEventEmitter.d.ts +162 -0
- package/dist/core/PlayronEventEmitter.d.ts.map +1 -0
- package/dist/core/PluginSystem.d.ts +111 -0
- package/dist/core/PluginSystem.d.ts.map +1 -0
- package/dist/core/StallDetector.d.ts +27 -0
- package/dist/core/StallDetector.d.ts.map +1 -0
- package/dist/core/StateManager.d.ts +90 -0
- package/dist/core/StateManager.d.ts.map +1 -0
- package/dist/core/VideoEngine.d.ts +92 -0
- package/dist/core/VideoEngine.d.ts.map +1 -0
- package/dist/core/adaptive/StreamDetector.d.ts +73 -0
- package/dist/core/adaptive/StreamDetector.d.ts.map +1 -0
- package/dist/core/drm/DrmCapabilityProbe.d.ts +13 -0
- package/dist/core/drm/DrmCapabilityProbe.d.ts.map +1 -0
- package/dist/core/network/index.d.ts +6 -0
- package/dist/core/network/index.d.ts.map +1 -0
- package/dist/core/streaming/DashEngine.d.ts +149 -0
- package/dist/core/streaming/DashEngine.d.ts.map +1 -0
- package/dist/core/streaming/HlsEngine.d.ts +168 -0
- package/dist/core/streaming/HlsEngine.d.ts.map +1 -0
- package/dist/core/streaming/SubtitleManager.d.ts +88 -0
- package/dist/core/streaming/SubtitleManager.d.ts.map +1 -0
- package/dist/core/streaming/ThumbnailManager.d.ts +44 -0
- package/dist/core/streaming/ThumbnailManager.d.ts.map +1 -0
- package/dist/core/streaming/index.d.ts +11 -0
- package/dist/core/streaming/index.d.ts.map +1 -0
- package/dist/core/streaming/parsers/WebVttParser.d.ts +56 -0
- package/dist/core/streaming/parsers/WebVttParser.d.ts.map +1 -0
- package/dist/hooks/useClickOutside.d.ts +4 -0
- package/dist/hooks/useClickOutside.d.ts.map +1 -0
- package/dist/hooks/useKeyboardControls.d.ts +20 -0
- package/dist/hooks/useKeyboardControls.d.ts.map +1 -0
- package/dist/hooks/useMobileGestures.d.ts +17 -0
- package/dist/hooks/useMobileGestures.d.ts.map +1 -0
- package/dist/hooks/useMouseActivity.d.ts +10 -0
- package/dist/hooks/useMouseActivity.d.ts.map +1 -0
- package/dist/hooks/usePlayer.d.ts +6 -0
- package/dist/hooks/usePlayer.d.ts.map +1 -0
- package/dist/hooks/usePlayerMethods.d.ts +6 -0
- package/dist/hooks/usePlayerMethods.d.ts.map +1 -0
- package/dist/hooks/usePlayerState.d.ts +11 -0
- package/dist/hooks/usePlayerState.d.ts.map +1 -0
- package/dist/index.d.ts +99 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/layout/ControlsContainer.d.ts +9 -0
- package/dist/layout/ControlsContainer.d.ts.map +1 -0
- package/dist/layout/ControlsContainer.responsive.d.ts +8 -0
- package/dist/layout/ControlsContainer.responsive.d.ts.map +1 -0
- package/dist/layout/SeekBarContainer.d.ts +16 -0
- package/dist/layout/SeekBarContainer.d.ts.map +1 -0
- package/dist/playron.cjs.js +248 -0
- package/dist/playron.css +1 -0
- package/dist/playron.es.js +47631 -0
- package/dist/plugins/AdPlugin.d.ts +8 -0
- package/dist/plugins/AdPlugin.d.ts.map +1 -0
- package/dist/plugins/AnalyticsPlugin.d.ts +50 -0
- package/dist/plugins/AnalyticsPlugin.d.ts.map +1 -0
- package/dist/plugins/PluginManager.d.ts +2 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -0
- package/dist/plugins/SocialPlugin.d.ts +2 -0
- package/dist/plugins/SocialPlugin.d.ts.map +1 -0
- package/dist/plugins/ads/AdManager.d.ts +79 -0
- package/dist/plugins/ads/AdManager.d.ts.map +1 -0
- package/dist/plugins/ads/AdPlayer.d.ts +33 -0
- package/dist/plugins/ads/AdPlayer.d.ts.map +1 -0
- package/dist/plugins/ads/AdTracker.d.ts +34 -0
- package/dist/plugins/ads/AdTracker.d.ts.map +1 -0
- package/dist/plugins/ads/VASTParser.d.ts +52 -0
- package/dist/plugins/ads/VASTParser.d.ts.map +1 -0
- package/dist/plugins/ads/VMAPParser.d.ts +31 -0
- package/dist/plugins/ads/VMAPParser.d.ts.map +1 -0
- package/dist/plugins/ads/types.d.ts +108 -0
- package/dist/plugins/ads/types.d.ts.map +1 -0
- package/dist/poster.png +0 -0
- package/dist/test-ad.xml +37 -0
- package/dist/test-vmap.xml +30 -0
- package/dist/types/analytics.d.ts +86 -0
- package/dist/types/analytics.d.ts.map +1 -0
- package/dist/types/chapters.types.d.ts +17 -0
- package/dist/types/chapters.types.d.ts.map +1 -0
- package/dist/types/config.d.ts +23 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.types.d.ts +244 -0
- package/dist/types/config.types.d.ts.map +1 -0
- package/dist/types/controlbar.types.d.ts +5 -0
- package/dist/types/controlbar.types.d.ts.map +1 -0
- package/dist/types/drm.types.d.ts +163 -0
- package/dist/types/drm.types.d.ts.map +1 -0
- package/dist/types/events.d.ts +36 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/extended.types.d.ts +85 -0
- package/dist/types/extended.types.d.ts.map +1 -0
- package/dist/types/manifest.types.d.ts +297 -0
- package/dist/types/manifest.types.d.ts.map +1 -0
- package/dist/types/playbutton.types.d.ts +2 -0
- package/dist/types/playbutton.types.d.ts.map +1 -0
- package/dist/types/player.types.d.ts +13 -0
- package/dist/types/player.types.d.ts.map +1 -0
- package/dist/types/seekbar.types.d.ts +5 -0
- package/dist/types/seekbar.types.d.ts.map +1 -0
- package/dist/types/streaming.types.d.ts +168 -0
- package/dist/types/streaming.types.d.ts.map +1 -0
- package/dist/types/timeline.types.d.ts +46 -0
- package/dist/types/timeline.types.d.ts.map +1 -0
- package/dist/types/video-events.d.ts +51 -0
- package/dist/types/video-events.d.ts.map +1 -0
- package/dist/ui/Common/BufferingIndicator.d.ts +2 -0
- package/dist/ui/Common/BufferingIndicator.d.ts.map +1 -0
- package/dist/ui/Common/ControlBar.d.ts +3 -0
- package/dist/ui/Common/ControlBar.d.ts.map +1 -0
- package/dist/ui/Common/ControlBar.responsive.d.ts +3 -0
- package/dist/ui/Common/ControlBar.responsive.d.ts.map +1 -0
- package/dist/ui/Common/Dropdown/Dropdown.d.ts +14 -0
- package/dist/ui/Common/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/ui/Common/Dropdown/DropdownItem.d.ts +11 -0
- package/dist/ui/Common/Dropdown/DropdownItem.d.ts.map +1 -0
- package/dist/ui/Common/Dropdown/DropdownPanel.d.ts +9 -0
- package/dist/ui/Common/Dropdown/DropdownPanel.d.ts.map +1 -0
- package/dist/ui/Common/Dropdown/DropdownTrigger.d.ts +7 -0
- package/dist/ui/Common/Dropdown/DropdownTrigger.d.ts.map +1 -0
- package/dist/ui/Common/LoadingSpinner.d.ts +6 -0
- package/dist/ui/Common/LoadingSpinner.d.ts.map +1 -0
- package/dist/ui/Common/Overlay.d.ts +11 -0
- package/dist/ui/Common/Overlay.d.ts.map +1 -0
- package/dist/ui/Common/SeekBar.d.ts +15 -0
- package/dist/ui/Common/SeekBar.d.ts.map +1 -0
- package/dist/ui/Common/SeekBar.responsive.d.ts +10 -0
- package/dist/ui/Common/SeekBar.responsive.d.ts.map +1 -0
- package/dist/ui/Common/TimeDisplay.d.ts +2 -0
- package/dist/ui/Common/TimeDisplay.d.ts.map +1 -0
- package/dist/ui/Common/TimelineMarker.d.ts +11 -0
- package/dist/ui/Common/TimelineMarker.d.ts.map +1 -0
- package/dist/ui/Common/Tooltip.d.ts +2 -0
- package/dist/ui/Common/Tooltip.d.ts.map +1 -0
- package/dist/ui/Common/VolumePanel.d.ts +2 -0
- package/dist/ui/Common/VolumePanel.d.ts.map +1 -0
- package/dist/ui/Controls/AudioTrackSelector.d.ts +2 -0
- package/dist/ui/Controls/AudioTrackSelector.d.ts.map +1 -0
- package/dist/ui/Controls/CaptionsButton.d.ts +2 -0
- package/dist/ui/Controls/CaptionsButton.d.ts.map +1 -0
- package/dist/ui/Controls/CastButton.d.ts +17 -0
- package/dist/ui/Controls/CastButton.d.ts.map +1 -0
- package/dist/ui/Controls/DownloadButton.d.ts +2 -0
- package/dist/ui/Controls/DownloadButton.d.ts.map +1 -0
- package/dist/ui/Controls/EpisodeSelector.d.ts +2 -0
- package/dist/ui/Controls/EpisodeSelector.d.ts.map +1 -0
- package/dist/ui/Controls/FullscreenButton.d.ts +5 -0
- package/dist/ui/Controls/FullscreenButton.d.ts.map +1 -0
- package/dist/ui/Controls/JumpToLiveButton.d.ts +2 -0
- package/dist/ui/Controls/JumpToLiveButton.d.ts.map +1 -0
- package/dist/ui/Controls/LiveLatencyDisplay.d.ts +2 -0
- package/dist/ui/Controls/LiveLatencyDisplay.d.ts.map +1 -0
- package/dist/ui/Controls/MuteButton.d.ts +5 -0
- package/dist/ui/Controls/MuteButton.d.ts.map +1 -0
- package/dist/ui/Controls/NextEpisodeButton.d.ts +7 -0
- package/dist/ui/Controls/NextEpisodeButton.d.ts.map +1 -0
- package/dist/ui/Controls/PipButton.d.ts +5 -0
- package/dist/ui/Controls/PipButton.d.ts.map +1 -0
- package/dist/ui/Controls/PlayButton.d.ts +5 -0
- package/dist/ui/Controls/PlayButton.d.ts.map +1 -0
- package/dist/ui/Controls/PlaybackSpeedSelector.d.ts +2 -0
- package/dist/ui/Controls/PlaybackSpeedSelector.d.ts.map +1 -0
- package/dist/ui/Controls/PlaylistButton.d.ts +2 -0
- package/dist/ui/Controls/PlaylistButton.d.ts.map +1 -0
- package/dist/ui/Controls/QualitySelector.d.ts +2 -0
- package/dist/ui/Controls/QualitySelector.d.ts.map +1 -0
- package/dist/ui/Controls/SeekBar.d.ts +2 -0
- package/dist/ui/Controls/SeekBar.d.ts.map +1 -0
- package/dist/ui/Controls/SeekBarProgress.d.ts +2 -0
- package/dist/ui/Controls/SeekBarProgress.d.ts.map +1 -0
- package/dist/ui/Controls/SettingsButton.d.ts +2 -0
- package/dist/ui/Controls/SettingsButton.d.ts.map +1 -0
- package/dist/ui/Controls/SettingsPanel.d.ts +17 -0
- package/dist/ui/Controls/SettingsPanel.d.ts.map +1 -0
- package/dist/ui/Controls/SkipBackwardButton.d.ts +6 -0
- package/dist/ui/Controls/SkipBackwardButton.d.ts.map +1 -0
- package/dist/ui/Controls/SkipForwardButton.d.ts +6 -0
- package/dist/ui/Controls/SkipForwardButton.d.ts.map +1 -0
- package/dist/ui/Controls/SkipIntroButton.d.ts +7 -0
- package/dist/ui/Controls/SkipIntroButton.d.ts.map +1 -0
- package/dist/ui/Controls/SubtitleOverlay.d.ts +6 -0
- package/dist/ui/Controls/SubtitleOverlay.d.ts.map +1 -0
- package/dist/ui/Controls/SubtitlesMenu.d.ts +2 -0
- package/dist/ui/Controls/SubtitlesMenu.d.ts.map +1 -0
- package/dist/ui/Controls/TheaterModeButton.d.ts +2 -0
- package/dist/ui/Controls/TheaterModeButton.d.ts.map +1 -0
- package/dist/ui/Controls/TimeDisplay.d.ts +5 -0
- package/dist/ui/Controls/TimeDisplay.d.ts.map +1 -0
- package/dist/ui/Controls/VolumeControl.d.ts +2 -0
- package/dist/ui/Controls/VolumeControl.d.ts.map +1 -0
- package/dist/ui/Controls/VolumeSlider.d.ts +2 -0
- package/dist/ui/Controls/VolumeSlider.d.ts.map +1 -0
- package/dist/ui/Overlay/ContextMenu.d.ts +17 -0
- package/dist/ui/Overlay/ContextMenu.d.ts.map +1 -0
- package/dist/ui/Overlay/EndCard.d.ts +11 -0
- package/dist/ui/Overlay/EndCard.d.ts.map +1 -0
- package/dist/ui/Overlay/ErrorOverlay.d.ts +13 -0
- package/dist/ui/Overlay/ErrorOverlay.d.ts.map +1 -0
- package/dist/ui/Overlay/GestureHintOverlay.d.ts +14 -0
- package/dist/ui/Overlay/GestureHintOverlay.d.ts.map +1 -0
- package/dist/ui/Overlay/KeyboardShortcutsOverlay.d.ts +7 -0
- package/dist/ui/Overlay/KeyboardShortcutsOverlay.d.ts.map +1 -0
- package/dist/ui/Overlay/VideoOverlay.d.ts +9 -0
- package/dist/ui/Overlay/VideoOverlay.d.ts.map +1 -0
- package/dist/ui/Player.d.ts +19 -0
- package/dist/ui/Player.d.ts.map +1 -0
- package/dist/vite.svg +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HLS & DASH Manifest Types
|
|
3
|
+
* Pure custom implementation - no external libraries
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* HLS Master Playlist (multi-bitrate streams)
|
|
7
|
+
* Example: https://example.com/master.m3u8
|
|
8
|
+
*/
|
|
9
|
+
export interface HlsMasterPlaylist {
|
|
10
|
+
variants: HlsVariant[];
|
|
11
|
+
audioTracks: HlsAudioTrack[];
|
|
12
|
+
subtitles: HlsSubtitle[];
|
|
13
|
+
version: number;
|
|
14
|
+
independentSegments: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* HLS Variant Stream (quality level)
|
|
18
|
+
* #EXT-X-STREAM-INF:BANDWIDTH=2000000,RESOLUTION=1280x720,CODECS="avc1.64001f,mp4a.40.2"
|
|
19
|
+
*/
|
|
20
|
+
export interface HlsVariant {
|
|
21
|
+
uri: string;
|
|
22
|
+
bandwidth: number;
|
|
23
|
+
resolution?: {
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
};
|
|
27
|
+
codecs?: string;
|
|
28
|
+
frameRate?: number;
|
|
29
|
+
audio?: string;
|
|
30
|
+
subtitles?: string;
|
|
31
|
+
averageBandwidth?: number;
|
|
32
|
+
programId?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* HLS Audio Track
|
|
36
|
+
* #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="English",LANGUAGE="en",URI="audio_en.m3u8"
|
|
37
|
+
*/
|
|
38
|
+
export interface HlsAudioTrack {
|
|
39
|
+
groupId: string;
|
|
40
|
+
name: string;
|
|
41
|
+
language: string;
|
|
42
|
+
uri?: string;
|
|
43
|
+
default: boolean;
|
|
44
|
+
autoselect: boolean;
|
|
45
|
+
channels?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* HLS Subtitle Track
|
|
49
|
+
* #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",LANGUAGE="en",URI="subs_en.m3u8"
|
|
50
|
+
*/
|
|
51
|
+
export interface HlsSubtitle {
|
|
52
|
+
groupId: string;
|
|
53
|
+
name: string;
|
|
54
|
+
language: string;
|
|
55
|
+
uri: string;
|
|
56
|
+
default: boolean;
|
|
57
|
+
autoselect: boolean;
|
|
58
|
+
forced: boolean;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* HLS Media Playlist (segment list)
|
|
62
|
+
* Example: https://example.com/720p.m3u8
|
|
63
|
+
*/
|
|
64
|
+
export interface HlsMediaPlaylist {
|
|
65
|
+
segments: HlsSegment[];
|
|
66
|
+
targetDuration: number;
|
|
67
|
+
version: number;
|
|
68
|
+
mediaSequence: number;
|
|
69
|
+
discontinuitySequence: number;
|
|
70
|
+
endlist: boolean;
|
|
71
|
+
playlistType?: 'VOD' | 'EVENT';
|
|
72
|
+
keys: HlsKey[];
|
|
73
|
+
duration: number;
|
|
74
|
+
/** LL-HLS: server control capabilities */
|
|
75
|
+
serverControl?: HlsServerControl;
|
|
76
|
+
/** LL-HLS: partial segment target duration (from #EXT-X-PART-INF) */
|
|
77
|
+
partTargetDuration?: number;
|
|
78
|
+
/** LL-HLS: next part to prefetch (from #EXT-X-PRELOAD-HINT) */
|
|
79
|
+
preloadHint?: HlsPreloadHint;
|
|
80
|
+
/** LL-HLS: number of segments skipped in a delta playlist (#EXT-X-SKIP) */
|
|
81
|
+
skippedSegments?: number;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* HLS Segment (video/audio chunk)
|
|
85
|
+
* #EXTINF:10.0,
|
|
86
|
+
* segment_001.ts
|
|
87
|
+
*/
|
|
88
|
+
export interface HlsSegment {
|
|
89
|
+
uri: string;
|
|
90
|
+
duration: number;
|
|
91
|
+
sequence: number;
|
|
92
|
+
title?: string;
|
|
93
|
+
byteRange?: {
|
|
94
|
+
offset: number;
|
|
95
|
+
length: number;
|
|
96
|
+
};
|
|
97
|
+
discontinuity: boolean;
|
|
98
|
+
key?: HlsKey;
|
|
99
|
+
map?: HlsSegmentMap;
|
|
100
|
+
programDateTime?: Date;
|
|
101
|
+
/** LL-HLS partial segments that compose this full segment */
|
|
102
|
+
parts?: LlHlsPart[];
|
|
103
|
+
/** #EXT-X-GAP — segment data is unavailable (live DVR) */
|
|
104
|
+
gap?: boolean;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* HLS Encryption Key (DRM info)
|
|
108
|
+
* #EXT-X-KEY:METHOD=AES-128,URI="https://license.example.com/key",IV=0x12345678
|
|
109
|
+
*/
|
|
110
|
+
export interface HlsKey {
|
|
111
|
+
method: 'AES-128' | 'SAMPLE-AES' | 'NONE';
|
|
112
|
+
uri?: string;
|
|
113
|
+
iv?: string;
|
|
114
|
+
keyFormat?: string;
|
|
115
|
+
keyFormatVersions?: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* HLS Segment Map (initialization segment for fMP4)
|
|
119
|
+
* #EXT-X-MAP:URI="init.mp4"
|
|
120
|
+
*/
|
|
121
|
+
export interface HlsSegmentMap {
|
|
122
|
+
uri: string;
|
|
123
|
+
byteRange?: {
|
|
124
|
+
offset: number;
|
|
125
|
+
length: number;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* LL-HLS Partial Segment
|
|
130
|
+
* #EXT-X-PART:DURATION=0.33334,URI="seg001.part0.m4s"
|
|
131
|
+
*/
|
|
132
|
+
export interface LlHlsPart {
|
|
133
|
+
uri: string;
|
|
134
|
+
duration: number;
|
|
135
|
+
/** Independent=YES means the part can be decoded without previous parts */
|
|
136
|
+
independent?: boolean;
|
|
137
|
+
byteRange?: {
|
|
138
|
+
offset: number;
|
|
139
|
+
length: number;
|
|
140
|
+
};
|
|
141
|
+
/** Gap=YES means the part data is missing (live DVR gap) */
|
|
142
|
+
gap?: boolean;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* LL-HLS Preload Hint
|
|
146
|
+
* #EXT-X-PRELOAD-HINT:TYPE=PART,URI="seg002.part0.m4s"
|
|
147
|
+
*/
|
|
148
|
+
export interface HlsPreloadHint {
|
|
149
|
+
type: 'PART' | 'MAP';
|
|
150
|
+
uri: string;
|
|
151
|
+
byteRangeStart?: number;
|
|
152
|
+
byteRangeLength?: number;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* LL-HLS Server Control
|
|
156
|
+
* #EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,PART-HOLD-BACK=0.9
|
|
157
|
+
*/
|
|
158
|
+
export interface HlsServerControl {
|
|
159
|
+
/** Server supports blocking playlist requests (_HLS_msn, _HLS_part) */
|
|
160
|
+
canBlockReload: boolean;
|
|
161
|
+
/** Minimum buffer (seconds) before switching to next partial segment */
|
|
162
|
+
partHoldBack?: number;
|
|
163
|
+
/** Seconds after which the server can skip segments in delta updates */
|
|
164
|
+
canSkipUntil?: number;
|
|
165
|
+
canSkipDateranges?: boolean;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* DASH MPD (Media Presentation Description)
|
|
169
|
+
* https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf
|
|
170
|
+
*/
|
|
171
|
+
export interface DashManifest {
|
|
172
|
+
/** 'static' = VOD, 'dynamic' = LIVE */
|
|
173
|
+
type: 'static' | 'dynamic';
|
|
174
|
+
isLive: boolean;
|
|
175
|
+
/** Total content duration in seconds (VOD only) */
|
|
176
|
+
duration: number;
|
|
177
|
+
/** How often the MPD should be refreshed (live, seconds) */
|
|
178
|
+
minimumUpdatePeriod: number;
|
|
179
|
+
/** DVR window depth (live, seconds) */
|
|
180
|
+
timeShiftBufferDepth: number;
|
|
181
|
+
periods: DashPeriod[];
|
|
182
|
+
baseUrl: string;
|
|
183
|
+
/** LL-DASH: target playback latency from ServiceDescription (seconds) */
|
|
184
|
+
targetLatency?: number;
|
|
185
|
+
/** LL-DASH: availability time offset at MPD level (seconds) */
|
|
186
|
+
availabilityTimeOffset?: number;
|
|
187
|
+
}
|
|
188
|
+
export interface DashPeriod {
|
|
189
|
+
id: string;
|
|
190
|
+
/** Start time offset in seconds */
|
|
191
|
+
start: number;
|
|
192
|
+
/** Period duration in seconds (optional for last period) */
|
|
193
|
+
duration?: number;
|
|
194
|
+
adaptationSets: DashAdaptationSet[];
|
|
195
|
+
}
|
|
196
|
+
export interface DashAdaptationSet {
|
|
197
|
+
id: string;
|
|
198
|
+
/** 'video' | 'audio' | 'text' */
|
|
199
|
+
contentType: string;
|
|
200
|
+
mimeType: string;
|
|
201
|
+
/** Codec(s) at AdaptationSet level (may be overridden per Representation) */
|
|
202
|
+
codecs: string;
|
|
203
|
+
lang: string;
|
|
204
|
+
maxWidth?: number;
|
|
205
|
+
maxHeight?: number;
|
|
206
|
+
representations: DashRepresentation[];
|
|
207
|
+
}
|
|
208
|
+
export interface DashRepresentation {
|
|
209
|
+
id: string;
|
|
210
|
+
bandwidth: number;
|
|
211
|
+
width?: number;
|
|
212
|
+
height?: number;
|
|
213
|
+
/** Codec string, e.g. "avc1.64001F" or "mp4a.40.2" */
|
|
214
|
+
codecs: string;
|
|
215
|
+
mimeType: string;
|
|
216
|
+
/** e.g. "25" or "30000/1001" */
|
|
217
|
+
frameRate?: string;
|
|
218
|
+
audioSamplingRate?: string;
|
|
219
|
+
segmentTemplate?: DashSegmentTemplate;
|
|
220
|
+
/** SegmentBase — byte-range based single-file access */
|
|
221
|
+
segmentBase?: DashSegmentBase;
|
|
222
|
+
baseUrl: string;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* SegmentBase — used when all media is in a single file (e.g. a plain MP4).
|
|
226
|
+
* Initialization data and the segment index (sidx box) are fetched via byte ranges.
|
|
227
|
+
*
|
|
228
|
+
* MPD example:
|
|
229
|
+
* <SegmentBase indexRange="723-2176" timescale="30000">
|
|
230
|
+
* <Initialization range="0-722"/>
|
|
231
|
+
* </SegmentBase>
|
|
232
|
+
*/
|
|
233
|
+
export interface DashSegmentBase {
|
|
234
|
+
/** Timescale ticks-per-second (default 1) */
|
|
235
|
+
timescale: number;
|
|
236
|
+
/** Byte range of the initialization data, e.g. "0-722" */
|
|
237
|
+
initRange?: string;
|
|
238
|
+
/** Byte range of the segment index (sidx box), e.g. "723-2176" */
|
|
239
|
+
indexRange?: string;
|
|
240
|
+
}
|
|
241
|
+
export interface DashSegmentTemplate {
|
|
242
|
+
timescale: number;
|
|
243
|
+
/** Segment duration in seconds (pre-divided by timescale) */
|
|
244
|
+
duration: number;
|
|
245
|
+
startNumber: number;
|
|
246
|
+
/** Fully resolved initialization URL (with $RepresentationID$ etc. substituted) */
|
|
247
|
+
initializationUrl: string;
|
|
248
|
+
/** Raw media URL template (e.g. "seg-$RepresentationID$-$Number$.m4s") */
|
|
249
|
+
mediaTemplate: string;
|
|
250
|
+
/** Parsed SegmentTimeline entries (optional) */
|
|
251
|
+
timeline?: DashTimelineEntry[];
|
|
252
|
+
/**
|
|
253
|
+
* LL-DASH: seconds before a segment's nominal availability time at which
|
|
254
|
+
* the segment (or its chunks) becomes available. When < segmentDuration,
|
|
255
|
+
* the segment is published incrementally (chunked transfer).
|
|
256
|
+
*/
|
|
257
|
+
availabilityTimeOffset?: number;
|
|
258
|
+
/** LL-DASH: if false, segments can be appended before they are complete */
|
|
259
|
+
availabilityTimeComplete?: boolean;
|
|
260
|
+
}
|
|
261
|
+
/** One <S> element inside <SegmentTimeline> */
|
|
262
|
+
export interface DashTimelineEntry {
|
|
263
|
+
/** Absolute start time on the timeline (optional — if absent, continues from previous) */
|
|
264
|
+
t?: number;
|
|
265
|
+
/** Duration of this entry in timescale units */
|
|
266
|
+
d: number;
|
|
267
|
+
/** Repeat count — entry repeats (r+1) times total */
|
|
268
|
+
r?: number;
|
|
269
|
+
}
|
|
270
|
+
/** A resolved segment ready for download */
|
|
271
|
+
export interface DashSegmentInfo {
|
|
272
|
+
url: string;
|
|
273
|
+
number: number;
|
|
274
|
+
/** Start time in timescale units */
|
|
275
|
+
time: number;
|
|
276
|
+
/** Duration in seconds */
|
|
277
|
+
duration: number;
|
|
278
|
+
/** Byte range for HTTP Range request (SegmentBase only) */
|
|
279
|
+
byteRange?: {
|
|
280
|
+
start: number;
|
|
281
|
+
end: number;
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
export type ManifestType = 'hls' | 'dash' | 'progressive';
|
|
285
|
+
export interface ParsedManifest {
|
|
286
|
+
type: ManifestType;
|
|
287
|
+
hls?: HlsMasterPlaylist | HlsMediaPlaylist;
|
|
288
|
+
dash?: DashManifest;
|
|
289
|
+
}
|
|
290
|
+
export interface ManifestLoaderOptions {
|
|
291
|
+
url: string;
|
|
292
|
+
timeout?: number;
|
|
293
|
+
maxRetries?: number;
|
|
294
|
+
headers?: Record<string, string>;
|
|
295
|
+
withCredentials?: boolean;
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=manifest.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.types.d.ts","sourceRoot":"","sources":["../../src/types/manifest.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbutton.types.d.ts","sourceRoot":"","sources":["../../src/types/playbutton.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type PlayerMode = 'vod' | 'live';
|
|
2
|
+
export interface PlayerProps {
|
|
3
|
+
src?: string;
|
|
4
|
+
width?: string | number;
|
|
5
|
+
height?: string | number;
|
|
6
|
+
defaultControls?: boolean;
|
|
7
|
+
autoplay?: boolean;
|
|
8
|
+
muted?: boolean;
|
|
9
|
+
poster?: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
onAdLoading?: (isLoading: boolean) => void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=player.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"player.types.d.ts","sourceRoot":"","sources":["../../src/types/player.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seekbar.types.d.ts","sourceRoot":"","sources":["../../src/types/seekbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Media Source Extensions (MSE) & Adaptive Bitrate (ABR) Types
|
|
3
|
+
* Pure custom implementation
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* SourceBuffer configuration
|
|
7
|
+
*/
|
|
8
|
+
export interface SourceBufferConfig {
|
|
9
|
+
type: 'video' | 'audio';
|
|
10
|
+
mimeType: string;
|
|
11
|
+
codecs: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Buffer range
|
|
15
|
+
*/
|
|
16
|
+
export interface BufferRange {
|
|
17
|
+
start: number;
|
|
18
|
+
end: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Buffer state
|
|
22
|
+
*/
|
|
23
|
+
export interface BufferState {
|
|
24
|
+
video: BufferRange[];
|
|
25
|
+
audio: BufferRange[];
|
|
26
|
+
buffered: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Segment to be loaded/appended
|
|
30
|
+
*/
|
|
31
|
+
export interface SegmentData {
|
|
32
|
+
type: 'video' | 'audio';
|
|
33
|
+
data: ArrayBuffer;
|
|
34
|
+
sequence: number;
|
|
35
|
+
duration: number;
|
|
36
|
+
timestamp: number;
|
|
37
|
+
encrypted: boolean;
|
|
38
|
+
keyUri?: string;
|
|
39
|
+
iv?: Uint8Array;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Quality level (bitrate/resolution)
|
|
43
|
+
*/
|
|
44
|
+
export interface QualityLevel {
|
|
45
|
+
id: string;
|
|
46
|
+
label: string;
|
|
47
|
+
width: number;
|
|
48
|
+
height: number;
|
|
49
|
+
bandwidth: number;
|
|
50
|
+
codecs: string;
|
|
51
|
+
frameRate?: number;
|
|
52
|
+
uri: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* ABR algorithm configuration
|
|
56
|
+
*/
|
|
57
|
+
export interface AbrConfig {
|
|
58
|
+
enabled: boolean;
|
|
59
|
+
minAutoBitrate?: number;
|
|
60
|
+
maxAutoBitrate?: number;
|
|
61
|
+
startBitrate?: number;
|
|
62
|
+
fastSwitching?: boolean;
|
|
63
|
+
bufferTarget?: number;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Network statistics
|
|
67
|
+
*/
|
|
68
|
+
export interface NetworkStats {
|
|
69
|
+
bandwidth: number;
|
|
70
|
+
latency: number;
|
|
71
|
+
downloadTime: number;
|
|
72
|
+
bytesLoaded: number;
|
|
73
|
+
estimatedBandwidth: number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Bandwidth estimation sample
|
|
77
|
+
*/
|
|
78
|
+
export interface BandwidthSample {
|
|
79
|
+
timestamp: number;
|
|
80
|
+
bytesLoaded: number;
|
|
81
|
+
duration: number;
|
|
82
|
+
bandwidth: number;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Streaming engine state
|
|
86
|
+
*/
|
|
87
|
+
export type StreamingState = 'idle' | 'loading' | 'buffering' | 'playing' | 'paused' | 'seeking' | 'stalled' | 'ended' | 'error';
|
|
88
|
+
/**
|
|
89
|
+
* Streaming error
|
|
90
|
+
*/
|
|
91
|
+
export interface StreamingError {
|
|
92
|
+
code: StreamingErrorCode;
|
|
93
|
+
message: string;
|
|
94
|
+
fatal: boolean;
|
|
95
|
+
details?: any;
|
|
96
|
+
}
|
|
97
|
+
export declare const StreamingErrorCode: {
|
|
98
|
+
readonly MANIFEST_LOAD_ERROR: "MANIFEST_LOAD_ERROR";
|
|
99
|
+
readonly MANIFEST_PARSE_ERROR: "MANIFEST_PARSE_ERROR";
|
|
100
|
+
readonly SEGMENT_LOAD_ERROR: "SEGMENT_LOAD_ERROR";
|
|
101
|
+
readonly SEGMENT_APPEND_ERROR: "SEGMENT_APPEND_ERROR";
|
|
102
|
+
readonly FRAG_LOAD_ERROR: "FRAG_LOAD_ERROR";
|
|
103
|
+
readonly BUFFER_FULL_ERROR: "BUFFER_FULL_ERROR";
|
|
104
|
+
readonly BUFFER_APPEND_ERROR: "BUFFER_APPEND_ERROR";
|
|
105
|
+
readonly BUFFER_STALLED_ERROR: "BUFFER_STALLED_ERROR";
|
|
106
|
+
readonly MEDIA_SOURCE_ERROR: "MEDIA_SOURCE_ERROR";
|
|
107
|
+
readonly CODEC_NOT_SUPPORTED: "CODEC_NOT_SUPPORTED";
|
|
108
|
+
readonly NETWORK_ERROR: "NETWORK_ERROR";
|
|
109
|
+
readonly TIMEOUT_ERROR: "TIMEOUT_ERROR";
|
|
110
|
+
readonly CORS_ERROR: "CORS_ERROR";
|
|
111
|
+
readonly DRM_MISSING_CONFIG: "DRM_MISSING_CONFIG";
|
|
112
|
+
readonly UNKNOWN_ERROR: "UNKNOWN_ERROR";
|
|
113
|
+
};
|
|
114
|
+
export type StreamingErrorCode = typeof StreamingErrorCode[keyof typeof StreamingErrorCode];
|
|
115
|
+
/**
|
|
116
|
+
* Segment loader configuration
|
|
117
|
+
*/
|
|
118
|
+
export interface SegmentLoaderConfig {
|
|
119
|
+
maxRetries: number;
|
|
120
|
+
retryDelay: number;
|
|
121
|
+
timeout: number;
|
|
122
|
+
headers?: Record<string, string>;
|
|
123
|
+
withCredentials?: boolean;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Segment load request
|
|
127
|
+
*/
|
|
128
|
+
export interface SegmentLoadRequest {
|
|
129
|
+
url: string;
|
|
130
|
+
sequence: number;
|
|
131
|
+
type: 'video' | 'audio';
|
|
132
|
+
byteRange?: {
|
|
133
|
+
start: number;
|
|
134
|
+
end: number;
|
|
135
|
+
};
|
|
136
|
+
onProgress?: (loaded: number, total: number) => void;
|
|
137
|
+
withCredentials?: boolean;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Segment load response
|
|
141
|
+
*/
|
|
142
|
+
export interface SegmentLoadResponse {
|
|
143
|
+
data: ArrayBuffer;
|
|
144
|
+
url: string;
|
|
145
|
+
sequence: number;
|
|
146
|
+
duration: number;
|
|
147
|
+
stats: {
|
|
148
|
+
startTime: number;
|
|
149
|
+
endTime: number;
|
|
150
|
+
bytesLoaded: number;
|
|
151
|
+
bandwidth: number;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Current playback info
|
|
156
|
+
*/
|
|
157
|
+
export interface PlaybackInfo {
|
|
158
|
+
state: StreamingState;
|
|
159
|
+
currentTime: number;
|
|
160
|
+
duration: number;
|
|
161
|
+
buffered: BufferState;
|
|
162
|
+
currentQuality: QualityLevel | null;
|
|
163
|
+
availableQualities: QualityLevel[];
|
|
164
|
+
bandwidth: NetworkStats;
|
|
165
|
+
isLive: boolean;
|
|
166
|
+
latency?: number;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=streaming.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.types.d.ts","sourceRoot":"","sources":["../../src/types/streaming.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timeline Marker Types
|
|
3
|
+
* For rich video players with interactive event markers (sports, live events, etc.)
|
|
4
|
+
*/
|
|
5
|
+
export interface TimelineEvent {
|
|
6
|
+
/** Event timestamp in seconds */
|
|
7
|
+
time: number;
|
|
8
|
+
/** Event type (goal, yellow, red, substitution, kickoff, etc.) */
|
|
9
|
+
type: string;
|
|
10
|
+
/** Optional custom icon (emoji or SVG) */
|
|
11
|
+
icon?: string;
|
|
12
|
+
/** Optional custom color */
|
|
13
|
+
color?: string;
|
|
14
|
+
/** Label for tooltip */
|
|
15
|
+
label?: string;
|
|
16
|
+
/** Any additional metadata */
|
|
17
|
+
metadata?: Record<string, any>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Timeline Marker Configuration
|
|
21
|
+
*/
|
|
22
|
+
export interface TimelineConfig {
|
|
23
|
+
/** Enable timeline markers */
|
|
24
|
+
enabled?: boolean;
|
|
25
|
+
/** Timeline events */
|
|
26
|
+
events?: TimelineEvent[];
|
|
27
|
+
/** Marker size in px */
|
|
28
|
+
markerSize?: number;
|
|
29
|
+
/** Show tooltip on hover */
|
|
30
|
+
showTooltip?: boolean;
|
|
31
|
+
/** Auto-parse from raw event data (e.g., sports API) */
|
|
32
|
+
parser?: (rawEvents: any[]) => TimelineEvent[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Default event type styling
|
|
36
|
+
*/
|
|
37
|
+
export declare const DEFAULT_EVENT_STYLES: Record<string, {
|
|
38
|
+
icon: string;
|
|
39
|
+
color: string;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Helper to parse sports API events to timeline events
|
|
43
|
+
* Example for football/soccer data structure
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseSportsEvents(rawEvents: any[]): TimelineEvent[];
|
|
46
|
+
//# sourceMappingURL=timeline.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.types.d.ts","sourceRoot":"","sources":["../../src/types/timeline.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IAEb,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IAEb,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,sBAAsB;IACtB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IAEzB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,wDAAwD;IACxD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,aAAa,EAAE,CAAC;CAChD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAahF,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,CAgDnE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native HTML5 Video Element Event Types
|
|
3
|
+
*
|
|
4
|
+
* This enum provides type-safe access to all native video events.
|
|
5
|
+
* Using these constants prevents typos and improves maintainability.
|
|
6
|
+
*
|
|
7
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#events
|
|
8
|
+
*/
|
|
9
|
+
export declare const VideoEventType: {
|
|
10
|
+
readonly PLAY: "play";
|
|
11
|
+
readonly PAUSE: "pause";
|
|
12
|
+
readonly PLAYING: "playing";
|
|
13
|
+
readonly ENDED: "ended";
|
|
14
|
+
readonly SEEKING: "seeking";
|
|
15
|
+
readonly SEEKED: "seeked";
|
|
16
|
+
readonly WAITING: "waiting";
|
|
17
|
+
readonly VOLUME_CHANGE: "volumechange";
|
|
18
|
+
readonly TIME_UPDATE: "timeupdate";
|
|
19
|
+
readonly DURATION_CHANGE: "durationchange";
|
|
20
|
+
readonly LOADED_METADATA: "loadedmetadata";
|
|
21
|
+
readonly LOADED_DATA: "loadeddata";
|
|
22
|
+
readonly CAN_PLAY: "canplay";
|
|
23
|
+
readonly CAN_PLAY_THROUGH: "canplaythrough";
|
|
24
|
+
readonly RATE_CHANGE: "ratechange";
|
|
25
|
+
readonly LOAD_START: "loadstart";
|
|
26
|
+
readonly PROGRESS: "progress";
|
|
27
|
+
readonly SUSPEND: "suspend";
|
|
28
|
+
readonly ABORT: "abort";
|
|
29
|
+
readonly STALLED: "stalled";
|
|
30
|
+
readonly ERROR: "error";
|
|
31
|
+
readonly EMPTIED: "emptied";
|
|
32
|
+
readonly RESIZE: "resize";
|
|
33
|
+
};
|
|
34
|
+
export type VideoEventType = typeof VideoEventType[keyof typeof VideoEventType];
|
|
35
|
+
/**
|
|
36
|
+
* Media Error Codes
|
|
37
|
+
*
|
|
38
|
+
* Standard HTML5 media error codes for better error handling
|
|
39
|
+
*/
|
|
40
|
+
export declare const MediaErrorCode: {
|
|
41
|
+
MEDIA_ERR_ABORTED: number;
|
|
42
|
+
MEDIA_ERR_NETWORK: number;
|
|
43
|
+
MEDIA_ERR_DECODE: number;
|
|
44
|
+
MEDIA_ERR_SRC_NOT_SUPPORTED: number;
|
|
45
|
+
};
|
|
46
|
+
export type MediaErrorCode = typeof MediaErrorCode[keyof typeof MediaErrorCode];
|
|
47
|
+
/**
|
|
48
|
+
* Type guard for checking if an event type is a valid VideoEventType
|
|
49
|
+
*/
|
|
50
|
+
export declare function isVideoEventType(event: string): event is VideoEventType;
|
|
51
|
+
//# sourceMappingURL=video-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-events.d.ts","sourceRoot":"","sources":["../../src/types/video-events.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;CAqCjB,CAAC;AAEX,MAAM,MAAM,cAAc,GACxB,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAGrD;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;CAK1B,CAAA;AACD,MAAM,MAAM,cAAc,GACxB,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AACrD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BufferingIndicator.d.ts","sourceRoot":"","sources":["../../../src/ui/Common/BufferingIndicator.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,kBAAkB,4CAIzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlBar.d.ts","sourceRoot":"","sources":["../../../src/ui/Common/ControlBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAyB/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlBar.responsive.d.ts","sourceRoot":"","sources":["../../../src/ui/Common/ControlBar.responsive.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAiDzE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface DropdownContextValue {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
toggle: () => void;
|
|
5
|
+
close: () => void;
|
|
6
|
+
open: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const DropdownContext: import('react').Context<DropdownContextValue>;
|
|
9
|
+
interface DropdownProps {
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
export default function Dropdown({ children }: DropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=Dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../../src/ui/Common/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGxE,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,+CAK1B,CAAC;AAEH,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,aAAa,2CA8B3D"}
|