Skip to content

Commit 2cec549

Browse files
author
awstools
committed
feat(client-ivs): IVS Merge Fragmented Streams. This release adds support for recordingReconnectWindow field in IVS recordingConfigurations. For more information see https://docs.aws.amazon.com/ivs/latest/APIReference/Welcome.html
1 parent 7ab95c9 commit 2cec549

File tree

3 files changed

+108
-42
lines changed

3 files changed

+108
-42
lines changed

clients/client-ivs/src/models/models_0.ts

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -433,11 +433,13 @@ export interface ThumbnailConfiguration {
433433
* <p>The targeted thumbnail-generation interval in seconds. This is configurable (and required)
434434
* only if <code>recordingMode</code> is <code>INTERVAL</code>. Default: 60.</p>
435435
* <p>
436-
* <b>Important:</b> Setting a value for <code>targetIntervalSeconds</code> does not guarantee that thumbnails
437-
* are generated at the specified interval. For thumbnails to be generated at the
438-
* <code>targetIntervalSeconds</code> interval, the <code>IDR/Keyframe</code> value for the input video must be less than
439-
* the <code>targetIntervalSeconds</code> value. See <a href="https://docs.aws.amazon.com/ivs/latest/userguide/streaming-config.html"> Amazon IVS Streaming Configuration</a> for information on
440-
* setting <code>IDR/Keyframe</code> to the recommended value in video-encoder settings.</p>
436+
* <b>Important:</b> Setting a value for
437+
* <code>targetIntervalSeconds</code> does not guarantee that thumbnails are generated at the
438+
* specified interval. For thumbnails to be generated at the <code>targetIntervalSeconds</code>
439+
* interval, the <code>IDR/Keyframe</code> value for the input video must be less than the
440+
* <code>targetIntervalSeconds</code> value. See <a href="https://docs.aws.amazon.com/ivs/latest/userguide/streaming-config.html"> Amazon IVS Streaming Configuration</a>
441+
* for information on setting <code>IDR/Keyframe</code> to the recommended value in video-encoder
442+
* settings.</p>
441443
*/
442444
targetIntervalSeconds?: number;
443445
}
@@ -467,6 +469,12 @@ export interface CreateRecordingConfigurationRequest {
467469
* session and modify the interval at which thumbnails are generated for the live session.</p>
468470
*/
469471
thumbnailConfiguration?: ThumbnailConfiguration;
472+
473+
/**
474+
* <p>If a broadcast disconnects and then reconnects within the specified interval, the multiple
475+
* streams will be considered a single broadcast and merged together. Default: 0.</p>
476+
*/
477+
recordingReconnectWindowSeconds?: number;
470478
}
471479

472480
export enum RecordingConfigurationState {
@@ -513,6 +521,12 @@ export interface RecordingConfiguration {
513521
* session and modify the interval at which thumbnails are generated for the live session.</p>
514522
*/
515523
thumbnailConfiguration?: ThumbnailConfiguration;
524+
525+
/**
526+
* <p>If a broadcast disconnects and then reconnects within the specified interval, the multiple
527+
* streams will be considered a single broadcast and merged together. Default: 0.</p>
528+
*/
529+
recordingReconnectWindowSeconds?: number;
516530
}
517531

518532
export interface CreateRecordingConfigurationResponse {

clients/client-ivs/src/protocols/Aws_restJson1.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@a
33
import {
44
decorateServiceException as __decorateServiceException,
55
expectBoolean as __expectBoolean,
6+
expectInt32 as __expectInt32,
67
expectLong as __expectLong,
78
expectNonNull as __expectNonNull,
89
expectObject as __expectObject,
@@ -199,6 +200,9 @@ export const serializeAws_restJson1CreateRecordingConfigurationCommand = async (
199200
destinationConfiguration: serializeAws_restJson1DestinationConfiguration(input.destinationConfiguration, context),
200201
}),
201202
...(input.name != null && { name: input.name }),
203+
...(input.recordingReconnectWindowSeconds != null && {
204+
recordingReconnectWindowSeconds: input.recordingReconnectWindowSeconds,
205+
}),
202206
...(input.tags != null && { tags: serializeAws_restJson1Tags(input.tags, context) }),
203207
...(input.thumbnailConfiguration != null && {
204208
thumbnailConfiguration: serializeAws_restJson1ThumbnailConfiguration(input.thumbnailConfiguration, context),
@@ -2541,6 +2545,7 @@ const deserializeAws_restJson1RecordingConfiguration = (
25412545
? deserializeAws_restJson1DestinationConfiguration(output.destinationConfiguration, context)
25422546
: undefined,
25432547
name: __expectString(output.name),
2548+
recordingReconnectWindowSeconds: __expectInt32(output.recordingReconnectWindowSeconds),
25442549
state: __expectString(output.state),
25452550
tags: output.tags != null ? deserializeAws_restJson1Tags(output.tags, context) : undefined,
25462551
thumbnailConfiguration:

0 commit comments

Comments
 (0)