@aws-sdk/client-ivs 3.691.0 → 3.692.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/dist-cjs/index.js CHANGED
@@ -32,6 +32,7 @@ __export(src_exports, {
32
32
  ChannelNotBroadcasting: () => ChannelNotBroadcasting,
33
33
  ChannelType: () => ChannelType,
34
34
  ConflictException: () => ConflictException,
35
+ ContainerFormat: () => ContainerFormat,
35
36
  CreateChannelCommand: () => CreateChannelCommand,
36
37
  CreateChannelResponseFilterSensitiveLog: () => CreateChannelResponseFilterSensitiveLog,
37
38
  CreatePlaybackRestrictionPolicyCommand: () => CreatePlaybackRestrictionPolicyCommand,
@@ -66,6 +67,8 @@ __export(src_exports, {
66
67
  ListStreamSessionsCommand: () => ListStreamSessionsCommand,
67
68
  ListStreamsCommand: () => ListStreamsCommand,
68
69
  ListTagsForResourceCommand: () => ListTagsForResourceCommand,
70
+ MultitrackMaximumResolution: () => MultitrackMaximumResolution,
71
+ MultitrackPolicy: () => MultitrackPolicy,
69
72
  PendingVerification: () => PendingVerification,
70
73
  PutMetadataCommand: () => PutMetadataCommand,
71
74
  PutMetadataRequestFilterSensitiveLog: () => PutMetadataRequestFilterSensitiveLog,
@@ -285,10 +288,23 @@ var _AccessDeniedException = class _AccessDeniedException extends IvsServiceExce
285
288
  };
286
289
  __name(_AccessDeniedException, "AccessDeniedException");
287
290
  var AccessDeniedException = _AccessDeniedException;
291
+ var ContainerFormat = {
292
+ FragmentedMP4: "FRAGMENTED_MP4",
293
+ TS: "TS"
294
+ };
288
295
  var ChannelLatencyMode = {
289
296
  LowLatency: "LOW",
290
297
  NormalLatency: "NORMAL"
291
298
  };
299
+ var MultitrackMaximumResolution = {
300
+ FULL_HD: "FULL_HD",
301
+ HD: "HD",
302
+ SD: "SD"
303
+ };
304
+ var MultitrackPolicy = {
305
+ ALLOW: "ALLOW",
306
+ REQUIRE: "REQUIRE"
307
+ };
292
308
  var TranscodePreset = {
293
309
  ConstrainedBandwidthTranscodePreset: "CONSTRAINED_BANDWIDTH_DELIVERY",
294
310
  HigherBandwidthTranscodePreset: "HIGHER_BANDWIDTH_DELIVERY"
@@ -613,8 +629,10 @@ var se_CreateChannelCommand = /* @__PURE__ */ __name(async (input, context) => {
613
629
  body = JSON.stringify(
614
630
  (0, import_smithy_client.take)(input, {
615
631
  authorized: [],
632
+ containerFormat: [],
616
633
  insecureIngest: [],
617
634
  latencyMode: [],
635
+ multitrackInputConfiguration: (_) => (0, import_smithy_client._json)(_),
618
636
  name: [],
619
637
  playbackRestrictionPolicyArn: [],
620
638
  preset: [],
@@ -1093,8 +1111,10 @@ var se_UpdateChannelCommand = /* @__PURE__ */ __name(async (input, context) => {
1093
1111
  (0, import_smithy_client.take)(input, {
1094
1112
  arn: [],
1095
1113
  authorized: [],
1114
+ containerFormat: [],
1096
1115
  insecureIngest: [],
1097
1116
  latencyMode: [],
1117
+ multitrackInputConfiguration: (_) => (0, import_smithy_client._json)(_),
1098
1118
  name: [],
1099
1119
  playbackRestrictionPolicyArn: [],
1100
1120
  preset: [],
@@ -1797,6 +1817,7 @@ var de_StreamSession = /* @__PURE__ */ __name((output, context) => {
1797
1817
  channel: import_smithy_client._json,
1798
1818
  endTime: (_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseRfc3339DateTimeWithOffset)(_)),
1799
1819
  ingestConfiguration: import_smithy_client._json,
1820
+ ingestConfigurations: import_smithy_client._json,
1800
1821
  recordingConfiguration: import_smithy_client._json,
1801
1822
  startTime: (_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseRfc3339DateTimeWithOffset)(_)),
1802
1823
  streamId: import_smithy_client.expectString,
@@ -2444,7 +2465,10 @@ var paginateListStreams = (0, import_core.createPaginator)(IvsClient, ListStream
2444
2465
  paginateListStreamSessions,
2445
2466
  paginateListStreams,
2446
2467
  AccessDeniedException,
2468
+ ContainerFormat,
2447
2469
  ChannelLatencyMode,
2470
+ MultitrackMaximumResolution,
2471
+ MultitrackPolicy,
2448
2472
  TranscodePreset,
2449
2473
  ChannelType,
2450
2474
  PendingVerification,
@@ -13,10 +13,23 @@ export class AccessDeniedException extends __BaseException {
13
13
  this.exceptionMessage = opts.exceptionMessage;
14
14
  }
15
15
  }
16
+ export const ContainerFormat = {
17
+ FragmentedMP4: "FRAGMENTED_MP4",
18
+ TS: "TS",
19
+ };
16
20
  export const ChannelLatencyMode = {
17
21
  LowLatency: "LOW",
18
22
  NormalLatency: "NORMAL",
19
23
  };
24
+ export const MultitrackMaximumResolution = {
25
+ FULL_HD: "FULL_HD",
26
+ HD: "HD",
27
+ SD: "SD",
28
+ };
29
+ export const MultitrackPolicy = {
30
+ ALLOW: "ALLOW",
31
+ REQUIRE: "REQUIRE",
32
+ };
20
33
  export const TranscodePreset = {
21
34
  ConstrainedBandwidthTranscodePreset: "CONSTRAINED_BANDWIDTH_DELIVERY",
22
35
  HigherBandwidthTranscodePreset: "HIGHER_BANDWIDTH_DELIVERY",
@@ -51,8 +51,10 @@ export const se_CreateChannelCommand = async (input, context) => {
51
51
  let body;
52
52
  body = JSON.stringify(take(input, {
53
53
  authorized: [],
54
+ containerFormat: [],
54
55
  insecureIngest: [],
55
56
  latencyMode: [],
57
+ multitrackInputConfiguration: (_) => _json(_),
56
58
  name: [],
57
59
  playbackRestrictionPolicyArn: [],
58
60
  preset: [],
@@ -475,8 +477,10 @@ export const se_UpdateChannelCommand = async (input, context) => {
475
477
  body = JSON.stringify(take(input, {
476
478
  arn: [],
477
479
  authorized: [],
480
+ containerFormat: [],
478
481
  insecureIngest: [],
479
482
  latencyMode: [],
483
+ multitrackInputConfiguration: (_) => _json(_),
480
484
  name: [],
481
485
  playbackRestrictionPolicyArn: [],
482
486
  preset: [],
@@ -1180,6 +1184,7 @@ const de_StreamSession = (output, context) => {
1180
1184
  channel: _json,
1181
1185
  endTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
1182
1186
  ingestConfiguration: _json,
1187
+ ingestConfigurations: _json,
1183
1188
  recordingConfiguration: _json,
1184
1189
  startTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
1185
1190
  streamId: __expectString,
@@ -62,6 +62,12 @@ declare const BatchGetChannelCommand_base: {
62
62
  * // passphrase: "STRING_VALUE",
63
63
  * // },
64
64
  * // playbackRestrictionPolicyArn: "STRING_VALUE",
65
+ * // multitrackInputConfiguration: { // MultitrackInputConfiguration
66
+ * // enabled: true || false,
67
+ * // policy: "ALLOW" || "REQUIRE",
68
+ * // maximumResolution: "SD" || "HD" || "FULL_HD",
69
+ * // },
70
+ * // containerFormat: "STRING_VALUE",
65
71
  * // },
66
72
  * // ],
67
73
  * // errors: [ // BatchErrors
@@ -46,6 +46,12 @@ declare const CreateChannelCommand_base: {
46
46
  * insecureIngest: true || false,
47
47
  * preset: "HIGHER_BANDWIDTH_DELIVERY" || "CONSTRAINED_BANDWIDTH_DELIVERY",
48
48
  * playbackRestrictionPolicyArn: "STRING_VALUE",
49
+ * multitrackInputConfiguration: { // MultitrackInputConfiguration
50
+ * enabled: true || false,
51
+ * policy: "ALLOW" || "REQUIRE",
52
+ * maximumResolution: "SD" || "HD" || "FULL_HD",
53
+ * },
54
+ * containerFormat: "STRING_VALUE",
49
55
  * };
50
56
  * const command = new CreateChannelCommand(input);
51
57
  * const response = await client.send(command);
@@ -69,6 +75,12 @@ declare const CreateChannelCommand_base: {
69
75
  * // passphrase: "STRING_VALUE",
70
76
  * // },
71
77
  * // playbackRestrictionPolicyArn: "STRING_VALUE",
78
+ * // multitrackInputConfiguration: { // MultitrackInputConfiguration
79
+ * // enabled: true || false,
80
+ * // policy: "ALLOW" || "REQUIRE",
81
+ * // maximumResolution: "SD" || "HD" || "FULL_HD",
82
+ * // },
83
+ * // containerFormat: "STRING_VALUE",
72
84
  * // },
73
85
  * // streamKey: { // StreamKey
74
86
  * // arn: "STRING_VALUE",
@@ -59,6 +59,12 @@ declare const GetChannelCommand_base: {
59
59
  * // passphrase: "STRING_VALUE",
60
60
  * // },
61
61
  * // playbackRestrictionPolicyArn: "STRING_VALUE",
62
+ * // multitrackInputConfiguration: { // MultitrackInputConfiguration
63
+ * // enabled: true || false,
64
+ * // policy: "ALLOW" || "REQUIRE",
65
+ * // maximumResolution: "SD" || "HD" || "FULL_HD",
66
+ * // },
67
+ * // containerFormat: "STRING_VALUE",
62
68
  * // },
63
69
  * // };
64
70
  *
@@ -64,6 +64,12 @@ declare const GetStreamSessionCommand_base: {
64
64
  * // passphrase: "STRING_VALUE",
65
65
  * // },
66
66
  * // playbackRestrictionPolicyArn: "STRING_VALUE",
67
+ * // multitrackInputConfiguration: { // MultitrackInputConfiguration
68
+ * // enabled: true || false,
69
+ * // policy: "ALLOW" || "REQUIRE",
70
+ * // maximumResolution: "SD" || "HD" || "FULL_HD",
71
+ * // },
72
+ * // containerFormat: "STRING_VALUE",
67
73
  * // },
68
74
  * // ingestConfiguration: { // IngestConfiguration
69
75
  * // video: { // VideoConfiguration
@@ -75,14 +81,44 @@ declare const GetStreamSessionCommand_base: {
75
81
  * // targetFramerate: Number("long"),
76
82
  * // videoHeight: Number("long"),
77
83
  * // videoWidth: Number("long"),
84
+ * // level: "STRING_VALUE",
85
+ * // track: "STRING_VALUE",
86
+ * // profile: "STRING_VALUE",
78
87
  * // },
79
88
  * // audio: { // AudioConfiguration
80
89
  * // codec: "STRING_VALUE",
81
90
  * // targetBitrate: Number("long"),
82
91
  * // sampleRate: Number("long"),
83
92
  * // channels: Number("long"),
93
+ * // track: "STRING_VALUE",
84
94
  * // },
85
95
  * // },
96
+ * // ingestConfigurations: { // IngestConfigurations
97
+ * // videoConfigurations: [ // VideoConfigurationList // required
98
+ * // {
99
+ * // avcProfile: "STRING_VALUE",
100
+ * // avcLevel: "STRING_VALUE",
101
+ * // codec: "STRING_VALUE",
102
+ * // encoder: "STRING_VALUE",
103
+ * // targetBitrate: Number("long"),
104
+ * // targetFramerate: Number("long"),
105
+ * // videoHeight: Number("long"),
106
+ * // videoWidth: Number("long"),
107
+ * // level: "STRING_VALUE",
108
+ * // track: "STRING_VALUE",
109
+ * // profile: "STRING_VALUE",
110
+ * // },
111
+ * // ],
112
+ * // audioConfigurations: [ // AudioConfigurationList // required
113
+ * // {
114
+ * // codec: "STRING_VALUE",
115
+ * // targetBitrate: Number("long"),
116
+ * // sampleRate: Number("long"),
117
+ * // channels: Number("long"),
118
+ * // track: "STRING_VALUE",
119
+ * // },
120
+ * // ],
121
+ * // },
86
122
  * // recordingConfiguration: { // RecordingConfiguration
87
123
  * // arn: "STRING_VALUE", // required
88
124
  * // name: "STRING_VALUE",
@@ -46,6 +46,12 @@ declare const UpdateChannelCommand_base: {
46
46
  * insecureIngest: true || false,
47
47
  * preset: "HIGHER_BANDWIDTH_DELIVERY" || "CONSTRAINED_BANDWIDTH_DELIVERY",
48
48
  * playbackRestrictionPolicyArn: "STRING_VALUE",
49
+ * multitrackInputConfiguration: { // MultitrackInputConfiguration
50
+ * enabled: true || false,
51
+ * policy: "ALLOW" || "REQUIRE",
52
+ * maximumResolution: "SD" || "HD" || "FULL_HD",
53
+ * },
54
+ * containerFormat: "STRING_VALUE",
49
55
  * };
50
56
  * const command = new UpdateChannelCommand(input);
51
57
  * const response = await client.send(command);
@@ -69,6 +75,12 @@ declare const UpdateChannelCommand_base: {
69
75
  * // passphrase: "STRING_VALUE",
70
76
  * // },
71
77
  * // playbackRestrictionPolicyArn: "STRING_VALUE",
78
+ * // multitrackInputConfiguration: { // MultitrackInputConfiguration
79
+ * // enabled: true || false,
80
+ * // policy: "ALLOW" || "REQUIRE",
81
+ * // maximumResolution: "SD" || "HD" || "FULL_HD",
82
+ * // },
83
+ * // containerFormat: "STRING_VALUE",
72
84
  * // },
73
85
  * // };
74
86
  *
@@ -27,6 +27,18 @@ export interface BatchGetChannelRequest {
27
27
  */
28
28
  arns: string[] | undefined;
29
29
  }
30
+ /**
31
+ * @public
32
+ * @enum
33
+ */
34
+ export declare const ContainerFormat: {
35
+ readonly FragmentedMP4: "FRAGMENTED_MP4";
36
+ readonly TS: "TS";
37
+ };
38
+ /**
39
+ * @public
40
+ */
41
+ export type ContainerFormat = (typeof ContainerFormat)[keyof typeof ContainerFormat];
30
42
  /**
31
43
  * @public
32
44
  * @enum
@@ -39,6 +51,52 @@ export declare const ChannelLatencyMode: {
39
51
  * @public
40
52
  */
41
53
  export type ChannelLatencyMode = (typeof ChannelLatencyMode)[keyof typeof ChannelLatencyMode];
54
+ /**
55
+ * @public
56
+ * @enum
57
+ */
58
+ export declare const MultitrackMaximumResolution: {
59
+ readonly FULL_HD: "FULL_HD";
60
+ readonly HD: "HD";
61
+ readonly SD: "SD";
62
+ };
63
+ /**
64
+ * @public
65
+ */
66
+ export type MultitrackMaximumResolution = (typeof MultitrackMaximumResolution)[keyof typeof MultitrackMaximumResolution];
67
+ /**
68
+ * @public
69
+ * @enum
70
+ */
71
+ export declare const MultitrackPolicy: {
72
+ readonly ALLOW: "ALLOW";
73
+ readonly REQUIRE: "REQUIRE";
74
+ };
75
+ /**
76
+ * @public
77
+ */
78
+ export type MultitrackPolicy = (typeof MultitrackPolicy)[keyof typeof MultitrackPolicy];
79
+ /**
80
+ * <p>A complex type that specifies multitrack input configuration.</p>
81
+ * @public
82
+ */
83
+ export interface MultitrackInputConfiguration {
84
+ /**
85
+ * <p>Indicates whether multitrack input is enabled. Can be set to <code>true</code> only if channel type is <code>STANDARD</code>. Setting <code>enabled</code> to <code>true</code> with any other channel type will cause an exception. If <code>true</code>, then <code>policy</code>, <code>maximumResolution</code>, and <code>containerFormat</code> are required, and <code>containerFormat</code> must be set to <code>FRAGMENTED_MP4</code>. Default: <code>false</code>.</p>
86
+ * @public
87
+ */
88
+ enabled?: boolean | undefined;
89
+ /**
90
+ * <p>Indicates whether multitrack input is allowed or required. Required if <code>enabled</code> is <code>true</code>.</p>
91
+ * @public
92
+ */
93
+ policy?: MultitrackPolicy | undefined;
94
+ /**
95
+ * <p>Maximum resolution for multitrack input. Required if <code>enabled</code> is <code>true</code>.</p>
96
+ * @public
97
+ */
98
+ maximumResolution?: MultitrackMaximumResolution | undefined;
99
+ }
42
100
  /**
43
101
  * @public
44
102
  * @enum
@@ -169,6 +227,16 @@ export interface Channel {
169
227
  * @public
170
228
  */
171
229
  playbackRestrictionPolicyArn?: string | undefined;
230
+ /**
231
+ * <p>Object specifying multitrack input configuration. Default: no multitrack input configuration is specified.</p>
232
+ * @public
233
+ */
234
+ multitrackInputConfiguration?: MultitrackInputConfiguration | undefined;
235
+ /**
236
+ * <p>Indicates which content-packaging format is used (MPEG-TS or fMP4). If <code>multitrackInputConfiguration</code> is specified and <code>enabled</code> is <code>true</code>, then <code>containerFormat</code> is required and must be set to <code>FRAGMENTED_MP4</code>. Otherwise, <code>containerFormat</code> may be set to <code>TS</code> or <code>FRAGMENTED_MP4</code>. Default: <code>TS</code>.</p>
237
+ * @public
238
+ */
239
+ containerFormat?: ContainerFormat | undefined;
172
240
  }
173
241
  /**
174
242
  * <p>Error related to a specific channel, specified by its ARN.</p>
@@ -442,6 +510,16 @@ export interface CreateChannelRequest {
442
510
  * @public
443
511
  */
444
512
  playbackRestrictionPolicyArn?: string | undefined;
513
+ /**
514
+ * <p>Object specifying multitrack input configuration. Default: no multitrack input configuration is specified.</p>
515
+ * @public
516
+ */
517
+ multitrackInputConfiguration?: MultitrackInputConfiguration | undefined;
518
+ /**
519
+ * <p>Indicates which content-packaging format is used (MPEG-TS or fMP4). If <code>multitrackInputConfiguration</code> is specified and <code>enabled</code> is <code>true</code>, then <code>containerFormat</code> is required and must be set to <code>FRAGMENTED_MP4</code>. Otherwise, <code>containerFormat</code> may be set to <code>TS</code> or <code>FRAGMENTED_MP4</code>. Default: <code>TS</code>.</p>
520
+ * @public
521
+ */
522
+ containerFormat?: ContainerFormat | undefined;
445
523
  }
446
524
  /**
447
525
  * @public
@@ -726,6 +804,7 @@ export interface ThumbnailConfiguration {
726
804
  * only if <code>recordingMode</code> is <code>INTERVAL</code>. Default: 60.</p>
727
805
  * <p>
728
806
  * <b>Important:</b> For the <code>BASIC</code> channel type,
807
+ * or the <code>STANDARD</code> channel type with multitrack input,
729
808
  * setting a value for <code>targetIntervalSeconds</code> does not guarantee that thumbnails are
730
809
  * generated at the specified interval. For thumbnails to be generated at the
731
810
  * <code>targetIntervalSeconds</code> interval, the <code>IDR/Keyframe</code> value for the
@@ -1220,9 +1299,7 @@ export interface GetStreamSessionRequest {
1220
1299
  streamId?: string | undefined;
1221
1300
  }
1222
1301
  /**
1223
- * <p>Object specifying a stream’s audio configuration, as set up by the broadcaster (usually in
1224
- * an encoder). This is part of the <a>IngestConfiguration</a> object and used for
1225
- * monitoring stream health.</p>
1302
+ * <p>Object specifying a stream’s audio configuration, as set up by the broadcaster (usually in an encoder). This is part of the <a>IngestConfigurations</a> object and the deprecated <a>IngestConfiguration</a> object. It is used for monitoring stream health.</p>
1226
1303
  * @public
1227
1304
  */
1228
1305
  export interface AudioConfiguration {
@@ -1246,11 +1323,17 @@ export interface AudioConfiguration {
1246
1323
  * @public
1247
1324
  */
1248
1325
  channels?: number | undefined;
1326
+ /**
1327
+ * <p>Name of the audio track (if the stream has an audio track). If multitrack is not enabled, this is track0 (the sole track).</p>
1328
+ * @public
1329
+ */
1330
+ track?: string | undefined;
1249
1331
  }
1250
1332
  /**
1251
1333
  * <p>Object specifying a stream’s video configuration, as set up by the broadcaster (usually in
1252
- * an encoder). This is part of the <a>IngestConfiguration</a> object and used for
1253
- * monitoring stream health.</p>
1334
+ * an encoder). This is part of the <a>IngestConfigurations</a> object and the deprecated
1335
+ * <a>IngestConfiguration</a> object. It is used for monitoring stream health.
1336
+ * </p>
1254
1337
  * @public
1255
1338
  */
1256
1339
  export interface VideoConfiguration {
@@ -1296,10 +1379,27 @@ export interface VideoConfiguration {
1296
1379
  * @public
1297
1380
  */
1298
1381
  videoWidth?: number | undefined;
1382
+ /**
1383
+ * <p>Indicates the degree of required decoder performance for a profile. Normally this is set automatically by the encoder. When an AVC codec is used, this field has the same value as <code>avcLevel</code>.</p>
1384
+ * @public
1385
+ */
1386
+ level?: string | undefined;
1387
+ /**
1388
+ * <p>Name of the video track. If multitrack is not enabled, this is track0 (the sole track).</p>
1389
+ * @public
1390
+ */
1391
+ track?: string | undefined;
1392
+ /**
1393
+ * <p>Indicates to the decoder the requirements for decoding the stream. When an AVC codec is used, this field has the same value as <code>avcProfile</code>.</p>
1394
+ * @public
1395
+ */
1396
+ profile?: string | undefined;
1299
1397
  }
1300
1398
  /**
1301
1399
  * <p>Object specifying the ingest configuration set up by the broadcaster, usually in an
1302
1400
  * encoder.</p>
1401
+ * <p>
1402
+ * <b>Note:</b> IngestConfiguration is deprecated in favor of <a>IngestConfigurations</a> but retained to ensure backward compatibility. If multitrack is not enabled, IngestConfiguration and IngestConfigurations contain the same data, namely information about track0 (the sole track). If multitrack is enabled, IngestConfiguration contains data for only the first track (track0) and IngestConfigurations contains data for all tracks.</p>
1303
1403
  * @public
1304
1404
  */
1305
1405
  export interface IngestConfiguration {
@@ -1314,6 +1414,24 @@ export interface IngestConfiguration {
1314
1414
  */
1315
1415
  audio?: AudioConfiguration | undefined;
1316
1416
  }
1417
+ /**
1418
+ * <p>Object specifying the ingest configuration set up by the broadcaster, usually in an encoder. </p>
1419
+ * <p>
1420
+ * <b>Note:</b> Use IngestConfigurations instead of <a>IngestConfiguration</a> (which is deprecated). If multitrack is not enabled, IngestConfiguration and IngestConfigurations contain the same data, namely information about track0 (the sole track). If multitrack is enabled, IngestConfiguration contains data for only the first track (track0) and IngestConfigurations contains data for all tracks.</p>
1421
+ * @public
1422
+ */
1423
+ export interface IngestConfigurations {
1424
+ /**
1425
+ * <p>Encoder settings for video</p>
1426
+ * @public
1427
+ */
1428
+ videoConfigurations: VideoConfiguration[] | undefined;
1429
+ /**
1430
+ * <p>Encoder settings for audio.</p>
1431
+ * @public
1432
+ */
1433
+ audioConfigurations: AudioConfiguration[] | undefined;
1434
+ }
1317
1435
  /**
1318
1436
  * <p>Object specifying a stream’s events. For a list of events, see <a href="https://docs.aws.amazon.com/ivs/latest/userguide/eventbridge.html">Using Amazon EventBridge with Amazon
1319
1437
  * IVS</a>.</p>
@@ -1337,26 +1455,41 @@ export interface StreamEvent {
1337
1455
  */
1338
1456
  eventTime?: Date | undefined;
1339
1457
  /**
1340
- * <p>Provides additional details about the stream event. There are several values; note that
1341
- * the long descriptions are provided in the IVS console but not delivered through
1342
- * the IVS API or EventBridge:</p>
1458
+ * <p>Provides additional details about the stream event. There are several values; the long descriptions are provided in the IVS console but not delivered through the IVS API or EventBridge. Multitrack-related codes are used only for certain Session Ended events.</p>
1343
1459
  * <ul>
1344
1460
  * <li>
1345
1461
  * <p>
1346
- * <code>StreamTakeoverMediaMismatch</code> — The broadcast client attempted to take over
1347
- * with different media properties (e.g., codec, resolution, or video track type) from the
1348
- * original stream.</p>
1462
+ * <code>MultitrackInputNotAllowed</code> — The broadcast client attempted to connect with multitrack input, but multitrack input was not enabled on the channel. Check your broadcast software settings or set <code>MultitrackInputConfiguration.Policy</code> to <code>ALLOW</code> or <code>REQUIRE</code>.</p>
1463
+ * </li>
1464
+ * <li>
1465
+ * <p>
1466
+ * <code>MultitrackInputRequired</code> — The broadcast client attempted to connect with single-track video, but multitrack input is required on this channel. Enable multitrack video in your broadcast software or configure the channel’s <code>MultitrackInputConfiguration.Policy</code> to <code>ALLOW</code>.</p>
1349
1467
  * </li>
1350
1468
  * <li>
1351
1469
  * <p>
1352
- * <code>StreamTakeoverInvalidPriority</code> — The broadcast client attempted a takeover
1353
- * with either a priority integer value equal to or lower than the original stream's value or a value outside
1354
- * the allowed range of 1 to 2,147,483,647.</p>
1470
+ * <code>InvalidGetClientConfigurationStreamKey</code> — The broadcast client attempted to connect with an invalid, expired, or corrupt stream key.</p>
1355
1471
  * </li>
1356
1472
  * <li>
1357
1473
  * <p>
1358
- * <code>StreamTakeoverLimitBreached</code> — The broadcast client reached the maximum allowed
1359
- * takeover attempts for this stream.</p>
1474
+ * <code>GetClientConfigurationStreamKeyRequired</code> — The broadcast client attempted to stream multitrack video without providing an authenticated stream key from GetClientConfiguration.</p>
1475
+ * </li>
1476
+ * <li>
1477
+ * <p>
1478
+ * <code>InvalidMultitrackInputTrackCount</code> — The multitrack input stream contained an invalid number of tracks.</p>
1479
+ * </li>
1480
+ * <li>
1481
+ * <p>
1482
+ * <code>InvalidMultitrackInputVideoTrackMediaProperties</code> — The multitrack input stream contained one or more tracks with an invalid codec, resolution, bitrate, or framerate.</p>
1483
+ * </li>
1484
+ * <li>
1485
+ * <p>
1486
+ * <code>StreamTakeoverMediaMismatch</code> — The broadcast client attempted to take over with different media properties (e.g., codec, resolution, or video track type) from the original stream.</p>
1487
+ * </li>
1488
+ * <li>
1489
+ * <p>
1490
+ * <code>StreamTakeoverInvalidPriority</code> — The broadcast client attempted a takeover with either a priority integer value equal to or lower than the original stream's value or a value outside the allowed range of 1 to 2,147,483,647.</p>
1491
+ * <p>
1492
+ * <code>StreamTakeoverLimitBreached</code> — The broadcast client reached the maximum allowed takeover attempts for this stream.</p>
1360
1493
  * </li>
1361
1494
  * </ul>
1362
1495
  * @public
@@ -1393,10 +1526,18 @@ export interface StreamSession {
1393
1526
  */
1394
1527
  channel?: Channel | undefined;
1395
1528
  /**
1396
- * <p>The properties of the incoming RTMP stream for the stream.</p>
1529
+ * <p>The properties of the incoming RTMP stream.</p>
1530
+ * <p>
1531
+ * <b>Note:</b>
1532
+ * <code>ingestConfiguration</code> is deprecated in favor of <code>ingestConfigurations</code> but retained to ensure backward compatibility. If multitrack is not enabled, <code>ingestConfiguration</code> and <code>ingestConfigurations</code> contain the same data, namely information about track0 (the sole track). If multitrack is enabled, <code>ingestConfiguration</code> contains data for only the first track (track0) and <code>ingestConfigurations</code> contains data for all tracks.</p>
1397
1533
  * @public
1398
1534
  */
1399
1535
  ingestConfiguration?: IngestConfiguration | undefined;
1536
+ /**
1537
+ * <p>The properties of the incoming RTMP stream. If multitrack is enabled, <code>ingestConfigurations</code> contains data for all tracks; otherwise, it contains data only for track0 (the sole track).</p>
1538
+ * @public
1539
+ */
1540
+ ingestConfigurations?: IngestConfigurations | undefined;
1400
1541
  /**
1401
1542
  * <p>The properties of recording the live stream.</p>
1402
1543
  * @public
@@ -2182,6 +2323,16 @@ export interface UpdateChannelRequest {
2182
2323
  * @public
2183
2324
  */
2184
2325
  playbackRestrictionPolicyArn?: string | undefined;
2326
+ /**
2327
+ * <p>Object specifying multitrack input configuration. Default: no multitrack input configuration is specified.</p>
2328
+ * @public
2329
+ */
2330
+ multitrackInputConfiguration?: MultitrackInputConfiguration | undefined;
2331
+ /**
2332
+ * <p>Indicates which content-packaging format is used (MPEG-TS or fMP4). If <code>multitrackInputConfiguration</code> is specified and <code>enabled</code> is <code>true</code>, then <code>containerFormat</code> is required and must be set to <code>FRAGMENTED_MP4</code>. Otherwise, <code>containerFormat</code> may be set to <code>TS</code> or <code>FRAGMENTED_MP4</code>. Default: <code>TS</code>.</p>
2333
+ * @public
2334
+ */
2335
+ containerFormat?: ContainerFormat | undefined;
2185
2336
  }
2186
2337
  /**
2187
2338
  * @public
@@ -11,12 +11,36 @@ export declare class AccessDeniedException extends __BaseException {
11
11
  export interface BatchGetChannelRequest {
12
12
  arns: string[] | undefined;
13
13
  }
14
+ export declare const ContainerFormat: {
15
+ readonly FragmentedMP4: "FRAGMENTED_MP4";
16
+ readonly TS: "TS";
17
+ };
18
+ export type ContainerFormat =
19
+ (typeof ContainerFormat)[keyof typeof ContainerFormat];
14
20
  export declare const ChannelLatencyMode: {
15
21
  readonly LowLatency: "LOW";
16
22
  readonly NormalLatency: "NORMAL";
17
23
  };
18
24
  export type ChannelLatencyMode =
19
25
  (typeof ChannelLatencyMode)[keyof typeof ChannelLatencyMode];
26
+ export declare const MultitrackMaximumResolution: {
27
+ readonly FULL_HD: "FULL_HD";
28
+ readonly HD: "HD";
29
+ readonly SD: "SD";
30
+ };
31
+ export type MultitrackMaximumResolution =
32
+ (typeof MultitrackMaximumResolution)[keyof typeof MultitrackMaximumResolution];
33
+ export declare const MultitrackPolicy: {
34
+ readonly ALLOW: "ALLOW";
35
+ readonly REQUIRE: "REQUIRE";
36
+ };
37
+ export type MultitrackPolicy =
38
+ (typeof MultitrackPolicy)[keyof typeof MultitrackPolicy];
39
+ export interface MultitrackInputConfiguration {
40
+ enabled?: boolean | undefined;
41
+ policy?: MultitrackPolicy | undefined;
42
+ maximumResolution?: MultitrackMaximumResolution | undefined;
43
+ }
20
44
  export declare const TranscodePreset: {
21
45
  readonly ConstrainedBandwidthTranscodePreset: "CONSTRAINED_BANDWIDTH_DELIVERY";
22
46
  readonly HigherBandwidthTranscodePreset: "HIGHER_BANDWIDTH_DELIVERY";
@@ -48,6 +72,8 @@ export interface Channel {
48
72
  preset?: TranscodePreset | undefined;
49
73
  srt?: Srt | undefined;
50
74
  playbackRestrictionPolicyArn?: string | undefined;
75
+ multitrackInputConfiguration?: MultitrackInputConfiguration | undefined;
76
+ containerFormat?: ContainerFormat | undefined;
51
77
  }
52
78
  export interface BatchError {
53
79
  arn?: string | undefined;
@@ -122,6 +148,8 @@ export interface CreateChannelRequest {
122
148
  insecureIngest?: boolean | undefined;
123
149
  preset?: TranscodePreset | undefined;
124
150
  playbackRestrictionPolicyArn?: string | undefined;
151
+ multitrackInputConfiguration?: MultitrackInputConfiguration | undefined;
152
+ containerFormat?: ContainerFormat | undefined;
125
153
  }
126
154
  export interface CreateChannelResponse {
127
155
  channel?: Channel | undefined;
@@ -355,6 +383,7 @@ export interface AudioConfiguration {
355
383
  targetBitrate?: number | undefined;
356
384
  sampleRate?: number | undefined;
357
385
  channels?: number | undefined;
386
+ track?: string | undefined;
358
387
  }
359
388
  export interface VideoConfiguration {
360
389
  avcProfile?: string | undefined;
@@ -365,11 +394,18 @@ export interface VideoConfiguration {
365
394
  targetFramerate?: number | undefined;
366
395
  videoHeight?: number | undefined;
367
396
  videoWidth?: number | undefined;
397
+ level?: string | undefined;
398
+ track?: string | undefined;
399
+ profile?: string | undefined;
368
400
  }
369
401
  export interface IngestConfiguration {
370
402
  video?: VideoConfiguration | undefined;
371
403
  audio?: AudioConfiguration | undefined;
372
404
  }
405
+ export interface IngestConfigurations {
406
+ videoConfigurations: VideoConfiguration[] | undefined;
407
+ audioConfigurations: AudioConfiguration[] | undefined;
408
+ }
373
409
  export interface StreamEvent {
374
410
  name?: string | undefined;
375
411
  type?: string | undefined;
@@ -382,6 +418,7 @@ export interface StreamSession {
382
418
  endTime?: Date | undefined;
383
419
  channel?: Channel | undefined;
384
420
  ingestConfiguration?: IngestConfiguration | undefined;
421
+ ingestConfigurations?: IngestConfigurations | undefined;
385
422
  recordingConfiguration?: RecordingConfiguration | undefined;
386
423
  truncatedEvents?: StreamEvent[] | undefined;
387
424
  }
@@ -558,6 +595,8 @@ export interface UpdateChannelRequest {
558
595
  insecureIngest?: boolean | undefined;
559
596
  preset?: TranscodePreset | undefined;
560
597
  playbackRestrictionPolicyArn?: string | undefined;
598
+ multitrackInputConfiguration?: MultitrackInputConfiguration | undefined;
599
+ containerFormat?: ContainerFormat | undefined;
561
600
  }
562
601
  export interface UpdateChannelResponse {
563
602
  channel?: Channel | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ivs",
3
3
  "description": "AWS SDK for JavaScript Ivs Client for Node.js, Browser and React Native",
4
- "version": "3.691.0",
4
+ "version": "3.692.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-ivs",
@@ -20,43 +20,43 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.691.0",
24
- "@aws-sdk/client-sts": "3.691.0",
25
- "@aws-sdk/core": "3.691.0",
26
- "@aws-sdk/credential-provider-node": "3.691.0",
27
- "@aws-sdk/middleware-host-header": "3.686.0",
28
- "@aws-sdk/middleware-logger": "3.686.0",
29
- "@aws-sdk/middleware-recursion-detection": "3.686.0",
30
- "@aws-sdk/middleware-user-agent": "3.691.0",
31
- "@aws-sdk/region-config-resolver": "3.686.0",
32
- "@aws-sdk/types": "3.686.0",
33
- "@aws-sdk/util-endpoints": "3.686.0",
34
- "@aws-sdk/util-user-agent-browser": "3.686.0",
35
- "@aws-sdk/util-user-agent-node": "3.691.0",
36
- "@smithy/config-resolver": "^3.0.10",
37
- "@smithy/core": "^2.5.1",
38
- "@smithy/fetch-http-handler": "^4.0.0",
39
- "@smithy/hash-node": "^3.0.8",
40
- "@smithy/invalid-dependency": "^3.0.8",
41
- "@smithy/middleware-content-length": "^3.0.10",
42
- "@smithy/middleware-endpoint": "^3.2.1",
43
- "@smithy/middleware-retry": "^3.0.25",
44
- "@smithy/middleware-serde": "^3.0.8",
45
- "@smithy/middleware-stack": "^3.0.8",
46
- "@smithy/node-config-provider": "^3.1.9",
47
- "@smithy/node-http-handler": "^3.2.5",
48
- "@smithy/protocol-http": "^4.1.5",
49
- "@smithy/smithy-client": "^3.4.2",
50
- "@smithy/types": "^3.6.0",
51
- "@smithy/url-parser": "^3.0.8",
23
+ "@aws-sdk/client-sso-oidc": "3.692.0",
24
+ "@aws-sdk/client-sts": "3.692.0",
25
+ "@aws-sdk/core": "3.692.0",
26
+ "@aws-sdk/credential-provider-node": "3.692.0",
27
+ "@aws-sdk/middleware-host-header": "3.692.0",
28
+ "@aws-sdk/middleware-logger": "3.692.0",
29
+ "@aws-sdk/middleware-recursion-detection": "3.692.0",
30
+ "@aws-sdk/middleware-user-agent": "3.692.0",
31
+ "@aws-sdk/region-config-resolver": "3.692.0",
32
+ "@aws-sdk/types": "3.692.0",
33
+ "@aws-sdk/util-endpoints": "3.692.0",
34
+ "@aws-sdk/util-user-agent-browser": "3.692.0",
35
+ "@aws-sdk/util-user-agent-node": "3.692.0",
36
+ "@smithy/config-resolver": "^3.0.11",
37
+ "@smithy/core": "^2.5.2",
38
+ "@smithy/fetch-http-handler": "^4.1.0",
39
+ "@smithy/hash-node": "^3.0.9",
40
+ "@smithy/invalid-dependency": "^3.0.9",
41
+ "@smithy/middleware-content-length": "^3.0.11",
42
+ "@smithy/middleware-endpoint": "^3.2.2",
43
+ "@smithy/middleware-retry": "^3.0.26",
44
+ "@smithy/middleware-serde": "^3.0.9",
45
+ "@smithy/middleware-stack": "^3.0.9",
46
+ "@smithy/node-config-provider": "^3.1.10",
47
+ "@smithy/node-http-handler": "^3.3.0",
48
+ "@smithy/protocol-http": "^4.1.6",
49
+ "@smithy/smithy-client": "^3.4.3",
50
+ "@smithy/types": "^3.7.0",
51
+ "@smithy/url-parser": "^3.0.9",
52
52
  "@smithy/util-base64": "^3.0.0",
53
53
  "@smithy/util-body-length-browser": "^3.0.0",
54
54
  "@smithy/util-body-length-node": "^3.0.0",
55
- "@smithy/util-defaults-mode-browser": "^3.0.25",
56
- "@smithy/util-defaults-mode-node": "^3.0.25",
57
- "@smithy/util-endpoints": "^2.1.4",
58
- "@smithy/util-middleware": "^3.0.8",
59
- "@smithy/util-retry": "^3.0.8",
55
+ "@smithy/util-defaults-mode-browser": "^3.0.26",
56
+ "@smithy/util-defaults-mode-node": "^3.0.26",
57
+ "@smithy/util-endpoints": "^2.1.5",
58
+ "@smithy/util-middleware": "^3.0.9",
59
+ "@smithy/util-retry": "^3.0.9",
60
60
  "@smithy/util-utf8": "^3.0.0",
61
61
  "tslib": "^2.6.2"
62
62
  },