UNPKG

@aws-cdk/aws-ivs-alpha

Version:

The CDK Construct Library for AWS::IVS

92 lines 10.7 kB
"use strict"; 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 { recordingMode; resolution; storage; targetInterval; static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-ivs-alpha.ThumbnailConfiguration", version: "2.257.0-alpha.0" }; /** * 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; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0aHVtYm5haWwtY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE4QztBQUc5Qzs7R0FFRztBQUNILElBQVksYUFVWDtBQVZELFdBQVksYUFBYTtJQUN2Qjs7T0FFRztJQUNILHNDQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsc0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVZXLGFBQWEsNkJBQWIsYUFBYSxRQVV4QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxPQVVYO0FBVkQsV0FBWSxPQUFPO0lBQ2pCOztPQUVHO0lBQ0gsb0NBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCw0QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVlcsT0FBTyx1QkFBUCxPQUFPLFFBVWxCO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHNCQUFzQjtJQTBCZjtJQUNBO0lBQ0E7SUFDQTs7SUE1QmxCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxJQUFJLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUMzRDtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBdUIsRUFBRSxPQUFtQixFQUFFLGNBQXlCOzs7Ozs7Ozs7O1FBQzVGLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7S0FDaEc7SUFFRDs7Ozs7T0FLRztJQUNILFlBQ2tCLGFBQTZCLEVBQzdCLFVBQXVCLEVBQ3ZCLE9BQW1CLEVBQ25CLGNBQXlCO1FBSHpCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUFhO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQVc7UUFFekMsSUFBSSxjQUFjLEtBQUssU0FBUyxJQUFJLG1CQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDdkUsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLGNBQWMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQzNFLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELGNBQWMsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMvSCxDQUFDO1FBRUQsSUFBSSxjQUFjLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsY0FBYyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNySCxDQUFDO0tBQ0Y7O0FBMUNILHdEQTJDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBUb2tlbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB0eXBlIHsgUmVzb2x1dGlvbiB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogVGh1bWJuYWlsIHJlY29yZGluZyBtb2RlLlxuICovXG5leHBvcnQgZW51bSBSZWNvcmRpbmdNb2RlIHtcbiAgLyoqXG4gICAqIFVzZSBJTlRFUlZBTCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgdGh1bWJuYWlscyBmb3IgcmVjb3JkZWQgdmlkZW8gYXQgYSB0aW1lIGludGVydmFsIGNvbnRyb2xsZWQgYnkgdGhlIFRhcmdldEludGVydmFsU2Vjb25kcyBwcm9wZXJ0eS5cbiAgICovXG4gIElOVEVSVkFMID0gJ0lOVEVSVkFMJyxcblxuICAvKipcbiAgICogVXNlIERJU0FCTEVEIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGh1bWJuYWlscyBmb3IgcmVjb3JkZWQgdmlkZW8uXG4gICAqL1xuICBESVNBQkxFRCA9ICdESVNBQkxFRCcsXG59XG5cbi8qKlxuICogVGhlIGZvcm1hdCBpbiB3aGljaCB0aHVtYm5haWxzIGFyZSByZWNvcmRlZCBmb3IgYSBzdHJlYW0uXG4gKi9cbmV4cG9ydCBlbnVtIFN0b3JhZ2Uge1xuICAvKipcbiAgICogU0VRVUVOVElBTCByZWNvcmRzIGFsbCBnZW5lcmF0ZWQgdGh1bWJuYWlscyBpbiBhIHNlcmlhbCBtYW5uZXIsIHRvIHRoZSBtZWRpYS90aHVtYm5haWxzIGRpcmVjdG9yeS5cbiAgICovXG4gIFNFUVVFTlRJQUwgPSAnU0VRVUVOVElBTCcsXG5cbiAgLyoqXG4gICAqIExBVEVTVCBzYXZlcyB0aGUgbGF0ZXN0IHRodW1ibmFpbCBpbiBtZWRpYS90aHVtYm5haWxzL2xhdGVzdC90aHVtYi5qcGcgYW5kIG92ZXJ3cml0ZXMgaXQgYXQgdGhlIGludGVydmFsIHNwZWNpZmllZCBieSB0aHVtYm5haWxUYXJnZXRJbnRlcnZhbC5cbiAgICovXG4gIExBVEVTVCA9ICdMQVRFU1QnLFxufVxuXG4vKipcbiAqIFRodW1ibmFpbCBjb25maWd1cmF0aW9uIGZvciBJVlMgUmVjb3JkaW5nIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFRodW1ibmFpbENvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogRGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aHVtYm5haWxzIGZvciByZWNvcmRlZCB2aWRlb1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXNhYmxlKCk6IFRodW1ibmFpbENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgVGh1bWJuYWlsQ29uZmlndXJhdGlvbihSZWNvcmRpbmdNb2RlLkRJU0FCTEVEKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgdGh1bWJuYWlscyBmb3IgcmVjb3JkZWQgdmlkZW8gYXQgYSB0aW1lIGludGVydmFsLlxuICAgKlxuICAgKiBAcGFyYW0gcmVzb2x1dGlvbiBUaGUgZGVzaXJlZCByZXNvbHV0aW9uIG9mIHJlY29yZGVkIHRodW1ibmFpbHMgZm9yIGEgc3RyZWFtLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSwgc2FtZSByZXNvbHV0aW9uIGFzIElucHV0IHN0cmVhbSBpcyB1c2VkLlxuICAgKiBAcGFyYW0gc3RvcmFnZSBUaGUgZm9ybWF0IGluIHdoaWNoIHRodW1ibmFpbHMgYXJlIHJlY29yZGVkIGZvciBhIHN0cmVhbS4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHksIGBUaHVtYm5haWxTdG9yYWdlLlNFUVVFTlRJQUxgIGlzIHNldC5cbiAgICogQHBhcmFtIHRhcmdldEludGVydmFsIFRoZSB0YXJnZXRlZCB0aHVtYm5haWwtZ2VuZXJhdGlvbiBpbnRlcnZhbC4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHksIGBEdXJhdGlvbi5zZWNvbmRzKDYwKWAgaXMgc2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnRlcnZhbChyZXNvbHV0aW9uPzogUmVzb2x1dGlvbiwgc3RvcmFnZT86IFN0b3JhZ2VbXSwgdGFyZ2V0SW50ZXJ2YWw/OiBEdXJhdGlvbik6IFRodW1ibmFpbENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgVGh1bWJuYWlsQ29uZmlndXJhdGlvbihSZWNvcmRpbmdNb2RlLklOVEVSVkFMLCByZXNvbHV0aW9uLCBzdG9yYWdlLCB0YXJnZXRJbnRlcnZhbCk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHJlY29yZGluZ01vZGUgVGh1bWJuYWlsIHJlY29yZGluZyBtb2RlLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSwgYFRodW1ibmFpbFJlY29yZGluZ01vZGUuSU5URVJWQUxgIGlzIHNldC5cbiAgICogQHBhcmFtIHJlc29sdXRpb24gVGhlIGRlc2lyZWQgcmVzb2x1dGlvbiBvZiByZWNvcmRlZCB0aHVtYm5haWxzIGZvciBhIHN0cmVhbS4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHksIHNhbWUgcmVzb2x1dGlvbiBhcyBJbnB1dCBzdHJlYW0gaXMgdXNlZC5cbiAgICogQHBhcmFtIHN0b3JhZ2UgVGhlIGZvcm1hdCBpbiB3aGljaCB0aHVtYm5haWxzIGFyZSByZWNvcmRlZCBmb3IgYSBzdHJlYW0uIElmIHlvdSBkbyBub3Qgc3BlY2lmeSB0aGlzIHByb3BlcnR5LCBgVGh1bWJuYWlsU3RvcmFnZS5TRVFVRU5USUFMYCBpcyBzZXQuXG4gICAqIEBwYXJhbSB0YXJnZXRJbnRlcnZhbCBUaGUgdGFyZ2V0ZWQgdGh1bWJuYWlsLWdlbmVyYXRpb24gaW50ZXJ2YWwuIE11c3QgYmUgYmV0d2VlbiAxIGFuZCA2MCBzZWNvbmRzLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSwgYER1cmF0aW9uLnNlY29uZHMoNjApYCBpcyBzZXQuXG4gICAqL1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByZWNvcmRpbmdNb2RlPzogUmVjb3JkaW5nTW9kZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVzb2x1dGlvbj86IFJlc29sdXRpb24sXG4gICAgcHVibGljIHJlYWRvbmx5IHN0b3JhZ2U/OiBTdG9yYWdlW10sXG4gICAgcHVibGljIHJlYWRvbmx5IHRhcmdldEludGVydmFsPzogRHVyYXRpb24sXG4gICkge1xuICAgIGlmICh0YXJnZXRJbnRlcnZhbCA9PT0gdW5kZWZpbmVkIHx8IFRva2VuLmlzVW5yZXNvbHZlZCh0YXJnZXRJbnRlcnZhbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0SW50ZXJ2YWwudG9NaWxsaXNlY29uZHMoKSA8IER1cmF0aW9uLnNlY29uZHMoMSkudG9NaWxsaXNlY29uZHMoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBcXGB0YXJnZXRJbnRlcnZhbFxcYCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjAgc2Vjb25kcywgZ290ICR7dGFyZ2V0SW50ZXJ2YWwudG9NaWxsaXNlY29uZHMoKX0gbWlsbGlzZWNvbmRzLmApO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRJbnRlcnZhbC50b1NlY29uZHMoKSA+IDYwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFxcYHRhcmdldEludGVydmFsXFxgIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA2MCBzZWNvbmRzLCBnb3QgJHt0YXJnZXRJbnRlcnZhbC50b1NlY29uZHMoKX0gc2Vjb25kcy5gKTtcbiAgICB9XG4gIH1cbn1cblxuIl19