@vkontakte/videoplayer-statistics 1.0.100-dev.04f0bb5f.0 → 1.0.100-dev.319d6ebf.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.
Files changed (46) hide show
  1. package/es2018.cjs +3 -3
  2. package/es2018.esm.js +3 -3
  3. package/es2024.cjs +3 -3
  4. package/es2024.esm.js +3 -3
  5. package/esnext.cjs +3 -3
  6. package/esnext.esm.js +3 -3
  7. package/evergreen.esm.js +3 -3
  8. package/package.json +3 -3
  9. package/types/ShareVSID.d.ts +3 -3
  10. package/types/index.d.ts +6 -5
  11. package/types/mediascopePixel/MediascopePixel.d.ts +36 -36
  12. package/types/mediascopePixel/Stopwatch.d.ts +10 -10
  13. package/types/mediascopePixel/types.d.ts +5 -5
  14. package/types/oneStat/Api.d.ts +35 -34
  15. package/types/oneStat/ApiTransport.d.ts +19 -19
  16. package/types/oneStat/Logger.d.ts +35 -35
  17. package/types/oneStat/OneStat.d.ts +309 -307
  18. package/types/oneStat/config.d.ts +32 -32
  19. package/types/oneStat/env.d.ts +3 -3
  20. package/types/oneStat/index.d.ts +9 -6
  21. package/types/oneStat/types.d.ts +43 -43
  22. package/types/oneStat/uiEvents.d.ts +19 -19
  23. package/types/oneStat/utils/mappers.d.ts +2 -2
  24. package/types/oneStat/utils/shorten.d.ts +1 -1
  25. package/types/oneStat/utils/timeSynchronisation.d.ts +8 -8
  26. package/types/oneStat/utils/watchCoverage.d.ts +4 -4
  27. package/types/oneStat/values.d.ts +63 -64
  28. package/types/shared/useModeController.d.ts +6 -5
  29. package/types/thinOneStat/Api.d.ts +32 -32
  30. package/types/thinOneStat/ApiTransport.d.ts +19 -19
  31. package/types/thinOneStat/Logger.d.ts +35 -35
  32. package/types/thinOneStat/ThinOneStat.d.ts +271 -271
  33. package/types/thinOneStat/config.d.ts +21 -20
  34. package/types/thinOneStat/env.d.ts +3 -3
  35. package/types/thinOneStat/events.d.ts +21 -21
  36. package/types/thinOneStat/index.d.ts +6 -4
  37. package/types/thinOneStat/types.d.ts +24 -24
  38. package/types/thinOneStat/utils/calculateTotalViewTime.d.ts +2 -2
  39. package/types/thinOneStat/utils/downloadBytes.d.ts +4 -4
  40. package/types/thinOneStat/utils/mappers.d.ts +3 -2
  41. package/types/thinOneStat/utils/timeSynchronisation.d.ts +8 -8
  42. package/types/thinOneStat/utils/watchCoverage.d.ts +4 -4
  43. package/types/thinOneStat/utils/watchedN.d.ts +5 -5
  44. package/types/thinOneStat/values.d.ts +67 -67
  45. package/es2015.cjs +0 -6
  46. package/es2015.esm.js +0 -6
@@ -1,351 +1,351 @@
1
- import type { ISubscription, IValueObservable, Milliseconds } from '@vkontakte/videoplayer-shared';
2
- import { ValueSubject } from '@vkontakte/videoplayer-shared';
3
- import type { IPlayer } from '@vkontakte/videoplayer-core';
4
- import type { IOptionalConfig } from './config';
5
- import { Mode, Quality, ActionSeekType, AutoQuality, Visibility, ConnectionType, ContentType } from './values';
6
- import type { IAdsEvents, IUIEvents } from './events';
1
+ import type { ISubscription, IValueObservable, Milliseconds } from "@vkontakte/videoplayer-shared";
2
+ import { ValueSubject } from "@vkontakte/videoplayer-shared";
3
+ import type { IPlayer } from "@vkontakte/videoplayer-core";
4
+ import type { IOptionalConfig } from "./config";
5
+ import type { Mode, Quality, Visibility, ConnectionType, ContentType } from "./values";
6
+ import { ActionSeekType, AutoQuality } from "./values";
7
+ import type { IAdsEvents, IUIEvents } from "./events";
7
8
  export interface IThinOneStat {
8
- vsid$: IValueObservable<string | undefined>;
9
- isid$: IValueObservable<string | undefined>;
10
- /**
11
- * Лучше авторизоваться сразу, чтобы избежать ситуации:
12
- * 1. Накапливаем запросы в очереди через debounce send
13
- * 2. Пользователь закрывает приложение
14
- * 3. Запрос пытается уйти через sendBeacon и падает без авторизации
15
- */
16
- authorize(authToken?: string): Promise<unknown>;
17
- /**
18
- * Обновляет общие параметры событий
19
- */
20
- updateContext(context: Partial<IStatContext>): void;
21
- /**
22
- * Привязываемся к событиям и разным изменениям состояний плеера
23
- */
24
- attachTo(player: IPlayer, adsEvents: IAdsEvents): ISubscription;
25
- attachToUi(uiEvents: IUIEvents): ISubscription;
26
- attachToAds(adsEvents: IAdsEvents): ISubscription;
27
- /**
28
- * Идентификатор текущего устройства
29
- */
30
- getDeviceId(): string;
31
- getTotalViewTime(): Milliseconds;
32
- /**
33
- * Деструктор класса
34
- */
35
- destroy(): void;
9
+ vsid$: IValueObservable<string | undefined>;
10
+ isid$: IValueObservable<string | undefined>;
11
+ /**
12
+ * Лучше авторизоваться сразу, чтобы избежать ситуации:
13
+ * 1. Накапливаем запросы в очереди через debounce send
14
+ * 2. Пользователь закрывает приложение
15
+ * 3. Запрос пытается уйти через sendBeacon и падает без авторизации
16
+ */
17
+ authorize(authToken?: string): Promise<unknown>;
18
+ /**
19
+ * Обновляет общие параметры событий
20
+ */
21
+ updateContext(context: Partial<IStatContext>): void;
22
+ /**
23
+ * Привязываемся к событиям и разным изменениям состояний плеера
24
+ */
25
+ attachTo(player: IPlayer, adsEvents: IAdsEvents): ISubscription;
26
+ attachToUi(uiEvents: IUIEvents): ISubscription;
27
+ attachToAds(adsEvents: IAdsEvents): ISubscription;
28
+ /**
29
+ * Идентификатор текущего устройства
30
+ */
31
+ getDeviceId(): string;
32
+ getTotalViewTime(): Milliseconds;
33
+ /**
34
+ * Деструктор класса
35
+ */
36
+ destroy(): void;
36
37
  }
37
38
  export interface IStatContext {
38
- movieId?: number;
39
- deviceId?: string;
40
- preload?: boolean;
41
- targetDuration?: Milliseconds;
42
- inHistory?: boolean;
43
- recomInfo?: Record<string, unknown>;
44
- product?: string;
45
- navigation?: Record<string, unknown>;
46
- application?: string;
47
- platform?: string;
48
- os?: string;
49
- osVersion?: string;
50
- browser?: string;
51
- browserVersion?: string;
52
- deviceType?: string;
53
- deviceManufacturer?: string;
54
- deviceModel?: string;
55
- isMobile?: boolean;
56
- networkType?: string;
57
- dpi?: number;
58
- playerSize?: {
59
- width: number;
60
- height: number;
61
- };
62
- /**
63
- * Плеер в режиме превью.
64
- */
65
- isPreviewPlayerView?: boolean;
39
+ movieId?: number;
40
+ deviceId?: string;
41
+ preload?: boolean;
42
+ targetDuration?: Milliseconds;
43
+ inHistory?: boolean;
44
+ recomInfo?: Record<string, unknown>;
45
+ product?: string;
46
+ navigation?: Record<string, unknown>;
47
+ application?: string;
48
+ platform?: string;
49
+ os?: string;
50
+ osVersion?: string;
51
+ browser?: string;
52
+ browserVersion?: string;
53
+ deviceType?: string;
54
+ deviceManufacturer?: string;
55
+ deviceModel?: string;
56
+ isMobile?: boolean;
57
+ networkType?: string;
58
+ dpi?: number;
59
+ playerSize?: {
60
+ width: number;
61
+ height: number;
62
+ };
63
+ /**
64
+ * Плеер в режиме превью.
65
+ */
66
+ isPreviewPlayerView?: boolean;
66
67
  }
67
68
  export interface IConstructorParams {
68
- config: IOptionalConfig;
69
- userSalt?: string;
70
- refreshAuthToken?: () => Promise<string | undefined>;
71
- isid?: string;
72
- useIsid?: boolean;
69
+ config: IOptionalConfig;
70
+ userSalt?: string;
71
+ refreshAuthToken?: () => Promise<string | undefined>;
72
+ isid?: string;
73
+ useIsid?: boolean;
73
74
  }
74
75
  export interface IWatchCoveragePayload {
75
- watch_interval: string;
76
- in_history: boolean;
77
- content_type?: ContentType;
78
- playback_quality?: string;
79
- recom_info?: Record<string, unknown>;
76
+ watch_interval: string;
77
+ in_history: boolean;
78
+ content_type?: ContentType;
79
+ playback_quality?: string;
80
+ recom_info?: Record<string, unknown>;
80
81
  }
81
82
  export interface IWatchCoverageLivePayload extends IWatchCoveragePayload {
82
- live: boolean;
83
+ live: boolean;
83
84
  }
84
85
  export interface IWatchedNPayload {
85
- target_duration: Milliseconds;
86
- current_tvt: Milliseconds;
86
+ target_duration: Milliseconds;
87
+ current_tvt: Milliseconds;
87
88
  }
88
89
  export interface IStartSessionPayload {
89
- isid?: string;
90
- stream_profile?: 'live' | 'vod';
91
- dpi: number;
92
- web_layout: 'desktop' | 'mobile';
93
- iframe_host?: string | 'unknown' | null;
94
- from_downloads?: boolean;
95
- preloaded?: boolean;
96
- navigation?: Record<string, unknown>;
97
- recom_info?: Record<string, unknown>;
90
+ isid?: string;
91
+ stream_profile?: "live" | "vod";
92
+ dpi: number;
93
+ web_layout: "desktop" | "mobile";
94
+ iframe_host?: string | "unknown" | null;
95
+ from_downloads?: boolean;
96
+ preloaded?: boolean;
97
+ navigation?: Record<string, unknown>;
98
+ recom_info?: Record<string, unknown>;
98
99
  }
99
100
  export interface IPreloadStartedPayload {
100
- target_buffer_time?: Milliseconds;
101
- playback_url?: string;
102
- playback_quality?: Quality;
101
+ target_buffer_time?: Milliseconds;
102
+ playback_url?: string;
103
+ playback_quality?: Quality;
103
104
  }
104
105
  export interface IPreloadEndedPayload {
105
- buffer_time?: Milliseconds;
106
+ buffer_time?: Milliseconds;
106
107
  }
107
108
  export interface IPlaybackStartedPayload {
108
- playback_quality?: Quality;
109
- user_quality?: Quality | AutoQuality;
110
- player_width?: number;
111
- player_height?: number;
112
- muted?: boolean;
113
- sound_volume?: number;
114
- buffer_time?: Milliseconds;
115
- mode?: Mode;
116
- visibility?: Visibility;
117
- subtitles_enabled?: boolean;
118
- auto_subtitles?: boolean;
119
- audio_track_lang?: string;
120
- playback_rate?: number;
121
- recom_info?: Record<string, unknown>;
109
+ playback_quality?: Quality;
110
+ user_quality?: Quality | AutoQuality;
111
+ player_width?: number;
112
+ player_height?: number;
113
+ muted?: boolean;
114
+ sound_volume?: number;
115
+ buffer_time?: Milliseconds;
116
+ mode?: Mode;
117
+ visibility?: Visibility;
118
+ subtitles_enabled?: boolean;
119
+ auto_subtitles?: boolean;
120
+ audio_track_lang?: string;
121
+ playback_rate?: number;
122
+ recom_info?: Record<string, unknown>;
122
123
  }
123
124
  export interface IManifestRequestPayload {
124
- playback_url?: string;
125
- cdn_host?: string;
126
- connection_type?: ConnectionType;
127
- connection_reused?: boolean;
125
+ playback_url?: string;
126
+ cdn_host?: string;
127
+ connection_type?: ConnectionType;
128
+ connection_reused?: boolean;
128
129
  }
129
130
  export interface IFirstByteManifestPayload {
130
- playback_url?: string;
131
- cdn_host?: string;
132
- connection_type?: ConnectionType;
133
- connection_reused?: boolean;
131
+ playback_url?: string;
132
+ cdn_host?: string;
133
+ connection_type?: ConnectionType;
134
+ connection_reused?: boolean;
134
135
  }
135
136
  export interface IFirstMediaRequestPayload {
136
- playback_url?: string;
137
- cdn_host?: string;
138
- connection_type?: ConnectionType;
139
- connection_reused?: boolean;
137
+ playback_url?: string;
138
+ cdn_host?: string;
139
+ connection_type?: ConnectionType;
140
+ connection_reused?: boolean;
140
141
  }
141
142
  export interface IFirstByteMediaPayload {
142
- playback_url?: string;
143
- cdn_host?: string;
144
- connection_type?: ConnectionType;
145
- connection_reused?: boolean;
143
+ playback_url?: string;
144
+ cdn_host?: string;
145
+ connection_type?: ConnectionType;
146
+ connection_reused?: boolean;
146
147
  }
147
148
  export interface IManifestReceivedPayload {
148
- playback_url?: string;
149
- cdn_host?: string;
150
- connection_type?: ConnectionType;
151
- connection_reused?: boolean;
149
+ playback_url?: string;
150
+ cdn_host?: string;
151
+ connection_type?: ConnectionType;
152
+ connection_reused?: boolean;
152
153
  }
153
154
  export interface IConnectionEstablishedPayload {
154
- playback_url?: string;
155
- cdn_host?: string;
156
- connection_type?: ConnectionType;
157
- connection_reused?: boolean;
158
- rtt?: Milliseconds;
159
- network_type?: string;
160
- dns_resolve_time?: number;
161
- tcp_handshake_time?: number;
162
- tls_handshake_time?: number;
155
+ playback_url?: string;
156
+ cdn_host?: string;
157
+ connection_type?: ConnectionType;
158
+ connection_reused?: boolean;
159
+ rtt?: Milliseconds;
160
+ network_type?: string;
161
+ dns_resolve_time?: number;
162
+ tcp_handshake_time?: number;
163
+ tls_handshake_time?: number;
163
164
  }
164
165
  export interface IReadyPayload {
165
- buffer_time?: Milliseconds;
166
+ buffer_time?: Milliseconds;
166
167
  }
167
168
  export interface IPlayingPayload {
168
- buffer_time?: Milliseconds;
169
+ buffer_time?: Milliseconds;
169
170
  }
170
171
  export interface ISeekingPayload {
171
- seek_type?: ActionSeekType;
172
+ seek_type?: ActionSeekType;
172
173
  }
173
174
  export interface ISeekedPayload {
174
- seek_type?: ActionSeekType;
175
+ seek_type?: ActionSeekType;
175
176
  }
176
177
  export interface IBufferStarvationPayload {
177
- buffer_time?: Milliseconds;
178
+ buffer_time?: Milliseconds;
178
179
  }
179
180
  export interface IQualityChangeRequestedPayload {
180
- user_quality?: Quality | AutoQuality;
181
- playback_quality?: Quality;
182
- download_quality?: Quality;
183
- codec_info?: string;
181
+ user_quality?: Quality | AutoQuality;
182
+ playback_quality?: Quality;
183
+ download_quality?: Quality;
184
+ codec_info?: string;
184
185
  }
185
186
  export interface IQualityChangedPayload {
186
- user_quality?: Quality | AutoQuality;
187
- playback_quality?: Quality;
188
- download_quality?: Quality;
189
- codec_info?: string;
187
+ user_quality?: Quality | AutoQuality;
188
+ playback_quality?: Quality;
189
+ download_quality?: Quality;
190
+ codec_info?: string;
190
191
  }
191
192
  export interface ICdnHostChangedPayload {
192
- cdn_host?: string;
193
- connection_type?: ConnectionType;
194
- connection_reused?: boolean;
195
- content_type?: ContentType;
193
+ cdn_host?: string;
194
+ connection_type?: ConnectionType;
195
+ connection_reused?: boolean;
196
+ content_type?: ContentType;
196
197
  }
197
198
  export interface IViewPortChangedPayload {
198
- player_width?: number;
199
- player_height?: number;
199
+ player_width?: number;
200
+ player_height?: number;
200
201
  }
201
202
  export interface IModeChangedPayload {
202
- mode?: Mode;
203
+ mode?: Mode;
203
204
  }
204
205
  export interface IVisibilityChangedPayload {
205
- visibility?: Visibility;
206
+ visibility?: Visibility;
206
207
  }
207
208
  export interface IAudioTrackSwitchedPayload {
208
- audio_track_lang?: string;
209
- codec_info?: string;
209
+ audio_track_lang?: string;
210
+ codec_info?: string;
210
211
  }
211
212
  export interface IVideoTrackSwitchedPayload {
212
- hdr?: boolean;
213
- codec_info?: string;
213
+ hdr?: boolean;
214
+ codec_info?: string;
214
215
  }
215
216
  export interface ISubtitlesSwitchedPayload {
216
- subtitles_enabled?: boolean;
217
- subtitles_track_lang?: string;
218
- auto_subtitles?: boolean;
217
+ subtitles_enabled?: boolean;
218
+ subtitles_track_lang?: string;
219
+ auto_subtitles?: boolean;
219
220
  }
220
221
  export interface ISoundChangedPayload {
221
- muted?: boolean;
222
- sound_volume?: number;
222
+ muted?: boolean;
223
+ sound_volume?: number;
223
224
  }
224
225
  export interface IFailoverPayload {
225
- cdn_host?: string;
226
- connection_type?: ConnectionType;
227
- connection_reused?: boolean;
228
- content_type?: ContentType;
226
+ cdn_host?: string;
227
+ connection_type?: ConnectionType;
228
+ connection_reused?: boolean;
229
+ content_type?: ContentType;
229
230
  }
230
231
  export interface IContentTypeChangePayload {
231
- content_type?: ContentType;
232
- cdn_host?: string;
233
- connection_type?: ConnectionType;
234
- connection_reused?: boolean;
232
+ content_type?: ContentType;
233
+ cdn_host?: string;
234
+ connection_type?: ConnectionType;
235
+ connection_reused?: boolean;
235
236
  }
236
237
  export interface IErrorPayload {
237
- error_severity?: 'informative' | 'critical';
238
- error_category?: 'network' | 'video_pipeline' | 'external_api' | 'parser' | 'dom' | 'wtf' | // контентные
239
- 'sdk_init' | 'playback' | 'timeout' | 'other';
240
- player_error_code?: string;
241
- player_error_trace?: string;
242
- http_error_code?: number;
243
- uv_backend_error_code_subcode?: string;
244
- error_message?: string;
238
+ error_severity?: "informative" | "critical";
239
+ error_category?: "network" | "video_pipeline" | "external_api" | "parser" | "dom" | "wtf" | "sdk_init" | "playback" | "timeout" | "other";
240
+ player_error_code?: string;
241
+ player_error_trace?: string;
242
+ http_error_code?: number;
243
+ uv_backend_error_code_subcode?: string;
244
+ error_message?: string;
245
245
  }
246
246
  export interface IDownloadBytes {
247
- download_bytes?: number;
248
- download_speed?: number;
247
+ download_bytes?: number;
248
+ download_speed?: number;
249
249
  }
250
250
  export interface IAdvConfigurationPayload {
251
- slot?: number;
251
+ slot?: number;
252
252
  }
253
253
  export interface IAdvBreakStartedPayload {
254
- adv_section?: string;
254
+ adv_section?: string;
255
255
  }
256
256
  export interface IAdvBreakEndedPayload {
257
- adv_section?: string;
257
+ adv_section?: string;
258
258
  }
259
259
  export interface IAdvErrorPayload {
260
- error_message?: string;
260
+ error_message?: string;
261
261
  }
262
262
  export declare class ThinOneStat implements IThinOneStat {
263
- private api;
264
- private logger;
265
- private config;
266
- private subscription;
267
- private beforeunloadSubscription?;
268
- private timeSynchronisation?;
269
- private statContext;
270
- private deviceId;
271
- private targetDuration;
272
- private debugLogger;
273
- private thinOneStatDebugLog;
274
- private eventNumber;
275
- private isStarted?;
276
- private wasPaused?;
277
- private isLive?;
278
- private position;
279
- private cdnHostname?;
280
- private isEmbed;
281
- private embedHostname?;
282
- private connectionType?;
283
- private connectionReused?;
284
- private player;
285
- private playerSize;
286
- private currentSubtitle?;
287
- private uiEvents?;
288
- private seekAction$;
289
- get vsid$(): ValueSubject<string | undefined>;
290
- isid$: ValueSubject<string | undefined>;
291
- getTotalViewTime: () => Milliseconds;
292
- constructor(statContext: IStatContext, params: IConstructorParams);
293
- authorize(authToken?: string): Promise<unknown>;
294
- updateContext(newContext: Partial<IStatContext>): void;
295
- attachTo(player: IPlayer, adsEvents: IAdsEvents): ISubscription;
296
- attachToUi(events: IUIEvents): ISubscription;
297
- attachToAds(events: IAdsEvents): ISubscription;
298
- getDeviceId(): string;
299
- resetViewSession(): void;
300
- destroy(): void;
301
- private calcBufferTime;
302
- private createRequiredParams;
303
- private createRequiredFatParams;
304
- private log;
305
- private logWatchCoverage;
306
- private logWatchCoverageLive;
307
- private logWatchedN;
308
- private logStartSession;
309
- private logPreloadStarted;
310
- private logPreloadEnded;
311
- private logPreloadError;
312
- private logPlaybackStarted;
313
- private logPlay;
314
- private logManifestRequest;
315
- private logFirstByteManifest;
316
- private logFirstMediaRequest;
317
- private logFirstByteMedia;
318
- private logManifestReceived;
319
- private logConnectionEstablished;
320
- private logFirstVideoFrameDecoded;
321
- private logReady;
322
- private logPlaying;
323
- private logPause;
324
- private logResume;
325
- private logSeeking;
326
- private logSeeked;
327
- private logStop;
328
- private logBufferStarvation;
329
- private logShowLoader;
330
- private logQualityChangeRequested;
331
- private logQualityChanged;
332
- private logCdnHostChanged;
333
- private logViewPortChanged;
334
- private logModeChanged;
335
- private logVisibilityChanged;
336
- private logAudioTrackSwitched;
337
- private logVideoTrackSwitched;
338
- private logSubtitlesSwitched;
339
- private logSoundChanged;
340
- private logFailover;
341
- private logContentTypeChange;
342
- private logError;
343
- private logCannotPlay;
344
- private logDownloadBytes;
345
- private logAdvConfiguration;
346
- private logAdvRequest;
347
- private logAdvBreakStarted;
348
- private logAdvBreakEnded;
349
- private logAdvError;
350
- private resubscribeBeforeunload;
263
+ private api;
264
+ private logger;
265
+ private config;
266
+ private subscription;
267
+ private beforeunloadSubscription?;
268
+ private timeSynchronisation?;
269
+ private statContext;
270
+ private deviceId;
271
+ private targetDuration;
272
+ private debugLogger;
273
+ private thinOneStatDebugLog;
274
+ private eventNumber;
275
+ private isStarted?;
276
+ private wasPaused?;
277
+ private isLive?;
278
+ private position;
279
+ private cdnHostname?;
280
+ private isEmbed;
281
+ private embedHostname?;
282
+ private connectionType?;
283
+ private connectionReused?;
284
+ private player;
285
+ private playerSize;
286
+ private currentSubtitle?;
287
+ private uiEvents?;
288
+ private seekAction$;
289
+ get vsid$(): ValueSubject<string | undefined>;
290
+ isid$: ValueSubject<string | undefined>;
291
+ getTotalViewTime: () => Milliseconds;
292
+ constructor(statContext: IStatContext, params: IConstructorParams);
293
+ authorize(authToken?: string): Promise<unknown>;
294
+ updateContext(newContext: Partial<IStatContext>): void;
295
+ attachTo(player: IPlayer, adsEvents: IAdsEvents): ISubscription;
296
+ attachToUi(events: IUIEvents): ISubscription;
297
+ attachToAds(events: IAdsEvents): ISubscription;
298
+ getDeviceId(): string;
299
+ resetViewSession(): void;
300
+ destroy(): void;
301
+ private calcBufferTime;
302
+ private createRequiredParams;
303
+ private createRequiredFatParams;
304
+ private log;
305
+ private logWatchCoverage;
306
+ private logWatchCoverageLive;
307
+ private logWatchedN;
308
+ private logStartSession;
309
+ private logPreloadStarted;
310
+ private logPreloadEnded;
311
+ private logPreloadError;
312
+ private logPlaybackStarted;
313
+ private logPlay;
314
+ private logManifestRequest;
315
+ private logFirstByteManifest;
316
+ private logFirstMediaRequest;
317
+ private logFirstByteMedia;
318
+ private logManifestReceived;
319
+ private logConnectionEstablished;
320
+ private logFirstVideoFrameDecoded;
321
+ private logReady;
322
+ private logPlaying;
323
+ private logPause;
324
+ private logResume;
325
+ private logSeeking;
326
+ private logSeeked;
327
+ private logStop;
328
+ private logBufferStarvation;
329
+ private logShowLoader;
330
+ private logQualityChangeRequested;
331
+ private logQualityChanged;
332
+ private logCdnHostChanged;
333
+ private logViewPortChanged;
334
+ private logModeChanged;
335
+ private logVisibilityChanged;
336
+ private logAudioTrackSwitched;
337
+ private logVideoTrackSwitched;
338
+ private logSubtitlesSwitched;
339
+ private logSoundChanged;
340
+ private logFailover;
341
+ private logContentTypeChange;
342
+ private logError;
343
+ private logCannotPlay;
344
+ private logDownloadBytes;
345
+ private logAdvConfiguration;
346
+ private logAdvRequest;
347
+ private logAdvBreakStarted;
348
+ private logAdvBreakEnded;
349
+ private logAdvError;
350
+ private resubscribeBeforeunload;
351
351
  }