@hopeplayer/core 1.0.4 → 1.0.5

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.
Files changed (63) hide show
  1. package/dist/HopePlayerElement.d.ts +53 -0
  2. package/dist/HopePlayerElement.d.ts.map +1 -1
  3. package/dist/chunks/{hls-CfP6MPo0.js → hls-BOHE_fg_.js} +10685 -10557
  4. package/dist/chunks/hls-BOHE_fg_.js.map +1 -0
  5. package/dist/chunks/{index-Z7Jmls0c.js → index-7IBf8Y-R.js} +31 -21
  6. package/dist/chunks/index-7IBf8Y-R.js.map +1 -0
  7. package/dist/chunks/{index-CoUeJvsG.js → index-B5z7RvlD.js} +2 -2
  8. package/dist/chunks/{index-CoUeJvsG.js.map → index-B5z7RvlD.js.map} +1 -1
  9. package/dist/chunks/{index-DSOoIVgQ.js → index-B8qJxIhK.js} +2 -2
  10. package/dist/chunks/{index-DSOoIVgQ.js.map → index-B8qJxIhK.js.map} +1 -1
  11. package/dist/chunks/index-BM6ZsBhs.js +2535 -0
  12. package/dist/chunks/index-BM6ZsBhs.js.map +1 -0
  13. package/dist/chunks/{index-DXgJitsr.js → index-C3qu4Vy5.js} +2 -2
  14. package/dist/chunks/{index-DXgJitsr.js.map → index-C3qu4Vy5.js.map} +1 -1
  15. package/dist/chunks/index-C5oGMHF_.js +92 -0
  16. package/dist/chunks/index-C5oGMHF_.js.map +1 -0
  17. package/dist/chunks/{index-C2LLloqz.js → index-CKpSJktz.js} +5 -5
  18. package/dist/chunks/index-CKpSJktz.js.map +1 -0
  19. package/dist/chunks/{index-DrFrsAJ-.js → index-Chzol4wz.js} +2 -2
  20. package/dist/chunks/{index-DrFrsAJ-.js.map → index-Chzol4wz.js.map} +1 -1
  21. package/dist/chunks/index-DGtpFgHV.js +70 -0
  22. package/dist/chunks/index-DGtpFgHV.js.map +1 -0
  23. package/dist/controls/ContextMenu.d.ts +22 -0
  24. package/dist/controls/ContextMenu.d.ts.map +1 -0
  25. package/dist/controls/ControlBar.d.ts +7 -0
  26. package/dist/controls/ControlBar.d.ts.map +1 -1
  27. package/dist/controls/SeekBar.d.ts +7 -0
  28. package/dist/controls/SeekBar.d.ts.map +1 -1
  29. package/dist/hls/SourceManager.d.ts +49 -3
  30. package/dist/hls/SourceManager.d.ts.map +1 -1
  31. package/dist/hope-player.js +3 -2
  32. package/dist/i18n/locales/en.d.ts.map +1 -1
  33. package/dist/i18n/locales/tr.d.ts.map +1 -1
  34. package/dist/i18n/types.d.ts +15 -0
  35. package/dist/i18n/types.d.ts.map +1 -1
  36. package/dist/index.d.ts +3 -3
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/plugins/live/LiveWallClock.d.ts +11 -2
  39. package/dist/plugins/live/LiveWallClock.d.ts.map +1 -1
  40. package/dist/plugins/stats/StatsPanel.d.ts +49 -0
  41. package/dist/plugins/stats/StatsPanel.d.ts.map +1 -0
  42. package/dist/plugins/stats/index.d.ts +5 -0
  43. package/dist/plugins/stats/index.d.ts.map +1 -0
  44. package/dist/plugins/story/HopeStory.d.ts.map +1 -1
  45. package/dist/plugins/tap-gestures/TapGestures.d.ts +38 -0
  46. package/dist/plugins/tap-gestures/TapGestures.d.ts.map +1 -0
  47. package/dist/plugins/tap-gestures/index.d.ts +6 -0
  48. package/dist/plugins/tap-gestures/index.d.ts.map +1 -0
  49. package/dist/screens/ErrorScreen.d.ts +9 -0
  50. package/dist/screens/ErrorScreen.d.ts.map +1 -1
  51. package/dist/subtitles/CaptionRenderer.d.ts.map +1 -1
  52. package/dist/subtitles/attachTracks.d.ts +8 -1
  53. package/dist/subtitles/attachTracks.d.ts.map +1 -1
  54. package/dist/types/index.d.ts +41 -0
  55. package/dist/types/index.d.ts.map +1 -1
  56. package/dist/utils/seek-by.d.ts +3 -0
  57. package/dist/utils/seek-by.d.ts.map +1 -0
  58. package/package.json +2 -2
  59. package/dist/chunks/hls-CfP6MPo0.js.map +0 -1
  60. package/dist/chunks/index-C2LLloqz.js.map +0 -1
  61. package/dist/chunks/index-QJhB8dCl.js +0 -2137
  62. package/dist/chunks/index-QJhB8dCl.js.map +0 -1
  63. package/dist/chunks/index-Z7Jmls0c.js.map +0 -1
@@ -11,6 +11,8 @@ export interface ControlBarCallbacks {
11
11
  adTogglePlay: () => void;
12
12
  adIsPaused: () => boolean;
13
13
  adVolume: VolumePanelAdHooks;
14
+ /** hls.js'in hedef canlı konumu (canlı ucun ~3 segment gerisi) — rozet "geride" kararı ve "canlıya dön" için. */
15
+ liveSyncPosition?(): number | null;
14
16
  }
15
17
  /** Alt kontrol çubuğunu kurar; alt bileşenleri (SeekBar/VolumePanel/SettingsMenu) birleştirir. */
16
18
  export declare class ControlBar {
@@ -28,6 +30,8 @@ export declare class ControlBar {
28
30
  /** Etkin sarma süreleri (sn); null = buton gizli. */
29
31
  private skipSeconds;
30
32
  private seekingEnabled;
33
+ private readonly leftGroup;
34
+ private loadingTimer;
31
35
  /** Sarma butonuyla sarıldığında (sn, negatif = geri) — sarma bildirimi için. */
32
36
  onSkip: ((delta: number) => void) | null;
33
37
  private readonly fullscreenButton;
@@ -84,6 +88,9 @@ export declare class ControlBar {
84
88
  /** Canlı uç (media-time) — seekable sonu; native HLS'te DVR'sız canlıda seekable boş kalabildiği için buffered sonu (bkz. LiveWallClock.isLive notu). */
85
89
  private liveEdge;
86
90
  private readonly renderTime;
91
+ /** Buffer bekleniyor (oynarken takılma ya da buffer'lanmamış bir yere atlama). */
92
+ private readonly onLoadingStart;
93
+ private readonly onLoadingEnd;
87
94
  private readonly goToLive;
88
95
  destroy(): void;
89
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ControlBar.d.ts","sourceRoot":"","sources":["../../src/controls/ControlBar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ControlBar.d.ts","sourceRoot":"","sources":["../../src/controls/ControlBar.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,13 @@ export declare class SeekBar {
30
30
  private readonly resizeObserver;
31
31
  private rafId;
32
32
  constructor(video: HTMLVideoElement, labels: HopeLocaleStrings);
33
+ /** Canlıda hover zamanını başka bir bileşen gösteriyor mu (live-wall-clock tooltip'i) — üst üste binmesin. */
34
+ liveHoverHandled: boolean;
35
+ /**
36
+ * Seek bar'ın temsil ettiği zaman aralığı: VOD'da 0 → süre; canlıda (duration Infinity) yayının izin verdiği
37
+ * geri sarma penceresi (seekable başı → canlı uç). Pencere çok kısaysa (DVR yok) ya da süre bilinmiyorsa null.
38
+ */
39
+ private timeline;
33
40
  /** Kendi zamanını gösteren plugin'ler (sprite/segments) varsayılan hover zamanını gizler — keyed set. */
34
41
  suppressHoverTime(key: string, suppressed: boolean): void;
35
42
  private readonly onHoverMove;
@@ -1 +1 @@
1
- {"version":3,"file":"SeekBar.d.ts","sourceRoot":"","sources":["../../src/controls/SeekBar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAWD,qBAAa,OAAO;IAChB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,QAAQ,CAAsB;IACtC,oIAAoI;IACpI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,KAAK,CAAuB;gBAExB,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB;IA0E9D,yGAAyG;IACzG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAMzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAyB1B;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAG3B;IAEF,OAAO,CAAC,cAAc;IAItB,gKAAgK;IAChK,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAkBvC,qEAAqE;IACrE,OAAO,CAAC,QAAQ;IAQhB,6FAA6F;IAC7F,WAAW,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,cAAc,EAAE;IA+B5D,aAAa,IAAI,IAAI;IAQrB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAO5B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAK1B;IAEF,uGAAuG;IACvG,YAAY,SAAK;IACjB,sFAAsF;IACtF,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAExD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAaxB;IAEF,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAOxB;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAMvB;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAsCrB;IAEF,iGAAiG;IACjG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,cAAc;IASzD,YAAY,IAAI,IAAI;IAKpB,aAAa,IAAI,IAAI;IAIrB,OAAO,IAAI,IAAI;CAclB"}
1
+ {"version":3,"file":"SeekBar.d.ts","sourceRoot":"","sources":["../../src/controls/SeekBar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAgBD,qBAAa,OAAO;IAChB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,QAAQ,CAAsB;IACtC,oIAAoI;IACpI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,KAAK,CAAuB;gBAExB,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB;IA0E9D,8GAA8G;IAC9G,gBAAgB,UAAS;IAEzB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAWhB,yGAAyG;IACzG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAMzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAyB1B;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAG3B;IAEF,OAAO,CAAC,cAAc;IAItB,gKAAgK;IAChK,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAkBvC,qEAAqE;IACrE,OAAO,CAAC,QAAQ;IAQhB,6FAA6F;IAC7F,WAAW,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,cAAc,EAAE;IA+B5D,aAAa,IAAI,IAAI;IAQrB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAO5B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAK1B;IAEF,uGAAuG;IACvG,YAAY,SAAK;IACjB,sFAAsF;IACtF,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAExD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAaxB;IAEF,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAOxB;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAMvB;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CA4CrB;IAEF,iGAAiG;IACjG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,cAAc;IASzD,YAAY,IAAI,IAAI;IAKpB,aAAa,IAAI,IAAI;IAIrB,OAAO,IAAI,IAAI;CAclB"}
@@ -1,3 +1,4 @@
1
+ import type { HopeHlsOptions } from '../types';
1
2
  /**
2
3
  * MP4: HTML5 video üzerinden doğrudan oynatılır.
3
4
  * M3U8: Safari/iOS'ta native HLS; diğer tarayıcılarda gerektiğinde hls.js.
@@ -7,12 +8,40 @@ export interface HlsQualityLevel {
7
8
  height: number;
8
9
  bitrate: number;
9
10
  }
11
+ type HlsModule = typeof import('hls.js');
12
+ type HlsInstance = InstanceType<HlsModule['default']>;
10
13
  /** Hangi yoldan oynatılıyor — `reason` native'e neden düşüldüğünü açıklar (ör. CORS). */
11
14
  export interface PlaybackEngineInfo {
12
15
  engine: 'native' | 'native-hls' | 'hls.js';
13
- reason?: 'apple-native' | 'no-mse' | 'hlsjs-failed';
16
+ /** `option` = `options.hls.engine: 'native'` ile istendi. */
17
+ reason?: 'apple-native' | 'no-mse' | 'hlsjs-failed' | 'option';
18
+ }
19
+ /** Yayının kendi altyazı/kapalı altyazı izi (HLS manifest altyazıları, CEA-608). */
20
+ export interface StreamTextTrack {
21
+ /** `sub:<hls.js id>` (manifest altyazısı) ya da `cc:<textTrackN>` (CEA-608). */
22
+ id: string;
23
+ kind: 'subtitles' | 'captions';
24
+ label: string;
25
+ lang: string;
26
+ }
27
+ /** Yayının alternatif ses izi (HLS EXT-X-MEDIA TYPE=AUDIO ya da Safari native `audioTracks`). */
28
+ export interface StreamAudioTrack {
29
+ index: number;
30
+ label: string;
31
+ lang: string;
32
+ }
33
+ export interface SourceManagerCallbacks {
34
+ onLevelsChanged(levels: HlsQualityLevel[], activeIndex: number): void;
35
+ /** Boş liste = kaynak değişti, önceki izler kalmasın. */
36
+ onAudioTracksChanged(tracks: StreamAudioTrack[], activeIndex: number): void;
37
+ /** hls.js yayın altyazıları — boş liste = sıfırla. Liste büyüyebilir (CEA-608 izleri oynarken bulunur). */
38
+ onTextTracksFound(tracks: StreamTextTrack[]): void;
39
+ onCues(trackId: string, cues: VTTCue[]): void;
40
+ /** hls.js kurtarılamayan bir hata verdi (video.error oluşmaz) — `network` = yayın/segment indirilemiyor, `media` = çözümlenemiyor. */
41
+ onFatalError(kind: 'network' | 'media'): void;
14
42
  }
15
43
  export declare class SourceManager {
44
+ private readonly callbacks;
16
45
  private hls;
17
46
  private readonly video;
18
47
  /** Son yüklenen kaynak — `reload()` (hata ekranındaki "Tekrar dene") için. */
@@ -20,11 +49,18 @@ export declare class SourceManager {
20
49
  /** Native HLS denemesi sürerken (ilk loadedmetadata'ya kadar) — başarısız olursa hls.js'e geçilir. */
21
50
  private nativeHlsProbe;
22
51
  private engineInfo;
23
- private readonly onLevelsChanged;
24
- constructor(video: HTMLVideoElement, onLevelsChanged: (levels: HlsQualityLevel[], activeIndex: number) => void);
52
+ private hlsOptions;
53
+ private streamTextTracks;
54
+ /** Safari native HLS ses izi dinleyicilerini kaldırır. */
55
+ private nativeAudioCleanup;
56
+ constructor(video: HTMLVideoElement, callbacks: SourceManagerCallbacks);
57
+ /** `options.hls` — sonraki `load()`'da uygulanır. */
58
+ configure(options: HopeHlsOptions | undefined): void;
25
59
  load(src: string, type?: string): Promise<void>;
26
60
  /** Şu anki oynatma yolu — docs demosu/entegratör teşhisi için (ör. CORS yüzünden native'e düşüldü mü). */
27
61
  get engine(): PlaybackEngineInfo;
62
+ /** hls.js ile oynatılıyorsa instance (gelişmiş kullanım: olaylar, istatistik); değilse null. */
63
+ get hlsInstance(): HlsInstance | null;
28
64
  private loadNativeHls;
29
65
  /** Native HLS denemesi sürüyor mu — ErrorScreen bu sırada gelen hatayı göstermez (hls.js'e geçilecek). */
30
66
  isRecovering(): boolean;
@@ -33,11 +69,21 @@ export declare class SourceManager {
33
69
  * İlk metadata'dan önce kod 4 gelirse ve MSE varsa hls.js'e geç.
34
70
  */
35
71
  private probeNativeHls;
72
+ /** Safari native HLS: alternatif ses izleri `video.audioTracks`'te (diğer tarayıcılarda bu API yok). */
73
+ private watchNativeAudioTracks;
36
74
  private attachHlsJs;
75
+ private buildHlsConfig;
37
76
  /** Son kaynağı baştan yükler — hls.js ile oynayan kaynakta da çalışır (çıplak video.load() blob'u yeniden açamaz). */
38
77
  reload(): Promise<void>;
39
78
  /** -1 = otomatik kalite (ABR). */
40
79
  setLevel(index: number): void;
80
+ setAudioTrack(index: number): void;
81
+ /**
82
+ * Yayın altyazısı seçildi (null = yayın altyazısı yok). hls.js manifest altyazısının segmentlerini yalnızca
83
+ * seçili `subtitleTrack` için indirir; CEA-608 cue'ları zaten video segmentlerinden sürekli gelir.
84
+ */
85
+ selectTextTrack(id: string | null): void;
41
86
  destroy(): void;
42
87
  }
88
+ export {};
43
89
  //# sourceMappingURL=SourceManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceManager.d.ts","sourceRoot":"","sources":["../../src/hls/SourceManager.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAOD,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;CACvD;AAiDD,qBAAa,aAAa;IACtB,OAAO,CAAC,GAAG,CAA4B;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IAEzC,8EAA8E;IAC9E,OAAO,CAAC,IAAI,CAA+C;IAC3D,sGAAsG;IACtG,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,UAAU,CAA4C;IAE9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAGtB;gBAGN,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,CACb,MAAM,EAAE,eAAe,EAAE,EACzB,WAAW,EAAE,MAAM,KAClB,IAAI;IAMP,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrD,0GAA0G;IAC1G,IAAI,MAAM,IAAI,kBAAkB,CAE/B;IAED,OAAO,CAAC,aAAa;IAMrB,0GAA0G;IAC1G,YAAY,IAAI,OAAO;IAIvB;;;OAGG;IACH,OAAO,CAAC,cAAc;YAmBR,WAAW;IAgEzB,sHAAsH;IACtH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B,OAAO,IAAI,IAAI;CAOlB"}
1
+ {"version":3,"file":"SourceManager.d.ts","sourceRoot":"","sources":["../../src/hls/SourceManager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { H as r } from "./chunks/index-QJhB8dCl.js";
1
+ import { H as E, a as o } from "./chunks/index-BM6ZsBhs.js";
2
2
  export {
3
- r as HopePlayerElement
3
+ E as HOPE_PLAYER_VERSION,
4
+ o as HopePlayerElement
4
5
  };
5
6
  //# sourceMappingURL=hope-player.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,eAAO,MAAM,EAAE,EAAE,iBAkEhB,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,eAAO,MAAM,EAAE,EAAE,iBAgFhB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/tr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,iHAAiH;AACjH,eAAO,MAAM,EAAE,EAAE,iBAkEhB,CAAC"}
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/tr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,iHAAiH;AACjH,eAAO,MAAM,EAAE,EAAE,iBAgFhB,CAAC"}
@@ -12,6 +12,21 @@ export interface HopeLocaleStrings {
12
12
  skipForward: (seconds: number) => string;
13
13
  /** Sarma bildirimindeki saniye kısaltması ("+15 sn"). */
14
14
  secondsShort: string;
15
+ /** Ayarlar menüsünde yayının alternatif ses izleri (HLS). */
16
+ audioTrack: string;
17
+ statsTitle: string;
18
+ statsClose: string;
19
+ statsEngine: string;
20
+ statsResolution: string;
21
+ statsQuality: string;
22
+ statsCodecs: string;
23
+ statsBandwidth: string;
24
+ statsBuffer: string;
25
+ statsDropped: string;
26
+ statsLatency: string;
27
+ statsSpeedVolume: string;
28
+ statsSource: string;
29
+ statsVersion: string;
15
30
  fullscreenEnter: string;
16
31
  fullscreenExit: string;
17
32
  playbackSpeed: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { HopePlayerElement } from './HopePlayerElement';
2
- export { HopePlayerElement };
1
+ import { HopePlayerElement, HOPE_PLAYER_VERSION } from './HopePlayerElement';
2
+ export { HopePlayerElement, HOPE_PLAYER_VERSION };
3
3
  export type { PlaybackEngineInfo } from './hls/SourceManager';
4
- export type { HopeThemePreset, HopeLocale, HopeLocaleStrings, HopePlayerOptions, HopePlayerEventMap, AdsOptions, AdsRetryOptions, PrebidOptions, PrebidBreakOptions, PrebidBidderConfig, GestureOptions, LoopSectionOptions, InViewAutoplayOptions, StickyOptions, StickyCorner, PlayableItem, PlaylistOptions, PlaylistUiOptions, StoryOptions, StoryUiOptions, StoryGestureOptions, MarkerPopupOptions, MarkerPingOptions, MarkerAction, MarkerItem, MarkersOptions, SegmentItem, SpriteThumbnailsOptions, CountdownScreenOptions, GeoCheckerOptions, RedirectScreenSuggestion, RedirectScreenOptions, QrResumeOptions, PauseAdOptions, SkipButtonsOptions, DubbingTrack, DubbingOptions, LiveWallClockOptions, DaiOptions, LiveAdsOptions, } from './types';
4
+ export type { HopeThemePreset, HopeLocale, HopeLocaleStrings, HopePlayerOptions, HopePlayerEventMap, AdsOptions, AdsRetryOptions, PrebidOptions, PrebidBreakOptions, PrebidBidderConfig, GestureOptions, LoopSectionOptions, InViewAutoplayOptions, StickyOptions, StickyCorner, PlayableItem, PlaylistOptions, PlaylistUiOptions, StoryOptions, StoryUiOptions, StoryGestureOptions, MarkerPopupOptions, MarkerPingOptions, MarkerAction, MarkerItem, MarkersOptions, SegmentItem, SpriteThumbnailsOptions, CountdownScreenOptions, GeoCheckerOptions, RedirectScreenSuggestion, RedirectScreenOptions, QrResumeOptions, PauseAdOptions, SkipButtonsOptions, HopeHlsOptions, ContextMenuOptions, TapGesture, TapGestureType, TapRegion, TapPointer, TapAction, DubbingTrack, DubbingOptions, LiveWallClockOptions, DaiOptions, LiveAdsOptions, } from './types';
5
5
  export type { SettingsSubmenuDef, SettingsSubmenuItem } from './controls/SettingsMenu';
6
6
  declare global {
7
7
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EACR,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,GACjB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,aAAa,EAAE,iBAAiB,CAAC;KACpC;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM7E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EACR,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,GACjB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,aAAa,EAAE,iBAAiB,CAAC;KACpC;CACJ"}
@@ -6,10 +6,15 @@ export interface LiveWallClockPlayerContext {
6
6
  addControlElement(el: HTMLElement): void;
7
7
  /** UI dili (chrome metinleri) — `options.locale` (Intl saat biçimlendirme locale'i, ör. 'tr-TR') ile KARIŞTIRILMASIN, ayrı bir kavram. */
8
8
  i18n: HopeLocaleStrings;
9
+ /**
10
+ * Şu an oynatılan anın gerçek tarihi — HLS `EXT-X-PROGRAM-DATE-TIME`'dan (hls.js `playingDate`, Safari `getStartDate()`).
11
+ * Yoksa null; saat o zaman "canlı uçtan geride kalınan süre"den tahmin edilir.
12
+ */
13
+ getPlayingDate?(): Date | null;
9
14
  }
10
15
  /**
11
- * Canlı yayında duvar saati + seek bar hover tooltip'i. Canlı uç = seekable (yoksa buffered) sonu;
12
- * uç anının şu anki duvar saati olduğu varsayılır.
16
+ * Canlı yayında duvar saati + seek bar hover tooltip'i. Yayında PROGRAM-DATE-TIME varsa saat doğrudan oradan okunur
17
+ * (encoder/CDN gecikmesi dahil doğru); yoksa canlı uç (seekable, yoksa buffered sonu) anının şu anki saat olduğu varsayılır.
13
18
  */
14
19
  export declare class LiveWallClock {
15
20
  private readonly ctx;
@@ -27,6 +32,10 @@ export declare class LiveWallClock {
27
32
  private isLive;
28
33
  /** Canlı edge'in media-time'ı (saniye) — seekable aralığının sonu; seekable boşsa (bkz. isLive notu) buffered aralığının sonu. */
29
34
  private liveEdge;
35
+ /** Geri sarılabilir pencerenin başı — kayan pencereli canlıda 0 değil (ör. 3600). */
36
+ private windowStart;
37
+ /** `mediaTime` anının duvar saati (ms) — PROGRAM-DATE-TIME varsa ondan, yoksa canlı uca göre tahmin. */
38
+ private wallClockAt;
30
39
  private startClockTick;
31
40
  private stopClockTick;
32
41
  private renderClock;
@@ -1 +1 @@
1
- {"version":3,"file":"LiveWallClock.d.ts","sourceRoot":"","sources":["../../../src/plugins/live/LiveWallClock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,WAAW,CAAC;IACvB,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC;IACzC,0IAA0I;IAC1I,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AASD;;;GAGG;AACH,qBAAa,aAAa;IAWlB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAVxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IAEzD,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAuB;gBAG1B,GAAG,EAAE,0BAA0B,EAChD,OAAO,GAAE,oBAAyB;IAwBtC,aAAa,IAAI,IAAI;IAIrB,OAAO,IAAI,IAAI;IAUf,4GAA4G;IAC5G,OAAO,CAAC,MAAM;IAId,kIAAkI;IAClI,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAI1B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAK1B;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAMzB;IAEF,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;IAmCrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,cAAc;CAQzB"}
1
+ {"version":3,"file":"LiveWallClock.d.ts","sourceRoot":"","sources":["../../../src/plugins/live/LiveWallClock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,WAAW,CAAC;IACvB,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC;IACzC,0IAA0I;IAC1I,IAAI,EAAE,iBAAiB,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC;CAClC;AASD;;;GAGG;AACH,qBAAa,aAAa;IAWlB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAVxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IAEzD,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAuB;gBAG1B,GAAG,EAAE,0BAA0B,EAChD,OAAO,GAAE,oBAAyB;IAwBtC,aAAa,IAAI,IAAI;IAIrB,OAAO,IAAI,IAAI;IAUf,4GAA4G;IAC5G,OAAO,CAAC,MAAM;IAId,kIAAkI;IAClI,OAAO,CAAC,QAAQ;IAOhB,qFAAqF;IACrF,OAAO,CAAC,WAAW;IAOnB,wGAAwG;IACxG,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAI1B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAK1B;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAMzB;IAEF,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,cAAc;CAQzB"}
@@ -0,0 +1,49 @@
1
+ import type { HopeLocaleStrings } from '../../i18n/types';
2
+ import type { PlaybackEngineInfo } from '../../hls/SourceManager';
3
+ /** hls.js instance'ından okunan alanlar — tam tipi içe aktarmamak için. */
4
+ interface HlsStatsSource {
5
+ currentLevel: number;
6
+ autoLevelEnabled: boolean;
7
+ levels: {
8
+ height: number;
9
+ width: number;
10
+ bitrate: number;
11
+ videoCodec?: string;
12
+ audioCodec?: string;
13
+ details?: {
14
+ live: boolean;
15
+ };
16
+ }[];
17
+ bandwidthEstimate: number;
18
+ latency: number;
19
+ config: {
20
+ maxBufferLength: number;
21
+ };
22
+ }
23
+ export interface StatsPlayerContext {
24
+ videoEl: HTMLVideoElement;
25
+ containerEl: HTMLElement;
26
+ i18n: HopeLocaleStrings;
27
+ version: string;
28
+ getEngine(): PlaybackEngineInfo;
29
+ getHls(): HlsStatsSource | null;
30
+ }
31
+ /** Sağ tık menüsündeki "İstatistikler" — player üstünde canlı teknik bilgi paneli (YouTube'daki "Stats for nerds" gibi). */
32
+ export declare class StatsPanel {
33
+ private readonly ctx;
34
+ private readonly el;
35
+ private readonly titleEl;
36
+ private readonly closeBtn;
37
+ private readonly body;
38
+ private timer;
39
+ constructor(ctx: StatsPlayerContext);
40
+ get isVisible(): boolean;
41
+ show(): void;
42
+ hide(): void;
43
+ toggle(force?: boolean): void;
44
+ refreshLabels(): void;
45
+ destroy(): void;
46
+ private render;
47
+ }
48
+ export {};
49
+ //# sourceMappingURL=StatsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatsPanel.d.ts","sourceRoot":"","sources":["../../../src/plugins/stats/StatsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,2EAA2E;AAC3E,UAAU,cAAc;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IACpI,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,IAAI,kBAAkB,CAAC;IAChC,MAAM,IAAI,cAAc,GAAG,IAAI,CAAC;CACnC;AAID,4HAA4H;AAC5H,qBAAa,UAAU;IAOP,OAAO,CAAC,QAAQ,CAAC,GAAG;IANhC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,KAAK,CAA+C;gBAE/B,GAAG,EAAE,kBAAkB;IA0BpD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,IAAI,IAAI;IAMZ,IAAI,IAAI,IAAI;IAMZ,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAK7B,aAAa,IAAI,IAAI;IAMrB,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,MAAM;CAuCjB"}
@@ -0,0 +1,5 @@
1
+ import { StatsPanel, type StatsPlayerContext } from './StatsPanel';
2
+ export declare function installStats(ctx: StatsPlayerContext): StatsPanel;
3
+ export { StatsPanel };
4
+ export type { StatsPlayerContext };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/stats/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEnE,wBAAgB,YAAY,CAAC,GAAG,EAAE,kBAAkB,GAAG,UAAU,CAEhE;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HopeStory.d.ts","sourceRoot":"","sources":["../../../src/plugins/story/HopeStory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HopeStory.d.ts","sourceRoot":"","sources":["../../../src/plugins/story/HopeStory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,wGAAwG;IACxG,WAAW,EAAE,WAAW,CAAC;IACzB,wHAAwH;IACxH,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAED,KAAK,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAW3B,sFAAsF;AACtF,qBAAa,SAAS;IAoCd,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IApC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6E;IACrG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;IAC9E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IAEvC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,IAAI,CAA4F;IAExG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAiBlB;gBAGmB,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,YAAY;IAwB7C,aAAa,IAAI,IAAI;IAOrB,OAAO,IAAI,IAAI;IAuBf,IAAI,CAAC,aAAa,UAAO,GAAG,IAAI;IAUhC,IAAI,CAAC,aAAa,UAAO,GAAG,IAAI;IAU1B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,GAAG,GAAG,IAAW,EAAE,aAAa,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB7F,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAUjC,OAAO,CAAC,QAAQ;IA2FhB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,OAAO;YAuBD,QAAQ;IA0BtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,MAAM;IAkCd,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAItB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAE5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAE1B;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI3B;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAgBtB;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAI5B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAmB5B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAgB1B;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAiBxB;IAIF,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,SAAS;CAMpB"}
@@ -0,0 +1,38 @@
1
+ import type { TapGesture } from '../../types';
2
+ export declare const DEFAULT_TAP_GESTURES: TapGesture[];
3
+ export interface TapGesturesPlayerContext {
4
+ /** Bölge hesabı için dokunulan alan (video alanı). */
5
+ areaEl: HTMLElement;
6
+ seekBy(delta: number): void;
7
+ togglePlay(): void;
8
+ toggleFullscreen(): void;
9
+ toggleMute(): void;
10
+ }
11
+ export type TapPointerType = 'touch' | 'mouse' | 'pen';
12
+ /**
13
+ * Ekranın sol/orta/sağ bölgesine çoklu dokunuş hareketleri (options.tapGestures). Bir bölgede tanımlı hareket varsa
14
+ * tek dokunuşun normal davranışı (oynat/duraklat) hareket penceresi kadar bekletilir; ikinci dokunuş gelmezse uygulanır.
15
+ */
16
+ export declare class TapGestures {
17
+ private readonly ctx;
18
+ private gestures;
19
+ private count;
20
+ private lastRegion;
21
+ private lastPointer;
22
+ private pendingTimer;
23
+ private chain;
24
+ constructor(ctx: TapGesturesPlayerContext, gestures: TapGesture[]);
25
+ setGestures(gestures: TapGesture[]): void;
26
+ /**
27
+ * Video alanına bir dokunuş. `true` = dokunuşu bu modül üstlendi (tek dokunuş davranışı gerekirse
28
+ * `singleTap` ile sonradan çağrılır); `false` = bu bölge/işaretçi için hareket yok, normal davranış hemen uygulansın.
29
+ */
30
+ handleTap(clientX: number, pointer: TapPointerType, singleTap: () => void): boolean;
31
+ destroy(): void;
32
+ private fire;
33
+ private run;
34
+ private regionAt;
35
+ private clearPending;
36
+ private reset;
37
+ }
38
+ //# sourceMappingURL=TapGestures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TapGestures.d.ts","sourceRoot":"","sources":["../../../src/plugins/tap-gestures/TapGestures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA6B,MAAM,aAAa,CAAC;AAazE,eAAO,MAAM,oBAAoB,EAAE,UAAU,EAG5C,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACrC,sDAAsD;IACtD,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,IAAI,IAAI,CAAC;IACnB,gBAAgB,IAAI,IAAI,CAAC;IACzB,UAAU,IAAI,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvD;;;GAGG;AACH,qBAAa,WAAW;IAShB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARxB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,KAAK,CAAmG;gBAG3F,GAAG,EAAE,wBAAwB,EAC9C,QAAQ,EAAE,UAAU,EAAE;IAK1B,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI;IAKzC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO;IA4CnF,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,GAAG;IAiBX,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,KAAK;CAOhB"}
@@ -0,0 +1,6 @@
1
+ import { TapGestures, DEFAULT_TAP_GESTURES, type TapGesturesPlayerContext, type TapPointerType } from './TapGestures';
2
+ import type { TapGesture } from '../../types';
3
+ export declare function installTapGestures(ctx: TapGesturesPlayerContext, gestures: TapGesture[]): TapGestures;
4
+ export { TapGestures, DEFAULT_TAP_GESTURES };
5
+ export type { TapGesturesPlayerContext, TapPointerType };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/tap-gestures/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,KAAK,wBAAwB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACtH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,WAAW,CAErG;AAED,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;AAC7C,YAAY,EAAE,wBAAwB,EAAE,cAAc,EAAE,CAAC"}
@@ -17,8 +17,17 @@ export declare class ErrorScreen {
17
17
  setOnRetry(fn: () => void): void;
18
18
  /** false dönerse hata gösterilmez (ör. SourceManager native HLS'ten hls.js'e geçerken). */
19
19
  setShouldShow(fn: () => boolean): void;
20
+ /**
21
+ * hls.js'in ölümcül hataları `video.error` üretmez — player donmuş görünmesin diye ekran elle açılır.
22
+ * `code`: MediaError kodu (2 = ağ, 3 = çözümleme).
23
+ */
24
+ showStreamError(code: 2 | 3): void;
25
+ /** Yeni kaynak yüklenirken önceki hatayı kapat. */
26
+ dismiss(): void;
20
27
  get visible(): boolean;
21
28
  refreshLabels(): void;
29
+ /** showStreamError ile açılan hatanın kodu (video.error yokken). */
30
+ private streamErrorCode;
22
31
  private readonly show;
23
32
  private render;
24
33
  private hide;
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorScreen.d.ts","sourceRoot":"","sources":["../../src/screens/ErrorScreen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMvD;;;GAGG;AACH,qBAAa,WAAW;IACpB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,UAAU,CAA6B;gBAEnC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB;IA0C9D,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIhC,2FAA2F;IAC3F,aAAa,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI;IAItC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,aAAa,IAAI,IAAI;IAKrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAOnB;IAEF,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,IAAI;IAIZ,OAAO,IAAI,IAAI;CAGlB"}
1
+ {"version":3,"file":"ErrorScreen.d.ts","sourceRoot":"","sources":["../../src/screens/ErrorScreen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMvD;;;GAGG;AACH,qBAAa,WAAW;IACpB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,UAAU,CAA6B;gBAEnC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB;IA0C9D,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIhC,2FAA2F;IAC3F,aAAa,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI;IAItC;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI;IAOlC,mDAAmD;IACnD,OAAO,IAAI,IAAI;IAKf,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,aAAa,IAAI,IAAI;IAKrB,oEAAoE;IACpE,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAOnB;IAEF,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,IAAI;IAIZ,OAAO,IAAI,IAAI;CAGlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CaptionRenderer.d.ts","sourceRoot":"","sources":["../../src/subtitles/CaptionRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAmE3D,kHAAkH;AAClH,qBAAa,eAAe;IACxB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAoB;IACvE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAsB;IAE3E,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,MAAM,CAAoB;IAElC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,OAAO,CAAmE;IAClF,OAAO,CAAC,SAAS,CAAuE;IACxF,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,6FAA6F;IAC7F,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAEpC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB;IA6B9G,sEAAsE;IACtE,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAO7C,WAAW,IAAI,eAAe;IAI9B,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAcxC,UAAU,IAAI,MAAM;IAIpB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAU/B,YAAY,IAAI,MAAM;IAItB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUjC,4CAA4C;IAC5C,aAAa,IAAI,IAAI;IAIrB,mDAAmD;IACnD,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAK9C,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAkB1B;IAEF,OAAO,CAAC,MAAM;IAgBd,OAAO,CAAC,QAAQ;IAOhB,uHAAuH;IACvH,OAAO,CAAC,WAAW;IAwBnB,sJAAsJ;IACtJ,+HAA+H;IAC/H,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMxC,iBAAiB,IAAI,IAAI;IAKzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAY5B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAK5B;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAQ/B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAkB1B;IAEF,OAAO,IAAI,IAAI;CAMlB"}
1
+ {"version":3,"file":"CaptionRenderer.d.ts","sourceRoot":"","sources":["../../src/subtitles/CaptionRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAmE3D,kHAAkH;AAClH,qBAAa,eAAe;IACxB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAoB;IACvE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAsB;IAE3E,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,MAAM,CAAoB;IAElC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,OAAO,CAAmE;IAClF,OAAO,CAAC,SAAS,CAAuE;IACxF,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,6FAA6F;IAC7F,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAEpC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB;IA6B9G,sEAAsE;IACtE,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAO7C,WAAW,IAAI,eAAe;IAI9B,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAcxC,UAAU,IAAI,MAAM;IAIpB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAU/B,YAAY,IAAI,MAAM;IAItB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUjC,4CAA4C;IAC5C,aAAa,IAAI,IAAI;IAIrB,mDAAmD;IACnD,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAK9C,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAkB1B;IAEF,OAAO,CAAC,MAAM;IAgBd,OAAO,CAAC,QAAQ;IAOhB,uHAAuH;IACvH,OAAO,CAAC,WAAW;IA0BnB,sJAAsJ;IACtJ,+HAA+H;IAC/H,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMxC,iBAAiB,IAAI,IAAI;IAKzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAY5B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAK5B;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAQ/B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAkB1B;IAEF,OAAO,IAAI,IAAI;CAMlB"}
@@ -9,6 +9,13 @@ interface ParsedCue {
9
9
  settings: string;
10
10
  text: string;
11
11
  }
12
+ /** Havuz kapsamı: `options.subtitles` izleri ile yayının (HLS manifest / CEA-608) izleri birbirini temizlemesin. */
13
+ export type TrackScope = 'options' | 'stream';
14
+ export declare function isPooledTrack(track: TextTrack): boolean;
15
+ /** Havuzdan iz al (yoksa oluştur) — kapalı ve boş döner. */
16
+ export declare function pooledTrack(video: HTMLVideoElement, scope: TrackScope, kind: TextTrackKind, label: string, lang: string): TextTrack;
17
+ /** Bir kapsamdaki tüm havuz izlerini kapatıp boşaltır. */
18
+ export declare function clearPooledTracks(video: HTMLVideoElement, scope: TrackScope): void;
12
19
  /**
13
20
  * Altyazıları <track> elementi yerine VTT'yi kendimiz indirip addTextTrack + VTTCue ile ekliyoruz.
14
21
  * iOS WebKit <track>'leri "out-of-band" iz olarak AVFoundation'a veriyor ve bu, geçerli bir VTT'de bile
@@ -16,7 +23,7 @@ interface ParsedCue {
16
23
  * ama tarayıcı çizmez (CaptionRenderer çizer).
17
24
  */
18
25
  export declare function attachSubtitleTracks(video: HTMLVideoElement, subtitles: HopeSubtitleOption[]): AttachedTrack[];
19
- /** Tüm havuz izlerini kapatıp boşaltır (altyazısız kaynağa geçiş). */
26
+ /** `options.subtitles` izlerini kapatıp boşaltır (altyazısız kaynağa geçiş). */
20
27
  export declare function clearSubtitleTracks(video: HTMLVideoElement): void;
21
28
  /** Yalnızca seçilen track'i 'hidden' yapar, diğerlerini kapatır (null = hepsini kapat). */
22
29
  export declare function selectSubtitleTrack(tracks: AttachedTrack[], label: string | null): TextTrack | null;
@@ -1 +1 @@
1
- {"version":3,"file":"attachTracks.d.ts","sourceRoot":"","sources":["../../src/subtitles/attachTracks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,SAAS;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAOD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,aAAa,EAAE,CAoB9G;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAQjE;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAQnG;AA8BD,iHAAiH;AACjH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CActD"}
1
+ {"version":3,"file":"attachTracks.d.ts","sourceRoot":"","sources":["../../src/subtitles/attachTracks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,SAAS;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,oHAAoH;AACpH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAS9C,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEvD;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAWnI;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAQlF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,aAAa,EAAE,CAW9G;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAGjE;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAQnG;AA8BD,iHAAiH;AACjH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CActD"}
@@ -1,3 +1,4 @@
1
+ import type { HlsConfig } from 'hls.js';
1
2
  import type { HopeLocale, HopeLocaleStrings } from '../i18n/types';
2
3
  export type { HopeLocale, HopeLocaleStrings };
3
4
  /** Hazır tema preset'leri — bkz. theme/tailwind.css ve docs/THEMING.md. */
@@ -331,6 +332,38 @@ export interface RedirectScreenOptions {
331
332
  url: string;
332
333
  suggestions?: RedirectScreenSuggestion[];
333
334
  }
335
+ /** `options.hls` — HLS (.m3u8) oynatma ayarları. */
336
+ export interface HopeHlsOptions {
337
+ /**
338
+ * `'auto'` (varsayılan): Safari/iOS'ta tarayıcının kendi HLS oynatıcısı, diğerlerinde hls.js.
339
+ * `'hls.js'`: MSE/ManagedMediaSource varsa her yerde hls.js — Safari'de de kalite/ses menüsü ve buffer ayarları.
340
+ * `'native'`: tarayıcı destekliyorsa her zaman kendi HLS oynatıcısı.
341
+ */
342
+ engine?: 'auto' | 'hls.js' | 'native';
343
+ /** hls.js ayarları — olduğu gibi `new Hls(config)`'e geçer (buffer, ABR, düşük gecikme, ağ...). Yalnızca hls.js ile oynarken etkili. */
344
+ config?: Partial<HlsConfig>;
345
+ /** Manifest/segment isteklerinde cookie ve kimlik bilgisi gönder (CORS `credentials: include`). */
346
+ withCredentials?: boolean;
347
+ }
348
+ /** Çoklu dokunuş hareketi türü — ileride `'tripletap'` eklenebilir. */
349
+ export type TapGestureType = 'doubletap';
350
+ /** Ekranın bölgesi: sol/sağ üçte bir, orta, ya da tamamı. */
351
+ export type TapRegion = 'left' | 'center' | 'right' | 'full';
352
+ export type TapPointer = 'touch' | 'mouse' | 'pen' | 'any';
353
+ export type TapAction = 'seekStep' | 'togglePlay' | 'toggleFullscreen' | 'toggleMute';
354
+ export interface TapGesture {
355
+ type: TapGestureType;
356
+ region: TapRegion;
357
+ /** Hangi işaretçiyle — varsayılan `'touch'` (masaüstünde çift tık normal davranışını korur). */
358
+ pointer?: TapPointer;
359
+ action: TapAction;
360
+ /** `seekStep` için saniye; negatif = geri. Verilmezse solda -10, sağda +10. */
361
+ value?: number;
362
+ }
363
+ export interface ContextMenuOptions {
364
+ /** Menüye "İstatistikler" satırı ekler — player üstünde canlı teknik bilgi paneli açar. Varsayılan false. */
365
+ stats?: boolean;
366
+ }
334
367
  export interface SkipButtonsOptions {
335
368
  /** Geri sarma süresi (sn); `false` geri butonunu gizler. Varsayılan 10. */
336
369
  back?: number | false;
@@ -405,6 +438,8 @@ export interface HopePlayerOptions {
405
438
  playbackRates?: number[];
406
439
  /** Fare video üzerinden ayrılınca kontrol çubuğunun/merkez play butonunun kaybolmadan önce beklediği süre (ms). Varsayılan 1200. */
407
440
  autoHideDelayMs?: number;
441
+ /** Video oynarken fare bu süre (ms) kıpırdamazsa imleç gizlenir; `false` = hiç gizleme. Varsayılan 5000. */
442
+ cursorHideDelayMs?: number | false;
408
443
  /**
409
444
  * Sayfa açılınca ne kadarının önceden yükleneceği (HTML `preload`). Varsayılan `'metadata'`:
410
445
  * yalnızca süre/boyut bilgisi — veri harcamaz, süre ve ilk kare hazır olur.
@@ -418,6 +453,12 @@ export interface HopePlayerOptions {
418
453
  skipButtons?: boolean | SkipButtonsOptions;
419
454
  /** ←/→ ve J/L klavye kısayollarıyla kaç saniye sarılır. Varsayılan 5. */
420
455
  keyboardSeekStep?: number;
456
+ /** HLS oynatma ayarları — motor seçimi, hls.js config'i (buffer/ABR/düşük gecikme), kimlik bilgisi. */
457
+ hls?: HopeHlsOptions;
458
+ /** Sağ tık menüsü (player adı + sürüm). Varsayılan açık; `false` tarayıcının kendi menüsünü geri getirir. */
459
+ contextMenu?: boolean | ContextMenuOptions;
460
+ /** Ekranın sol/sağına çift dokunma hareketleri. `true` = solda 10 sn geri, sağda 10 sn ileri (dokunmatik). Varsayılan kapalı. */
461
+ tapGestures?: boolean | TapGesture[];
421
462
  /**
422
463
  * UI dili — hazır gelen `'tr'` (varsayılan) / `'en'`, ya da herhangi bir
423
464
  * string (yalnızca `labels` ile TAM override veriliyorsa). Kontrol