/* * 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 mediaconvert-2017-08-29.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.MediaConvert.Model { /// /// These settings relate to your MP4 output container. You can create audio only outputs /// with this container. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/supported-codecs-containers-audio-only.html#output-codecs-and-containers-supported-for-audio-only. /// public partial class Mp4Settings { private CmfcAudioDuration _audioDuration; private Mp4CslgAtom _cslgAtom; private int? _cttsVersion; private Mp4FreeSpaceBox _freeSpaceBox; private Mp4MoovPlacement _moovPlacement; private string _mp4MajorBrand; /// /// Gets and sets the property AudioDuration. Specify this setting only when your output /// will be consumed by a downstream repackaging workflow that is sensitive to very small /// duration differences between video and audio. For this situation, choose Match video /// duration. In all other cases, keep the default value, Default codec duration. When /// you choose Match video duration, MediaConvert pads the output audio streams with silence /// or trims them to ensure that the total duration of each audio stream is at least as /// long as the total duration of the video stream. After padding or trimming, the audio /// stream duration is no more than one frame longer than the video stream. MediaConvert /// applies audio padding or trimming only to the end of the last segment of the output. /// For unsegmented outputs, MediaConvert adds padding only to the end of the file. When /// you keep the default value, any minor discrepancies between audio and video duration /// will depend on your output audio codec. /// public CmfcAudioDuration AudioDuration { get { return this._audioDuration; } set { this._audioDuration = value; } } // Check to see if AudioDuration property is set internal bool IsSetAudioDuration() { return this._audioDuration != null; } /// /// Gets and sets the property CslgAtom. When enabled, file composition times will start /// at zero, composition times in the 'ctts' (composition time to sample) box for B-frames /// will be negative, and a 'cslg' (composition shift least greatest) box will be included /// per 14496-1 amendment 1. This improves compatibility with Apple players and tools. /// public Mp4CslgAtom CslgAtom { get { return this._cslgAtom; } set { this._cslgAtom = value; } } // Check to see if CslgAtom property is set internal bool IsSetCslgAtom() { return this._cslgAtom != null; } /// /// Gets and sets the property CttsVersion. Ignore this setting unless compliance to the /// CTTS box version specification matters in your workflow. Specify a value of 1 to set /// your CTTS box version to 1 and make your output compliant with the specification. /// When you specify a value of 1, you must also set CSLG atom to the value INCLUDE. Keep /// the default value 0 to set your CTTS box version to 0. This can provide backward compatibility /// for some players and packagers. /// [AWSProperty(Min=0, Max=1)] public int CttsVersion { get { return this._cttsVersion.GetValueOrDefault(); } set { this._cttsVersion = value; } } // Check to see if CttsVersion property is set internal bool IsSetCttsVersion() { return this._cttsVersion.HasValue; } /// /// Gets and sets the property FreeSpaceBox. Inserts a free-space box immediately after /// the moov box. /// public Mp4FreeSpaceBox FreeSpaceBox { get { return this._freeSpaceBox; } set { this._freeSpaceBox = value; } } // Check to see if FreeSpaceBox property is set internal bool IsSetFreeSpaceBox() { return this._freeSpaceBox != null; } /// /// Gets and sets the property MoovPlacement. If set to PROGRESSIVE_DOWNLOAD, the MOOV /// atom is relocated to the beginning of the archive as required for progressive downloading. /// Otherwise it is placed normally at the end. /// public Mp4MoovPlacement MoovPlacement { get { return this._moovPlacement; } set { this._moovPlacement = value; } } // Check to see if MoovPlacement property is set internal bool IsSetMoovPlacement() { return this._moovPlacement != null; } /// /// Gets and sets the property Mp4MajorBrand. Overrides the "Major Brand" field in the /// output file. Usually not necessary to specify. /// public string Mp4MajorBrand { get { return this._mp4MajorBrand; } set { this._mp4MajorBrand = value; } } // Check to see if Mp4MajorBrand property is set internal bool IsSetMp4MajorBrand() { return this._mp4MajorBrand != null; } } }