/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the ivs-2020-07-14.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.IVS.Model { /// /// An object representing a configuration of thumbnails for recorded video. /// public partial class ThumbnailConfiguration { private RecordingMode _recordingMode; private ThumbnailConfigurationResolution _resolution; private List _storage = new List(); private long? _targetIntervalSeconds; /// /// Gets and sets the property RecordingMode. /// /// Thumbnail recording mode. Default: INTERVAL. /// /// public RecordingMode RecordingMode { get { return this._recordingMode; } set { this._recordingMode = value; } } // Check to see if RecordingMode property is set internal bool IsSetRecordingMode() { return this._recordingMode != null; } /// /// Gets and sets the property Resolution. /// /// Indicates the desired resolution of recorded thumbnails. Thumbnails are recorded at /// the selected resolution if the corresponding rendition is available during the stream; /// otherwise, they are recorded at source resolution. For more information about resolution /// values and their corresponding height and width dimensions, see Auto-Record /// to Amazon S3. Default: Null (source resolution is returned). /// /// public ThumbnailConfigurationResolution Resolution { get { return this._resolution; } set { this._resolution = value; } } // Check to see if Resolution property is set internal bool IsSetResolution() { return this._resolution != null; } /// /// Gets and sets the property Storage. /// /// Indicates the format in which thumbnails are recorded. SEQUENTIAL records /// all generated thumbnails in a serial manner, to the media/thumbnails directory. LATEST /// saves the latest thumbnail in media/latest_thumbnail/thumb.jpg and overwrites it at /// the interval specified by targetIntervalSeconds. You can enable both /// SEQUENTIAL and LATEST. Default: SEQUENTIAL. /// /// public List Storage { get { return this._storage; } set { this._storage = value; } } // Check to see if Storage property is set internal bool IsSetStorage() { return this._storage != null && this._storage.Count > 0; } /// /// Gets and sets the property TargetIntervalSeconds. /// /// The targeted thumbnail-generation interval in seconds. This is configurable (and required) /// only if recordingMode is INTERVAL. Default: 60. /// /// /// /// Important: For the BASIC channel type, setting a value for targetIntervalSeconds /// does not guarantee that thumbnails are generated at the specified interval. For thumbnails /// to be generated at the targetIntervalSeconds interval, the IDR/Keyframe /// value for the input video must be less than the targetIntervalSeconds /// value. See /// Amazon IVS Streaming Configuration for information on setting IDR/Keyframe /// to the recommended value in video-encoder settings. /// /// [AWSProperty(Min=1, Max=60)] public long TargetIntervalSeconds { get { return this._targetIntervalSeconds.GetValueOrDefault(); } set { this._targetIntervalSeconds = value; } } // Check to see if TargetIntervalSeconds property is set internal bool IsSetTargetIntervalSeconds() { return this._targetIntervalSeconds.HasValue; } } }