react-native-theoplayer 11.2.0 → 11.3.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 (79) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +30 -0
  4. package/android/src/main/java/com/theoplayer/abr/ABRConfigurationAdapter.kt +21 -0
  5. package/android/src/main/java/com/theoplayer/source/SourceAdapter.kt +38 -1
  6. package/android/src/main/java/com/theoplayer/track/TrackListAdapter.kt +2 -0
  7. package/ios/THEOplayerRCTPlayerAPI.swift +29 -13
  8. package/ios/THEOplayerRCTSourceDescriptionBuilder.swift +31 -6
  9. package/ios/THEOplayerRCTTrackMetadataAggregator.swift +35 -16
  10. package/ios/THEOplayerRCTView.swift +3 -0
  11. package/ios/cmcd/THEOplayerRCTView+CmcdConfig.swift +36 -0
  12. package/lib/commonjs/api/barrel.js +36 -25
  13. package/lib/commonjs/api/barrel.js.map +1 -1
  14. package/lib/commonjs/api/cmcd/CmcdConfiguration.js +67 -0
  15. package/lib/commonjs/api/cmcd/CmcdConfiguration.js.map +1 -0
  16. package/lib/commonjs/api/cmcd/barrel.js.map +1 -0
  17. package/lib/commonjs/api/source/barrel.js +5 -16
  18. package/lib/commonjs/api/source/barrel.js.map +1 -1
  19. package/lib/commonjs/api/track/TextTrack.js.map +1 -1
  20. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js +13 -4
  21. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  22. package/lib/commonjs/internal/adapter/web/TrackUtils.js +2 -0
  23. package/lib/commonjs/internal/adapter/web/TrackUtils.js.map +1 -1
  24. package/lib/commonjs/manifest.json +1 -1
  25. package/lib/module/api/barrel.js +1 -0
  26. package/lib/module/api/barrel.js.map +1 -1
  27. package/lib/module/api/cmcd/CmcdConfiguration.js +67 -0
  28. package/lib/module/api/cmcd/CmcdConfiguration.js.map +1 -0
  29. package/lib/module/api/cmcd/barrel.js.map +1 -0
  30. package/lib/module/api/source/barrel.js +0 -1
  31. package/lib/module/api/source/barrel.js.map +1 -1
  32. package/lib/module/api/track/TextTrack.js.map +1 -1
  33. package/lib/module/internal/adapter/THEOplayerWebAdapter.js +13 -4
  34. package/lib/module/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  35. package/lib/module/internal/adapter/web/TrackUtils.js +2 -0
  36. package/lib/module/internal/adapter/web/TrackUtils.js.map +1 -1
  37. package/lib/module/manifest.json +1 -1
  38. package/lib/typescript/api/abr/ABRConfiguration.d.ts +2 -2
  39. package/lib/typescript/api/barrel.d.ts +1 -0
  40. package/lib/typescript/api/barrel.d.ts.map +1 -1
  41. package/lib/typescript/api/cmcd/CmcdConfiguration.d.ts +166 -0
  42. package/lib/typescript/api/cmcd/CmcdConfiguration.d.ts.map +1 -0
  43. package/lib/typescript/api/cmcd/barrel.d.ts.map +1 -0
  44. package/lib/typescript/api/config/PlayerConfiguration.d.ts +10 -0
  45. package/lib/typescript/api/config/PlayerConfiguration.d.ts.map +1 -1
  46. package/lib/typescript/api/source/SourceDescription.d.ts +2 -2
  47. package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
  48. package/lib/typescript/api/source/barrel.d.ts +0 -1
  49. package/lib/typescript/api/source/barrel.d.ts.map +1 -1
  50. package/lib/typescript/api/track/TextTrack.d.ts +4 -0
  51. package/lib/typescript/api/track/TextTrack.d.ts.map +1 -1
  52. package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts.map +1 -1
  53. package/lib/typescript/internal/adapter/web/TrackUtils.d.ts.map +1 -1
  54. package/package.json +1 -1
  55. package/react-native-theoplayer.podspec +1 -1
  56. package/src/api/abr/ABRConfiguration.ts +2 -2
  57. package/src/api/barrel.ts +1 -0
  58. package/src/api/cmcd/CmcdConfiguration.ts +175 -0
  59. package/src/api/config/PlayerConfiguration.ts +11 -0
  60. package/src/api/source/SourceDescription.ts +2 -2
  61. package/src/api/source/barrel.ts +0 -1
  62. package/src/api/track/TextTrack.ts +5 -0
  63. package/src/internal/adapter/THEOplayerWebAdapter.ts +9 -4
  64. package/src/internal/adapter/web/TrackUtils.ts +2 -1
  65. package/src/manifest.json +1 -1
  66. package/lib/commonjs/api/source/cmcd/CmcdConfiguration.js +0 -27
  67. package/lib/commonjs/api/source/cmcd/CmcdConfiguration.js.map +0 -1
  68. package/lib/commonjs/api/source/cmcd/barrel.js.map +0 -1
  69. package/lib/module/api/source/cmcd/CmcdConfiguration.js +0 -24
  70. package/lib/module/api/source/cmcd/CmcdConfiguration.js.map +0 -1
  71. package/lib/module/api/source/cmcd/barrel.js.map +0 -1
  72. package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts +0 -83
  73. package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts.map +0 -1
  74. package/lib/typescript/api/source/cmcd/barrel.d.ts.map +0 -1
  75. package/src/api/source/cmcd/CmcdConfiguration.ts +0 -88
  76. /package/lib/commonjs/api/{source/cmcd → cmcd}/barrel.js +0 -0
  77. /package/lib/module/api/{source/cmcd → cmcd}/barrel.js +0 -0
  78. /package/lib/typescript/api/{source/cmcd → cmcd}/barrel.d.ts +0 -0
  79. /package/src/api/{source/cmcd → cmcd}/barrel.ts +0 -0
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Configuration for a CMCD endpoint.
3
+ *
4
+ * @remarks
5
+ * <br/> - Available since v11.4.0.
6
+ *
7
+ * @category CMCD
8
+ * @public
9
+ */
10
+ export interface CmcdEndpointConfiguration {
11
+ /**
12
+ * The URL of the CMCD endpoint.
13
+ */
14
+ url: string;
15
+ }
16
+
17
+ /**
18
+ * Describes the CMCD (Common Media Client Data) configuration for event mode reporting at the player level.
19
+ *
20
+ * @remarks
21
+ * <br/> - Available since v11.4.0.
22
+ * <br/> - This configuration is set at the player level. For source-level configuration, see {@link CmcdSourceConfiguration}.
23
+ *
24
+ * @category CMCD
25
+ * @category Player
26
+ * @public
27
+ */
28
+ export interface CmcdPlayerConfiguration {
29
+ /**
30
+ * An external session ID that can be used to identify the current playback session.
31
+ */
32
+ externalSessionId?: string;
33
+
34
+ /**
35
+ * A user ID that can be used to identify the user.
36
+ */
37
+ userId?: string;
38
+
39
+ /**
40
+ * A list of CMCD endpoints to which events should be sent.
41
+ */
42
+ eventEndpoints?: CmcdEndpointConfiguration[];
43
+ }
44
+
45
+ /**
46
+ * Describes the CMCD (Common Media Client Data) configuration at the source level.
47
+ *
48
+ * @remarks
49
+ * <ul>
50
+ * <li>Event mode reporting available since v11.4.0.</li>
51
+ * <li>
52
+ * This extends the player-level {@link CmcdPlayerConfiguration} by additionally allowing a session ID to be specified
53
+ * per source. Source-level values take precedence over player-level values for overlapping fields,
54
+ * except for `eventEndpoints` which are merged (both player and source endpoints receive events).
55
+ * </li>
56
+ * </ul>
57
+ *
58
+ * @category CMCD
59
+ * @category Source
60
+ * @public
61
+ */
62
+ export interface CmcdSourceConfiguration extends CmcdPlayerConfiguration {
63
+ /**
64
+ * The content ID parameter which should be passed as a CMCD value. If left empty, no content ID will be sent.
65
+ *
66
+ * @platform web
67
+ *
68
+ * @remarks Request mode only
69
+ */
70
+ contentID?: string;
71
+ /**
72
+ * A GUID identifying the current playback session. If left empty, a UUIDv4 will be generated when applying the configuration.
73
+ *
74
+ * @remarks
75
+ * <ul>
76
+ * <li>A playback session typically consists of the playback of a single media
77
+ * asset along with accompanying content such as advertisements. The maximum length is 64 characters.
78
+ * It is RECOMMENDED to conform to the UUID specification (https://tools.ietf.org/html/rfc4122).
79
+ * </li>
80
+ * <li>Event mode only for iOS and Android</li>
81
+ * </ul>
82
+ */
83
+ sessionID?: string;
84
+
85
+ /**
86
+ * A flag to indicate if request IDs should be sent or not.
87
+ * When set to a truthy value, a UUIDv4 will be sent as a request id (`rid`) with every request to allow for request tracing.
88
+ *
89
+ * @platform web
90
+ *
91
+ * @remarks Request mode only
92
+ */
93
+ sendRequestID?: boolean;
94
+
95
+ /**
96
+ * The target URI where client data is to be delivered in case the {@link transmissionMode} is set
97
+ * to {@link CmcdTransmissionMode.JSON_OBJECT}.
98
+ *
99
+ * @platform web
100
+ *
101
+ * @remarks Request mode only
102
+ */
103
+ jsonObjectTargetURI?: string;
104
+
105
+ /**
106
+ * An object containing custom keys which should be added to the generated CMCD parameters.
107
+ * Note custom keys MUST carry a hyphenated prefix to ensure that there will not be a namespace collision with future
108
+ * revisions to the specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
109
+ *
110
+ * @platform web
111
+ *
112
+ * @remarks Request mode only
113
+ */
114
+ customKeys?: {
115
+ [key: string]: string | number | boolean;
116
+ };
117
+
118
+ /**
119
+ * The data transmission mode as defined in section 2 of the specification.
120
+ *
121
+ * @remarks
122
+ * <ul>
123
+ * <li>Starting from version 11.4.0, this property is now optional. By providing a value, request mode will be
124
+ * enabled as it was before. If left undefined, the SDK will not use request mode.</li>
125
+ * <li>Request mode only</li>
126
+ * </ul>
127
+ */
128
+ transmissionMode?: CmcdTransmissionMode
129
+ }
130
+
131
+ /**
132
+ * The configuration for transmitting information to Content Delivery Networks (CDNs)
133
+ * through Common Media Client Data (CMCD) (CTA-5004)
134
+ *
135
+ * @category CMCD
136
+ * @category Source
137
+ * @public
138
+ *
139
+ * @deprecated Use {@link CmcdSourceConfiguration} instead.
140
+ */
141
+ export type CmcdConfiguration = CmcdSourceConfiguration;
142
+
143
+ /**
144
+ * The CMCD transmission mode.
145
+ *
146
+ * @category Source
147
+ * @public
148
+ */
149
+ export enum CmcdTransmissionMode {
150
+ /**
151
+ * Transmit CMCD data as a custom HTTP request header.
152
+ *
153
+ * @remarks
154
+ * Usage of a custom header from a web browser user-agent will trigger a preflight OPTIONS request before each unique
155
+ * media object request. This will lead to an increased request rate against the server. As a result, for CMCD
156
+ * transmissions from web browser user-agents that require CORS-preflighting per URL,
157
+ * the preferred mode of use is query arguments.
158
+ */
159
+ HTTP_HEADER,
160
+ /**
161
+ * Transmit CMCD data as a HTTP query argument.
162
+ */
163
+ QUERY_ARGUMENT,
164
+ /**
165
+ * Transmit CMCD data as a JSON object independent of the HTTP object request.
166
+ */
167
+ JSON_OBJECT,
168
+ /**
169
+ * Use the default transmission mode for each SDK:
170
+ * - Web: Query arguments
171
+ * - Android: Query arguments
172
+ * - iOS: HTTP request headers
173
+ */
174
+ SDK_DEFAULT
175
+ }
@@ -4,6 +4,7 @@ import type { MediaControlConfiguration } from '../media/MediaControlConfigurati
4
4
  import type { RetryConfiguration } from '../utils/RetryConfiguration';
5
5
  import type { UIConfiguration } from '../ui/UIConfiguration';
6
6
  import { TheoLiveConfiguration } from '../theolive/TheoLiveConfiguration';
7
+ import type { CmcdPlayerConfiguration } from '../cmcd/CmcdConfiguration';
7
8
 
8
9
  /**
9
10
  * Describes a player's configuration.
@@ -142,6 +143,16 @@ export interface PlayerConfiguration {
142
143
  * <br/> - Any user-defined overrides are still respected.
143
144
  */
144
145
  useSystemCaptionStyle?: boolean;
146
+
147
+ /**
148
+ * The CMCD configuration for the player.
149
+ *
150
+ * @remarks
151
+ * <br/> - Available since v11.4.0.
152
+ * <br/> - Configures event mode reporting for Common Media Client Data (CTA-5004).
153
+ * <br/> - Source-level configuration can override player-level values. See {@link CmcdSourceConfiguration}.
154
+ */
155
+ cmcd?: CmcdPlayerConfiguration;
145
156
  }
146
157
 
147
158
  /**
@@ -14,7 +14,7 @@ import type { AdDescription } from './ads/Ads';
14
14
  import type { MetadataDescription } from './metadata/MetadataDescription';
15
15
  import type { ServerSideAdInsertionConfiguration } from './ads/ssai/ServerSideAdInsertionConfiguration';
16
16
  import type { AnalyticsDescription } from './analytics/AnalyticsDescription';
17
- import { CmcdConfiguration } from './cmcd/CmcdConfiguration';
17
+ import { CmcdSourceConfiguration } from '../cmcd/CmcdConfiguration';
18
18
  import { SourceLatencyConfiguration } from './latency/SourceLatencyConfiguration';
19
19
 
20
20
  /**
@@ -109,7 +109,7 @@ export interface SourceConfiguration {
109
109
  * The configuration for transmitting information to Content Delivery Networks (CDNs)
110
110
  * through Common Media Client Data (CMCD) (CTA-5004)
111
111
  */
112
- cmcd?: CmcdConfiguration;
112
+ cmcd?: CmcdSourceConfiguration;
113
113
  }
114
114
 
115
115
  /**
@@ -1,6 +1,5 @@
1
1
  export * from './ads/barrel';
2
2
  export * from './analytics/barrel';
3
- export * from './cmcd/barrel';
4
3
  export * from './drm/barrel';
5
4
  export * from './dash/barrel';
6
5
  export * from './hls/barrel';
@@ -150,6 +150,11 @@ export interface TextTrack extends Track {
150
150
  */
151
151
  readonly forced: boolean;
152
152
 
153
+ /**
154
+ * The in-band metadata track dispatch type of the text track.
155
+ */
156
+ readonly inBandMetadataTrackDispatchType: string;
157
+
153
158
  /**
154
159
  * The closed caption service number of the text track.
155
160
  *
@@ -95,11 +95,16 @@ export class THEOplayerWebAdapter extends DefaultEventDispatcher<PlayerEventMap>
95
95
  set source(source: SourceDescription | undefined) {
96
96
  this._targetVideoQuality = undefined;
97
97
  if (this._player) {
98
- this._player.source = source as NativeSourceDescription;
99
- if (source?.cmcd && this._cmcdConnector === undefined) {
100
- this._cmcdConnector = createCMCDConnector(this._player);
98
+ this._player.source = (
99
+ source?.cmcd ? { ...source, cmcd: { ...source.cmcd, sessionId: source.cmcd.sessionID } } : source
100
+ ) as NativeSourceDescription;
101
+ const requestModeEnabled = source?.cmcd?.transmissionMode !== undefined;
102
+ if (requestModeEnabled) {
103
+ this._cmcdConnector ??= createCMCDConnector(this._player);
104
+ this._cmcdConnector?.reconfigure(this.toWebCmcdConfiguration(source?.cmcd));
105
+ } else {
106
+ this._cmcdConnector?.reconfigure(undefined);
101
107
  }
102
- this._cmcdConnector?.reconfigure(this.toWebCmcdConfiguration(source?.cmcd));
103
108
  }
104
109
  }
105
110
 
@@ -41,7 +41,7 @@ export function fromNativeTextTrackList(tracks: NativeTextTrackList): TextTrack[
41
41
  }
42
42
 
43
43
  export function fromNativeTextTrack(track: NativeTextTrack): TextTrack {
44
- const { id, uid, kind, label, language, mode, type, src, forced, captionChannel } = track;
44
+ const { id, uid, kind, label, language, mode, type, src, forced, inBandMetadataTrackDispatchType, captionChannel } = track;
45
45
 
46
46
  return {
47
47
  id,
@@ -53,6 +53,7 @@ export function fromNativeTextTrack(track: NativeTextTrack): TextTrack {
53
53
  type,
54
54
  src,
55
55
  forced,
56
+ inBandMetadataTrackDispatchType,
56
57
  captionChannel,
57
58
  cues: track.cues ? track.cues.map((cue) => fromNativeCue(cue)) : [],
58
59
  } as TextTrack;
package/src/manifest.json CHANGED
@@ -1 +1 @@
1
- {"version":"11.2.0","buildDate":"2026-06-04T15:04:43.174Z"}
1
+ {"version":"11.3.0","buildDate":"2026-06-19T06:51:55.916Z"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CmcdTransmissionMode = void 0;
7
- /**
8
- * The configuration for transmitting information to Content Delivery Networks (CDNs)
9
- * through Common Media Client Data (CMCD) (CTA-5004)
10
- *
11
- * @category Source
12
- * @public
13
- */
14
- /**
15
- * The CMCD transmission mode.
16
- *
17
- * @category Source
18
- * @public
19
- */
20
- let CmcdTransmissionMode = exports.CmcdTransmissionMode = /*#__PURE__*/function (CmcdTransmissionMode) {
21
- CmcdTransmissionMode[CmcdTransmissionMode["HTTP_HEADER"] = 0] = "HTTP_HEADER";
22
- CmcdTransmissionMode[CmcdTransmissionMode["QUERY_ARGUMENT"] = 1] = "QUERY_ARGUMENT";
23
- CmcdTransmissionMode[CmcdTransmissionMode["JSON_OBJECT"] = 2] = "JSON_OBJECT";
24
- CmcdTransmissionMode[CmcdTransmissionMode["SDK_DEFAULT"] = 3] = "SDK_DEFAULT";
25
- return CmcdTransmissionMode;
26
- }({});
27
- //# sourceMappingURL=CmcdConfiguration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CmcdTransmissionMode","exports"],"sourceRoot":"../../../../../src","sources":["api/source/cmcd/CmcdConfiguration.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAiDA;AACA;AACA;AACA;AACA;AACA;AALA,IAMYA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_CmcdConfiguration","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../../../../src","sources":["api/source/cmcd/barrel.ts"],"mappings":";;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,kBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * The configuration for transmitting information to Content Delivery Networks (CDNs)
5
- * through Common Media Client Data (CMCD) (CTA-5004)
6
- *
7
- * @category Source
8
- * @public
9
- */
10
-
11
- /**
12
- * The CMCD transmission mode.
13
- *
14
- * @category Source
15
- * @public
16
- */
17
- export let CmcdTransmissionMode = /*#__PURE__*/function (CmcdTransmissionMode) {
18
- CmcdTransmissionMode[CmcdTransmissionMode["HTTP_HEADER"] = 0] = "HTTP_HEADER";
19
- CmcdTransmissionMode[CmcdTransmissionMode["QUERY_ARGUMENT"] = 1] = "QUERY_ARGUMENT";
20
- CmcdTransmissionMode[CmcdTransmissionMode["JSON_OBJECT"] = 2] = "JSON_OBJECT";
21
- CmcdTransmissionMode[CmcdTransmissionMode["SDK_DEFAULT"] = 3] = "SDK_DEFAULT";
22
- return CmcdTransmissionMode;
23
- }({});
24
- //# sourceMappingURL=CmcdConfiguration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CmcdTransmissionMode"],"sourceRoot":"../../../../../src","sources":["api/source/cmcd/CmcdConfiguration.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiDA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["api/source/cmcd/barrel.ts"],"mappings":";;AAAA,cAAc,qBAAqB","ignoreList":[]}
@@ -1,83 +0,0 @@
1
- /**
2
- * The configuration for transmitting information to Content Delivery Networks (CDNs)
3
- * through Common Media Client Data (CMCD) (CTA-5004)
4
- *
5
- * @category Source
6
- * @public
7
- */
8
- export interface CmcdConfiguration {
9
- /**
10
- * The content ID parameter which should be passed as a CMCD value. If left empty, no content ID will be sent.
11
- *
12
- * @platform web
13
- */
14
- contentID?: string;
15
- /**
16
- * The session ID parameter which should be passed as a CMCD value. If left empty, a UUIDv4 will be generated when applying the configuration.
17
- *
18
- * @platform web
19
- */
20
- sessionID?: string;
21
- /**
22
- * A flag to indicate if request IDs should be sent or not.
23
- * When set to a truthy value, a UUIDv4 will be sent as a request id (`rid`) with every request to allow for request tracing.
24
- *
25
- * @platform web
26
- */
27
- sendRequestID?: boolean;
28
- /**
29
- * The target URI where client data is to be delivered in case the {@link transmissionMode} is set
30
- * to {@link CmcdTransmissionMode.JSON_OBJECT}.
31
- *
32
- * @platform web
33
- */
34
- jsonObjectTargetURI?: string;
35
- /**
36
- * An object containing custom keys which should be added to the generated CMCD parameters.
37
- * Note custom keys MUST carry a hyphenated prefix to ensure that there will not be a namespace collision with future
38
- * revisions to the specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
39
- *
40
- * @platform web
41
- */
42
- customKeys?: {
43
- [key: string]: string | number | boolean;
44
- };
45
- /**
46
- * The data transmission mode as defined in section 2 of the specification.
47
- */
48
- transmissionMode: CmcdTransmissionMode;
49
- }
50
- /**
51
- * The CMCD transmission mode.
52
- *
53
- * @category Source
54
- * @public
55
- */
56
- export declare enum CmcdTransmissionMode {
57
- /**
58
- * Transmit CMCD data as a custom HTTP request header.
59
- *
60
- * @remarks
61
- * Usage of a custom header from a web browser user-agent will trigger a preflight OPTIONS request before each unique
62
- * media object request. This will lead to an increased request rate against the server. As a result, for CMCD
63
- * transmissions from web browser user-agents that require CORS-preflighting per URL,
64
- * the preferred mode of use is query arguments.
65
- */
66
- HTTP_HEADER = 0,
67
- /**
68
- * Transmit CMCD data as a HTTP query argument.
69
- */
70
- QUERY_ARGUMENT = 1,
71
- /**
72
- * Transmit CMCD data as a JSON object independent of the HTTP object request.
73
- */
74
- JSON_OBJECT = 2,
75
- /**
76
- * Use the default transmission mode for each SDK:
77
- * - Web: Query arguments
78
- * - Android: Query arguments
79
- * - iOS: HTTP request headers
80
- */
81
- SDK_DEFAULT = 3
82
- }
83
- //# sourceMappingURL=CmcdConfiguration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CmcdConfiguration.d.ts","sourceRoot":"","sources":["../../../../../src/api/source/cmcd/CmcdConfiguration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;KAC1C,CAAC;IAEF;;OAEG;IACH,gBAAgB,EAAE,oBAAoB,CAAA;CACvC;AAED;;;;;GAKG;AACH,oBAAY,oBAAoB;IAC9B;;;;;;;;OAQG;IACH,WAAW,IAAA;IACX;;OAEG;IACH,cAAc,IAAA;IACd;;OAEG;IACH,WAAW,IAAA;IACX;;;;;OAKG;IACH,WAAW,IAAA;CACZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../../../../../src/api/source/cmcd/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -1,88 +0,0 @@
1
- /**
2
- * The configuration for transmitting information to Content Delivery Networks (CDNs)
3
- * through Common Media Client Data (CMCD) (CTA-5004)
4
- *
5
- * @category Source
6
- * @public
7
- */
8
- export interface CmcdConfiguration {
9
- /**
10
- * The content ID parameter which should be passed as a CMCD value. If left empty, no content ID will be sent.
11
- *
12
- * @platform web
13
- */
14
- contentID?: string;
15
-
16
- /**
17
- * The session ID parameter which should be passed as a CMCD value. If left empty, a UUIDv4 will be generated when applying the configuration.
18
- *
19
- * @platform web
20
- */
21
- sessionID?: string;
22
-
23
- /**
24
- * A flag to indicate if request IDs should be sent or not.
25
- * When set to a truthy value, a UUIDv4 will be sent as a request id (`rid`) with every request to allow for request tracing.
26
- *
27
- * @platform web
28
- */
29
- sendRequestID?: boolean;
30
-
31
- /**
32
- * The target URI where client data is to be delivered in case the {@link transmissionMode} is set
33
- * to {@link CmcdTransmissionMode.JSON_OBJECT}.
34
- *
35
- * @platform web
36
- */
37
- jsonObjectTargetURI?: string;
38
-
39
- /**
40
- * An object containing custom keys which should be added to the generated CMCD parameters.
41
- * Note custom keys MUST carry a hyphenated prefix to ensure that there will not be a namespace collision with future
42
- * revisions to the specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
43
- *
44
- * @platform web
45
- */
46
- customKeys?: {
47
- [key: string]: string | number | boolean;
48
- };
49
-
50
- /**
51
- * The data transmission mode as defined in section 2 of the specification.
52
- */
53
- transmissionMode: CmcdTransmissionMode
54
- }
55
-
56
- /**
57
- * The CMCD transmission mode.
58
- *
59
- * @category Source
60
- * @public
61
- */
62
- export enum CmcdTransmissionMode {
63
- /**
64
- * Transmit CMCD data as a custom HTTP request header.
65
- *
66
- * @remarks
67
- * Usage of a custom header from a web browser user-agent will trigger a preflight OPTIONS request before each unique
68
- * media object request. This will lead to an increased request rate against the server. As a result, for CMCD
69
- * transmissions from web browser user-agents that require CORS-preflighting per URL,
70
- * the preferred mode of use is query arguments.
71
- */
72
- HTTP_HEADER,
73
- /**
74
- * Transmit CMCD data as a HTTP query argument.
75
- */
76
- QUERY_ARGUMENT,
77
- /**
78
- * Transmit CMCD data as a JSON object independent of the HTTP object request.
79
- */
80
- JSON_OBJECT,
81
- /**
82
- * Use the default transmission mode for each SDK:
83
- * - Web: Query arguments
84
- * - Android: Query arguments
85
- * - iOS: HTTP request headers
86
- */
87
- SDK_DEFAULT
88
- }
File without changes
File without changes