@tivio/sdk-js 2.0.0-alpha3 → 2.2.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 +22 -8
- package/dist/api.types.d.ts +31 -9
- package/dist/conf.d.ts +36 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +1 -1
- package/dist/services/bundleLoader.d.ts +2 -1
- package/dist/services/getProgramTimestamps.d.ts +6 -0
- package/dist/services/playerWrapper.d.ts +28 -0
- package/dist/services/playerWrapperInternal.d.ts +28 -0
- package/dist/types.d.ts +2 -1
- package/package.json +3 -1
package/README.md
CHANGED
@@ -12,14 +12,28 @@ yarn add @tivio/sdk-js
|
|
12
12
|
|
13
13
|
# Changelog
|
14
14
|
|
15
|
-
* 2.
|
16
|
-
* add
|
17
|
-
*
|
18
|
-
*
|
19
|
-
|
20
|
-
* minor:
|
21
|
-
*
|
22
|
-
*
|
15
|
+
* 2.2.0
|
16
|
+
* minor: add `getProgramTimestamps`
|
17
|
+
* minor: add `addEventListener('markers', ...)` to player wrapper
|
18
|
+
* minor: add optional `calibrationId` parameter to `setSource`
|
19
|
+
* 2.1.0
|
20
|
+
* minor: better es5 polyfills
|
21
|
+
* patch: add `verbose` to Tivio config type
|
22
|
+
* patch: add `bundleUrlOverride` to Tivio config type
|
23
|
+
* patch: fix of registering player wrapper when `createPlayerWrapper` is called after tivio init
|
24
|
+
* 2.0.0
|
25
|
+
* requires core-js at least 1.13.0
|
26
|
+
* major: remove `createPlayerWrapper` from Tivio API object
|
27
|
+
* major: rename `positionMs` to `startFromPosition`
|
28
|
+
* minor: add `createPlayerWrapper` to the root of the @tivio-sdk-js package, it's not necessary to wait until
|
29
|
+
`createTivio` is finished before using it but it is still necessary to call `createTivio` at some point
|
30
|
+
* minor: add (optional) `capabilitiesOptions` and `deviceCapabilities` options to Tivio config
|
31
|
+
* minor: add fetch polyfill
|
32
|
+
* minor: better source types documentation
|
33
|
+
* minor: add `streamStart` to `TvProgramSource`
|
34
|
+
* minor: add `continueFromPosition` to `TvProgramSource`, `TivioVodSource`, `OtherSource` and `LiveTvChannelSource`
|
35
|
+
* minor: `live_tv_channel` source type does pass-through instead of stopping the `setSource` action
|
36
|
+
* minor: add `forceCloudFnResolver` option to Tivio config
|
23
37
|
* 1.1.0
|
24
38
|
* minor: fallback to fetch bundle by cloud fn when indexedDB not supported
|
25
39
|
* minor: transpile to es5
|
package/dist/api.types.d.ts
CHANGED
@@ -134,17 +134,38 @@ declare type AdMetadata = {
|
|
134
134
|
totalCount: number | null;
|
135
135
|
skip: () => void;
|
136
136
|
} | null;
|
137
|
+
interface Marker {
|
138
|
+
id: string;
|
139
|
+
from: Date;
|
140
|
+
to: Date;
|
141
|
+
relativeFromMs: number;
|
142
|
+
relativeToMs: number;
|
143
|
+
type: 'AD' | 'AD_SEGMENT' | 'START' | 'END' | 'INTRO';
|
144
|
+
}
|
137
145
|
declare enum PlayerWrapperEventType {
|
138
|
-
adMetadata = "adMetadata"
|
146
|
+
adMetadata = "adMetadata",
|
147
|
+
markers = "markers"
|
139
148
|
}
|
140
|
-
declare type
|
141
|
-
|
149
|
+
declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
150
|
+
declare type ListenerAdMetadata = (metadata: AdMetadata) => void;
|
151
|
+
declare type ListenerMarkers = (marker: Marker[] | null) => void;
|
152
|
+
declare type Listener = ListenerAdMetadata | ListenerMarkers;
|
153
|
+
interface TivioPlayerWrapper {
|
154
|
+
addEventListener: (eventType: PlayerWrapperEventTypeType, listener: Listener) => void;
|
142
155
|
reportError: (error: Error) => void;
|
143
156
|
reportPlaybackEnded: () => void;
|
144
157
|
reportTimeProgress: (ms: number) => void;
|
145
158
|
seekTo: (ms: number) => void;
|
146
159
|
setSource: (source: Source | null) => void;
|
147
|
-
}
|
160
|
+
}
|
161
|
+
interface PlayerInterfaceForPlayerWrapper {
|
162
|
+
/**
|
163
|
+
* @param {number} ms - milliseconds relative to start of video (relative to 0 ms)
|
164
|
+
* or in case of TV programs relative to start of the program (relative to source.from ms)
|
165
|
+
*/
|
166
|
+
seekTo: (ms: number) => void;
|
167
|
+
setSource: (source: Source | null) => void;
|
168
|
+
}
|
148
169
|
declare type ExposedApi = {
|
149
170
|
AdSource: any;
|
150
171
|
ChannelSource: any;
|
@@ -269,9 +290,10 @@ declare type ExposedApi = {
|
|
269
290
|
* @param password
|
270
291
|
*/
|
271
292
|
signInWithEmailAndPassword: (email: string, password: string) => Promise<void>;
|
272
|
-
createPlayerWrapper: (playerImplementation:
|
273
|
-
|
274
|
-
|
275
|
-
|
293
|
+
createPlayerWrapper: (playerImplementation: PlayerInterfaceForPlayerWrapper) => TivioPlayerWrapper;
|
294
|
+
getProgramTimestamps: (channelName: string, epgFrom: Date, epgTo: Date) => Promise<{
|
295
|
+
startTimestamp?: number;
|
296
|
+
endTimestamp?: number;
|
297
|
+
} | null>;
|
276
298
|
};
|
277
|
-
export { AdMetadata, AdSource, ExposedApi, LiveTvChannelSource, OtherSource, PlayerWrapperEventType, Source, TivioPlayerWrapper, TivioVodSource, TvProgramSource, };
|
299
|
+
export type { AdMetadata, AdSource, ExposedApi, LiveTvChannelSource, OtherSource, PlayerInterfaceForPlayerWrapper, PlayerWrapperEventType, PlayerWrapperEventTypeType, Source, TivioPlayerWrapper, TivioVodSource, TvProgramSource, Marker, ListenerAdMetadata, ListenerMarkers, Listener, };
|
package/dist/conf.d.ts
CHANGED
@@ -5,7 +5,32 @@
|
|
5
5
|
import { Logger } from './services/logger';
|
6
6
|
import { FetchPackage } from './services/packageLoader';
|
7
7
|
import { Conf as ExternalConf } from './types';
|
8
|
+
export interface PlayerCapability {
|
9
|
+
codec: 'h264' | 'h265';
|
10
|
+
encryption: 'fairplay' | 'none' | 'playready' | 'widevine';
|
11
|
+
protocol: 'dash' | 'hls';
|
12
|
+
}
|
8
13
|
export declare type InternalConf = {
|
14
|
+
/**
|
15
|
+
* @private URL of remote code bundle to be fetched directly (without using resolver)
|
16
|
+
*/
|
17
|
+
bundleUrlOverride?: string;
|
18
|
+
/**
|
19
|
+
* Tells Tivio which technologies/protocols etc. is the device capable to play.
|
20
|
+
* If not provided, Tivio will try to guess it (based on the browser).
|
21
|
+
*/
|
22
|
+
deviceCapabilities?: PlayerCapability[];
|
23
|
+
/**
|
24
|
+
* Additional options for deviceCapabilities
|
25
|
+
*/
|
26
|
+
capabilitiesOptions?: {
|
27
|
+
/**
|
28
|
+
* Should the player prefer HTTP sources instead HTTPs if they are available.
|
29
|
+
* This can be used on platforms that support mixed content but do not support
|
30
|
+
* specific HTTPS certificates. (e.g. certificates from Letsencrypt not supported on LG TVs)
|
31
|
+
*/
|
32
|
+
preferHttp?: boolean;
|
33
|
+
};
|
9
34
|
secret: string;
|
10
35
|
resolverUrl: string;
|
11
36
|
logger?: Logger | null;
|
@@ -13,9 +38,19 @@ export declare type InternalConf = {
|
|
13
38
|
language?: string;
|
14
39
|
sdkVersion: string;
|
15
40
|
/**
|
16
|
-
*
|
41
|
+
* Can force using bundle resolver method which doesn't depend on indexedDB (useful when some polyfill
|
42
|
+
* for indexedDB is used but indexedDB is not fully supported - it leads to situation where check for indexedDB
|
43
|
+
* presence passes but resolver fails anyway).
|
44
|
+
*/
|
45
|
+
forceCloudFnResolver?: boolean;
|
46
|
+
/**
|
47
|
+
* Can turn off Tivio's Sentry logging, defaults to true.
|
17
48
|
*/
|
18
49
|
enableSentry?: boolean;
|
50
|
+
/**
|
51
|
+
* Can turn on Tivio's console logging, defaults to false.
|
52
|
+
*/
|
53
|
+
verbose?: boolean;
|
19
54
|
};
|
20
55
|
export declare const defaultConf: {
|
21
56
|
resolverUrl: string;
|
package/dist/index.d.ts
CHANGED