UNPKG

@aws-cdk/aws-ivs-alpha

Version:

The CDK Construct Library for AWS::IVS

90 lines 10.6 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.ThumbnailConfiguration = exports.Storage = exports.RecordingMode = void 0; const jsiiDeprecationWarnings = require("../.warnings.jsii.js"); const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_cdk_lib_1 = require("aws-cdk-lib"); /** * Thumbnail recording mode. */ var RecordingMode; (function (RecordingMode) { /** * Use INTERVAL to enable the generation of thumbnails for recorded video at a time interval controlled by the TargetIntervalSeconds property. */ RecordingMode["INTERVAL"] = "INTERVAL"; /** * Use DISABLED to disable the generation of thumbnails for recorded video. */ RecordingMode["DISABLED"] = "DISABLED"; })(RecordingMode || (exports.RecordingMode = RecordingMode = {})); /** * The format in which thumbnails are recorded for a stream. */ var Storage; (function (Storage) { /** * SEQUENTIAL records all generated thumbnails in a serial manner, to the media/thumbnails directory. */ Storage["SEQUENTIAL"] = "SEQUENTIAL"; /** * LATEST saves the latest thumbnail in media/thumbnails/latest/thumb.jpg and overwrites it at the interval specified by thumbnailTargetInterval. */ Storage["LATEST"] = "LATEST"; })(Storage || (exports.Storage = Storage = {})); /** * Thumbnail configuration for IVS Recording configuration */ class ThumbnailConfiguration { /** * Disable the generation of thumbnails for recorded video */ static disable() { return new ThumbnailConfiguration(RecordingMode.DISABLED); } /** * Enable the generation of thumbnails for recorded video at a time interval. * * @param resolution The desired resolution of recorded thumbnails for a stream. If you do not specify this property, same resolution as Input stream is used. * @param storage The format in which thumbnails are recorded for a stream. If you do not specify this property, `ThumbnailStorage.SEQUENTIAL` is set. * @param targetInterval The targeted thumbnail-generation interval. If you do not specify this property, `Duration.seconds(60)` is set. */ static interval(resolution, storage, targetInterval) { try { jsiiDeprecationWarnings._aws_cdk_aws_ivs_alpha_Resolution(resolution); } catch (error) { if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { Error.captureStackTrace(error, this.interval); } throw error; } return new ThumbnailConfiguration(RecordingMode.INTERVAL, resolution, storage, targetInterval); } /** * @param recordingMode Thumbnail recording mode. If you do not specify this property, `ThumbnailRecordingMode.INTERVAL` is set. * @param resolution The desired resolution of recorded thumbnails for a stream. If you do not specify this property, same resolution as Input stream is used. * @param storage The format in which thumbnails are recorded for a stream. If you do not specify this property, `ThumbnailStorage.SEQUENTIAL` is set. * @param targetInterval The targeted thumbnail-generation interval. Must be between 1 and 60 seconds. If you do not specify this property, `Duration.seconds(60)` is set. */ constructor(recordingMode, resolution, storage, targetInterval) { this.recordingMode = recordingMode; this.resolution = resolution; this.storage = storage; this.targetInterval = targetInterval; if (targetInterval === undefined || aws_cdk_lib_1.Token.isUnresolved(targetInterval)) { return; } if (targetInterval.toMilliseconds() < aws_cdk_lib_1.Duration.seconds(1).toMilliseconds()) { throw new Error(`\`targetInterval\` must be between 1 and 60 seconds, got ${targetInterval.toMilliseconds()} milliseconds.`); } if (targetInterval.toSeconds() > 60) { throw new Error(`\`targetInterval\` must be between 1 and 60 seconds, got ${targetInterval.toSeconds()} seconds.`); } } } exports.ThumbnailConfiguration = ThumbnailConfiguration; _a = JSII_RTTI_SYMBOL_1; ThumbnailConfiguration[_a] = { fqn: "@aws-cdk/aws-ivs-alpha.ThumbnailConfiguration", version: "2.188.0-alpha.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0aHVtYm5haWwtY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw2Q0FBOEM7QUFHOUM7O0dBRUc7QUFDSCxJQUFZLGFBVVg7QUFWRCxXQUFZLGFBQWE7SUFDdkI7O09BRUc7SUFDSCxzQ0FBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILHNDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFWVyxhQUFhLDZCQUFiLGFBQWEsUUFVeEI7QUFFRDs7R0FFRztBQUNILElBQVksT0FVWDtBQVZELFdBQVksT0FBTztJQUNqQjs7T0FFRztJQUNILG9DQUF5QixDQUFBO0lBRXpCOztPQUVHO0lBQ0gsNEJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLE9BQU8sdUJBQVAsT0FBTyxRQVVsQjtBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBc0I7SUFDakM7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPLElBQUksc0JBQXNCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQzNEO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUF1QixFQUFFLE9BQW1CLEVBQUUsY0FBeUI7Ozs7Ozs7Ozs7UUFDNUYsT0FBTyxJQUFJLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztLQUNoRztJQUVEOzs7OztPQUtHO0lBQ0gsWUFDa0IsYUFBNkIsRUFDN0IsVUFBdUIsRUFDdkIsT0FBbUIsRUFDbkIsY0FBeUI7UUFIekIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLGVBQVUsR0FBVixVQUFVLENBQWE7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixtQkFBYyxHQUFkLGNBQWMsQ0FBVztRQUV6QyxJQUFJLGNBQWMsS0FBSyxTQUFTLElBQUksbUJBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN2RSxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksY0FBYyxDQUFDLGNBQWMsRUFBRSxHQUFHLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7WUFDM0UsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsY0FBYyxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ILENBQUM7UUFFRCxJQUFJLGNBQWMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxjQUFjLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JILENBQUM7S0FDRjs7QUExQ0gsd0RBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgUmVzb2x1dGlvbiB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogVGh1bWJuYWlsIHJlY29yZGluZyBtb2RlLlxuICovXG5leHBvcnQgZW51bSBSZWNvcmRpbmdNb2RlIHtcbiAgLyoqXG4gICAqIFVzZSBJTlRFUlZBTCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgdGh1bWJuYWlscyBmb3IgcmVjb3JkZWQgdmlkZW8gYXQgYSB0aW1lIGludGVydmFsIGNvbnRyb2xsZWQgYnkgdGhlIFRhcmdldEludGVydmFsU2Vjb25kcyBwcm9wZXJ0eS5cbiAgICovXG4gIElOVEVSVkFMID0gJ0lOVEVSVkFMJyxcblxuICAvKipcbiAgICogVXNlIERJU0FCTEVEIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGh1bWJuYWlscyBmb3IgcmVjb3JkZWQgdmlkZW8uXG4gICAqL1xuICBESVNBQkxFRCA9ICdESVNBQkxFRCcsXG59XG5cbi8qKlxuICogVGhlIGZvcm1hdCBpbiB3aGljaCB0aHVtYm5haWxzIGFyZSByZWNvcmRlZCBmb3IgYSBzdHJlYW0uXG4gKi9cbmV4cG9ydCBlbnVtIFN0b3JhZ2Uge1xuICAvKipcbiAgICogU0VRVUVOVElBTCByZWNvcmRzIGFsbCBnZW5lcmF0ZWQgdGh1bWJuYWlscyBpbiBhIHNlcmlhbCBtYW5uZXIsIHRvIHRoZSBtZWRpYS90aHVtYm5haWxzIGRpcmVjdG9yeS5cbiAgICovXG4gIFNFUVVFTlRJQUwgPSAnU0VRVUVOVElBTCcsXG5cbiAgLyoqXG4gICAqIExBVEVTVCBzYXZlcyB0aGUgbGF0ZXN0IHRodW1ibmFpbCBpbiBtZWRpYS90aHVtYm5haWxzL2xhdGVzdC90aHVtYi5qcGcgYW5kIG92ZXJ3cml0ZXMgaXQgYXQgdGhlIGludGVydmFsIHNwZWNpZmllZCBieSB0aHVtYm5haWxUYXJnZXRJbnRlcnZhbC5cbiAgICovXG4gIExBVEVTVCA9ICdMQVRFU1QnLFxufVxuXG4vKipcbiAqIFRodW1ibmFpbCBjb25maWd1cmF0aW9uIGZvciBJVlMgUmVjb3JkaW5nIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFRodW1ibmFpbENvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogRGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aHVtYm5haWxzIGZvciByZWNvcmRlZCB2aWRlb1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXNhYmxlKCk6IFRodW1ibmFpbENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgVGh1bWJuYWlsQ29uZmlndXJhdGlvbihSZWNvcmRpbmdNb2RlLkRJU0FCTEVEKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgdGh1bWJuYWlscyBmb3IgcmVjb3JkZWQgdmlkZW8gYXQgYSB0aW1lIGludGVydmFsLlxuICAgKlxuICAgKiBAcGFyYW0gcmVzb2x1dGlvbiBUaGUgZGVzaXJlZCByZXNvbHV0aW9uIG9mIHJlY29yZGVkIHRodW1ibmFpbHMgZm9yIGEgc3RyZWFtLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSwgc2FtZSByZXNvbHV0aW9uIGFzIElucHV0IHN0cmVhbSBpcyB1c2VkLlxuICAgKiBAcGFyYW0gc3RvcmFnZSBUaGUgZm9ybWF0IGluIHdoaWNoIHRodW1ibmFpbHMgYXJlIHJlY29yZGVkIGZvciBhIHN0cmVhbS4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHksIGBUaHVtYm5haWxTdG9yYWdlLlNFUVVFTlRJQUxgIGlzIHNldC5cbiAgICogQHBhcmFtIHRhcmdldEludGVydmFsIFRoZSB0YXJnZXRlZCB0aHVtYm5haWwtZ2VuZXJhdGlvbiBpbnRlcnZhbC4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHksIGBEdXJhdGlvbi5zZWNvbmRzKDYwKWAgaXMgc2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnRlcnZhbChyZXNvbHV0aW9uPzogUmVzb2x1dGlvbiwgc3RvcmFnZT86IFN0b3JhZ2VbXSwgdGFyZ2V0SW50ZXJ2YWw/OiBEdXJhdGlvbik6IFRodW1ibmFpbENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgVGh1bWJuYWlsQ29uZmlndXJhdGlvbihSZWNvcmRpbmdNb2RlLklOVEVSVkFMLCByZXNvbHV0aW9uLCBzdG9yYWdlLCB0YXJnZXRJbnRlcnZhbCk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHJlY29yZGluZ01vZGUgVGh1bWJuYWlsIHJlY29yZGluZyBtb2RlLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSwgYFRodW1ibmFpbFJlY29yZGluZ01vZGUuSU5URVJWQUxgIGlzIHNldC5cbiAgICogQHBhcmFtIHJlc29sdXRpb24gVGhlIGRlc2lyZWQgcmVzb2x1dGlvbiBvZiByZWNvcmRlZCB0aHVtYm5haWxzIGZvciBhIHN0cmVhbS4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHksIHNhbWUgcmVzb2x1dGlvbiBhcyBJbnB1dCBzdHJlYW0gaXMgdXNlZC5cbiAgICogQHBhcmFtIHN0b3JhZ2UgVGhlIGZvcm1hdCBpbiB3aGljaCB0aHVtYm5haWxzIGFyZSByZWNvcmRlZCBmb3IgYSBzdHJlYW0uIElmIHlvdSBkbyBub3Qgc3BlY2lmeSB0aGlzIHByb3BlcnR5LCBgVGh1bWJuYWlsU3RvcmFnZS5TRVFVRU5USUFMYCBpcyBzZXQuXG4gICAqIEBwYXJhbSB0YXJnZXRJbnRlcnZhbCBUaGUgdGFyZ2V0ZWQgdGh1bWJuYWlsLWdlbmVyYXRpb24gaW50ZXJ2YWwuIE11c3QgYmUgYmV0d2VlbiAxIGFuZCA2MCBzZWNvbmRzLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSwgYER1cmF0aW9uLnNlY29uZHMoNjApYCBpcyBzZXQuXG4gICAqL1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByZWNvcmRpbmdNb2RlPzogUmVjb3JkaW5nTW9kZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVzb2x1dGlvbj86IFJlc29sdXRpb24sXG4gICAgcHVibGljIHJlYWRvbmx5IHN0b3JhZ2U/OiBTdG9yYWdlW10sXG4gICAgcHVibGljIHJlYWRvbmx5IHRhcmdldEludGVydmFsPzogRHVyYXRpb24sXG4gICkge1xuICAgIGlmICh0YXJnZXRJbnRlcnZhbCA9PT0gdW5kZWZpbmVkIHx8IFRva2VuLmlzVW5yZXNvbHZlZCh0YXJnZXRJbnRlcnZhbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0SW50ZXJ2YWwudG9NaWxsaXNlY29uZHMoKSA8IER1cmF0aW9uLnNlY29uZHMoMSkudG9NaWxsaXNlY29uZHMoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBcXGB0YXJnZXRJbnRlcnZhbFxcYCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjAgc2Vjb25kcywgZ290ICR7dGFyZ2V0SW50ZXJ2YWwudG9NaWxsaXNlY29uZHMoKX0gbWlsbGlzZWNvbmRzLmApO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRJbnRlcnZhbC50b1NlY29uZHMoKSA+IDYwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFxcYHRhcmdldEludGVydmFsXFxgIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA2MCBzZWNvbmRzLCBnb3QgJHt0YXJnZXRJbnRlcnZhbC50b1NlY29uZHMoKX0gc2Vjb25kcy5gKTtcbiAgICB9XG4gIH1cbn1cblxuIl19