/*
* 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;
}
}
}