/*
* 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 medialive-2017-10-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.MediaLive.Model
{
///
/// Hls Group Settings
///
public partial class HlsGroupSettings
{
private List _adMarkers = new List();
private string _baseUrlContent;
private string _baseUrlContent1;
private string _baseUrlManifest;
private string _baseUrlManifest1;
private List _captionLanguageMappings = new List();
private HlsCaptionLanguageSetting _captionLanguageSetting;
private HlsClientCache _clientCache;
private HlsCodecSpecification _codecSpecification;
private string _constantIv;
private OutputLocationRef _destination;
private HlsDirectoryStructure _directoryStructure;
private HlsDiscontinuityTags _discontinuityTags;
private HlsEncryptionType _encryptionType;
private HlsCdnSettings _hlsCdnSettings;
private HlsId3SegmentTaggingState _hlsId3SegmentTagging;
private IFrameOnlyPlaylistType _iFrameOnlyPlaylists;
private HlsIncompleteSegmentBehavior _incompleteSegmentBehavior;
private int? _indexNSegments;
private InputLossActionForHlsOut _inputLossAction;
private HlsIvInManifest _ivInManifest;
private HlsIvSource _ivSource;
private int? _keepSegments;
private string _keyFormat;
private string _keyFormatVersions;
private KeyProviderSettings _keyProviderSettings;
private HlsManifestCompression _manifestCompression;
private HlsManifestDurationFormat _manifestDurationFormat;
private int? _minSegmentLength;
private HlsMode _mode;
private HlsOutputSelection _outputSelection;
private HlsProgramDateTime _programDateTime;
private HlsProgramDateTimeClock _programDateTimeClock;
private int? _programDateTimePeriod;
private HlsRedundantManifest _redundantManifest;
private HlsSegmentationMode _segmentationMode;
private int? _segmentLength;
private int? _segmentsPerSubdirectory;
private HlsStreamInfResolution _streamInfResolution;
private HlsTimedMetadataId3Frame _timedMetadataId3Frame;
private int? _timedMetadataId3Period;
private int? _timestampDeltaMilliseconds;
private HlsTsFileMode _tsFileMode;
///
/// Gets and sets the property AdMarkers. Choose one or more ad marker types to pass SCTE35
/// signals through to this group of Apple HLS outputs.
///
public List AdMarkers
{
get { return this._adMarkers; }
set { this._adMarkers = value; }
}
// Check to see if AdMarkers property is set
internal bool IsSetAdMarkers()
{
return this._adMarkers != null && this._adMarkers.Count > 0;
}
///
/// Gets and sets the property BaseUrlContent. A partial URI prefix that will be prepended
/// to each output in the media .m3u8 file. Can be used if base manifest is delivered
/// from a different URL than the main .m3u8 file.
///
public string BaseUrlContent
{
get { return this._baseUrlContent; }
set { this._baseUrlContent = value; }
}
// Check to see if BaseUrlContent property is set
internal bool IsSetBaseUrlContent()
{
return this._baseUrlContent != null;
}
///
/// Gets and sets the property BaseUrlContent1. Optional. One value per output group.This
/// field is required only if you are completing Base URL content A, and the downstream
/// system has notified you that the media files for pipeline 1 of all outputs are in
/// a location different from the media files for pipeline 0.
///
public string BaseUrlContent1
{
get { return this._baseUrlContent1; }
set { this._baseUrlContent1 = value; }
}
// Check to see if BaseUrlContent1 property is set
internal bool IsSetBaseUrlContent1()
{
return this._baseUrlContent1 != null;
}
///
/// Gets and sets the property BaseUrlManifest. A partial URI prefix that will be prepended
/// to each output in the media .m3u8 file. Can be used if base manifest is delivered
/// from a different URL than the main .m3u8 file.
///
public string BaseUrlManifest
{
get { return this._baseUrlManifest; }
set { this._baseUrlManifest = value; }
}
// Check to see if BaseUrlManifest property is set
internal bool IsSetBaseUrlManifest()
{
return this._baseUrlManifest != null;
}
///
/// Gets and sets the property BaseUrlManifest1. Optional. One value per output group.Complete
/// this field only if you are completing Base URL manifest A, and the downstream system
/// has notified you that the child manifest files for pipeline 1 of all outputs are in
/// a location different from the child manifest files for pipeline 0.
///
public string BaseUrlManifest1
{
get { return this._baseUrlManifest1; }
set { this._baseUrlManifest1 = value; }
}
// Check to see if BaseUrlManifest1 property is set
internal bool IsSetBaseUrlManifest1()
{
return this._baseUrlManifest1 != null;
}
///
/// Gets and sets the property CaptionLanguageMappings. Mapping of up to 4 caption channels
/// to caption languages. Is only meaningful if captionLanguageSetting is set to "insert".
///
public List CaptionLanguageMappings
{
get { return this._captionLanguageMappings; }
set { this._captionLanguageMappings = value; }
}
// Check to see if CaptionLanguageMappings property is set
internal bool IsSetCaptionLanguageMappings()
{
return this._captionLanguageMappings != null && this._captionLanguageMappings.Count > 0;
}
///
/// Gets and sets the property CaptionLanguageSetting. Applies only to 608 Embedded output
/// captions.insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one
/// language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each
/// Language Code you specify. Make sure to specify the languages in the order in which
/// they appear in the original source (if the source is embedded format) or the order
/// of the caption selectors (if the source is other than embedded). Otherwise, languages
/// in the manifest will not match up properly with the output captions.none: Include
/// CLOSED-CAPTIONS=NONE line in the manifest.omit: Omit any CLOSED-CAPTIONS line from
/// the manifest.
///
public HlsCaptionLanguageSetting CaptionLanguageSetting
{
get { return this._captionLanguageSetting; }
set { this._captionLanguageSetting = value; }
}
// Check to see if CaptionLanguageSetting property is set
internal bool IsSetCaptionLanguageSetting()
{
return this._captionLanguageSetting != null;
}
///
/// Gets and sets the property ClientCache. When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no
/// tag in the manifest, which prevents clients from saving media segments for later replay.
///
public HlsClientCache ClientCache
{
get { return this._clientCache; }
set { this._clientCache = value; }
}
// Check to see if ClientCache property is set
internal bool IsSetClientCache()
{
return this._clientCache != null;
}
///
/// Gets and sets the property CodecSpecification. Specification to use (RFC-6381 or the
/// default RFC-4281) during m3u8 playlist generation.
///
public HlsCodecSpecification CodecSpecification
{
get { return this._codecSpecification; }
set { this._codecSpecification = value; }
}
// Check to see if CodecSpecification property is set
internal bool IsSetCodecSpecification()
{
return this._codecSpecification != null;
}
///
/// Gets and sets the property ConstantIv. For use with encryptionType. This is a 128-bit,
/// 16-byte hex value represented by a 32-character text string. If ivSource is set to
/// "explicit" then this parameter is required and is used as the IV for encryption.
///
[AWSProperty(Min=32, Max=32)]
public string ConstantIv
{
get { return this._constantIv; }
set { this._constantIv = value; }
}
// Check to see if ConstantIv property is set
internal bool IsSetConstantIv()
{
return this._constantIv != null;
}
///
/// Gets and sets the property Destination. A directory or HTTP destination for the HLS
/// segments, manifest files, and encryption keys (if enabled).
///
[AWSProperty(Required=true)]
public OutputLocationRef Destination
{
get { return this._destination; }
set { this._destination = value; }
}
// Check to see if Destination property is set
internal bool IsSetDestination()
{
return this._destination != null;
}
///
/// Gets and sets the property DirectoryStructure. Place segments in subdirectories.
///
public HlsDirectoryStructure DirectoryStructure
{
get { return this._directoryStructure; }
set { this._directoryStructure = value; }
}
// Check to see if DirectoryStructure property is set
internal bool IsSetDirectoryStructure()
{
return this._directoryStructure != null;
}
///
/// Gets and sets the property DiscontinuityTags. Specifies whether to insert EXT-X-DISCONTINUITY
/// tags in the HLS child manifests for this output group.Typically, choose Insert because
/// these tags are required in the manifest (according to the HLS specification) and serve
/// an important purpose.Choose Never Insert only if the downstream system is doing real-time
/// failover (without using the MediaLive automatic failover feature) and only if that
/// downstream system has advised you to exclude the tags.
///
public HlsDiscontinuityTags DiscontinuityTags
{
get { return this._discontinuityTags; }
set { this._discontinuityTags = value; }
}
// Check to see if DiscontinuityTags property is set
internal bool IsSetDiscontinuityTags()
{
return this._discontinuityTags != null;
}
///
/// Gets and sets the property EncryptionType. Encrypts the segments with the given encryption
/// scheme. Exclude this parameter if no encryption is desired.
///
public HlsEncryptionType EncryptionType
{
get { return this._encryptionType; }
set { this._encryptionType = value; }
}
// Check to see if EncryptionType property is set
internal bool IsSetEncryptionType()
{
return this._encryptionType != null;
}
///
/// Gets and sets the property HlsCdnSettings. Parameters that control interactions with
/// the CDN.
///
public HlsCdnSettings HlsCdnSettings
{
get { return this._hlsCdnSettings; }
set { this._hlsCdnSettings = value; }
}
// Check to see if HlsCdnSettings property is set
internal bool IsSetHlsCdnSettings()
{
return this._hlsCdnSettings != null;
}
///
/// Gets and sets the property HlsId3SegmentTagging. State of HLS ID3 Segment Tagging
///
public HlsId3SegmentTaggingState HlsId3SegmentTagging
{
get { return this._hlsId3SegmentTagging; }
set { this._hlsId3SegmentTagging = value; }
}
// Check to see if HlsId3SegmentTagging property is set
internal bool IsSetHlsId3SegmentTagging()
{
return this._hlsId3SegmentTagging != null;
}
///
/// Gets and sets the property IFrameOnlyPlaylists. DISABLED: Do not create an I-frame-only
/// manifest, but do create the master and media manifests (according to the Output Selection
/// field).STANDARD: Create an I-frame-only manifest for each output that contains video,
/// as well as the other manifests (according to the Output Selection field). The I-frame
/// manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one
/// or more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, #EXT-X-BYTERANGE:160364@1461888"
///
public IFrameOnlyPlaylistType IFrameOnlyPlaylists
{
get { return this._iFrameOnlyPlaylists; }
set { this._iFrameOnlyPlaylists = value; }
}
// Check to see if IFrameOnlyPlaylists property is set
internal bool IsSetIFrameOnlyPlaylists()
{
return this._iFrameOnlyPlaylists != null;
}
///
/// Gets and sets the property IncompleteSegmentBehavior. Specifies whether to include
/// the final (incomplete) segment in the media output when the pipeline stops producing
/// output because of a channel stop, a channel pause or a loss of input to the pipeline.Auto
/// means that MediaLive decides whether to include the final segment, depending on the
/// channel class and the types of output groups.Suppress means to never include the incomplete
/// segment. We recommend you choose Auto and let MediaLive control the behavior.
///
public HlsIncompleteSegmentBehavior IncompleteSegmentBehavior
{
get { return this._incompleteSegmentBehavior; }
set { this._incompleteSegmentBehavior = value; }
}
// Check to see if IncompleteSegmentBehavior property is set
internal bool IsSetIncompleteSegmentBehavior()
{
return this._incompleteSegmentBehavior != null;
}
///
/// Gets and sets the property IndexNSegments. Applies only if Mode field is LIVE.Specifies
/// the maximum number of segments in the media manifest file. After this maximum, older
/// segments are removed from the media manifest. This number must be smaller than the
/// number in the Keep Segments field.
///
[AWSProperty(Min=3)]
public int IndexNSegments
{
get { return this._indexNSegments.GetValueOrDefault(); }
set { this._indexNSegments = value; }
}
// Check to see if IndexNSegments property is set
internal bool IsSetIndexNSegments()
{
return this._indexNSegments.HasValue;
}
///
/// Gets and sets the property InputLossAction. Parameter that control output group behavior
/// on input loss.
///
public InputLossActionForHlsOut InputLossAction
{
get { return this._inputLossAction; }
set { this._inputLossAction = value; }
}
// Check to see if InputLossAction property is set
internal bool IsSetInputLossAction()
{
return this._inputLossAction != null;
}
///
/// Gets and sets the property IvInManifest. For use with encryptionType. The IV (Initialization
/// Vector) is a 128-bit number used in conjunction with the key for encrypting blocks.
/// If set to "include", IV is listed in the manifest, otherwise the IV is not in the
/// manifest.
///
public HlsIvInManifest IvInManifest
{
get { return this._ivInManifest; }
set { this._ivInManifest = value; }
}
// Check to see if IvInManifest property is set
internal bool IsSetIvInManifest()
{
return this._ivInManifest != null;
}
///
/// Gets and sets the property IvSource. For use with encryptionType. The IV (Initialization
/// Vector) is a 128-bit number used in conjunction with the key for encrypting blocks.
/// If this setting is "followsSegmentNumber", it will cause the IV to change every segment
/// (to match the segment number). If this is set to "explicit", you must enter a constantIv
/// value.
///
public HlsIvSource IvSource
{
get { return this._ivSource; }
set { this._ivSource = value; }
}
// Check to see if IvSource property is set
internal bool IsSetIvSource()
{
return this._ivSource != null;
}
///
/// Gets and sets the property KeepSegments. Applies only if Mode field is LIVE.Specifies
/// the number of media segments to retain in the destination directory. This number should
/// be bigger than indexNSegments (Num segments). We recommend (value = (2 x indexNsegments)
/// + 1).If this "keep segments" number is too low, the following might happen: the player
/// is still reading a media manifest file that lists this segment, but that segment has
/// been removed from the destination directory (as directed by indexNSegments). This
/// situation would result in a 404 HTTP error on the player.
///
[AWSProperty(Min=1)]
public int KeepSegments
{
get { return this._keepSegments.GetValueOrDefault(); }
set { this._keepSegments = value; }
}
// Check to see if KeepSegments property is set
internal bool IsSetKeepSegments()
{
return this._keepSegments.HasValue;
}
///
/// Gets and sets the property KeyFormat. The value specifies how the key is represented
/// in the resource identified by the URI. If parameter is absent, an implicit value
/// of "identity" is used. A reverse DNS string can also be given.
///
public string KeyFormat
{
get { return this._keyFormat; }
set { this._keyFormat = value; }
}
// Check to see if KeyFormat property is set
internal bool IsSetKeyFormat()
{
return this._keyFormat != null;
}
///
/// Gets and sets the property KeyFormatVersions. Either a single positive integer version
/// value or a slash delimited list of version values (1/2/3).
///
public string KeyFormatVersions
{
get { return this._keyFormatVersions; }
set { this._keyFormatVersions = value; }
}
// Check to see if KeyFormatVersions property is set
internal bool IsSetKeyFormatVersions()
{
return this._keyFormatVersions != null;
}
///
/// Gets and sets the property KeyProviderSettings. The key provider settings.
///
public KeyProviderSettings KeyProviderSettings
{
get { return this._keyProviderSettings; }
set { this._keyProviderSettings = value; }
}
// Check to see if KeyProviderSettings property is set
internal bool IsSetKeyProviderSettings()
{
return this._keyProviderSettings != null;
}
///
/// Gets and sets the property ManifestCompression. When set to gzip, compresses HLS playlist.
///
public HlsManifestCompression ManifestCompression
{
get { return this._manifestCompression; }
set { this._manifestCompression = value; }
}
// Check to see if ManifestCompression property is set
internal bool IsSetManifestCompression()
{
return this._manifestCompression != null;
}
///
/// Gets and sets the property ManifestDurationFormat. Indicates whether the output manifest
/// should use floating point or integer values for segment duration.
///
public HlsManifestDurationFormat ManifestDurationFormat
{
get { return this._manifestDurationFormat; }
set { this._manifestDurationFormat = value; }
}
// Check to see if ManifestDurationFormat property is set
internal bool IsSetManifestDurationFormat()
{
return this._manifestDurationFormat != null;
}
///
/// Gets and sets the property MinSegmentLength. Minimum length of MPEG-2 Transport Stream
/// segments in seconds. When set, minimum segment length is enforced by looking ahead
/// and back within the specified range for a nearby avail and extending the segment size
/// if needed.
///
[AWSProperty(Min=0)]
public int MinSegmentLength
{
get { return this._minSegmentLength.GetValueOrDefault(); }
set { this._minSegmentLength = value; }
}
// Check to see if MinSegmentLength property is set
internal bool IsSetMinSegmentLength()
{
return this._minSegmentLength.HasValue;
}
///
/// Gets and sets the property Mode. If "vod", all segments are indexed and kept permanently
/// in the destination and manifest. If "live", only the number segments specified in
/// keepSegments and indexNSegments are kept; newer segments replace older segments, which
/// may prevent players from rewinding all the way to the beginning of the event.VOD mode
/// uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, converting it
/// to a "VOD" type manifest on completion of the stream.
///
public HlsMode Mode
{
get { return this._mode; }
set { this._mode = value; }
}
// Check to see if Mode property is set
internal bool IsSetMode()
{
return this._mode != null;
}
///
/// Gets and sets the property OutputSelection. MANIFESTS_AND_SEGMENTS: Generates manifests
/// (master manifest, if applicable, and media manifests) for this output group.VARIANT_MANIFESTS_AND_SEGMENTS:
/// Generates media manifests for this output group, but not a master manifest.SEGMENTS_ONLY:
/// Does not generate any manifests for this output group.
///
public HlsOutputSelection OutputSelection
{
get { return this._outputSelection; }
set { this._outputSelection = value; }
}
// Check to see if OutputSelection property is set
internal bool IsSetOutputSelection()
{
return this._outputSelection != null;
}
///
/// Gets and sets the property ProgramDateTime. Includes or excludes EXT-X-PROGRAM-DATE-TIME
/// tag in .m3u8 manifest files. The value is calculated using the program date time clock.
///
public HlsProgramDateTime ProgramDateTime
{
get { return this._programDateTime; }
set { this._programDateTime = value; }
}
// Check to see if ProgramDateTime property is set
internal bool IsSetProgramDateTime()
{
return this._programDateTime != null;
}
///
/// Gets and sets the property ProgramDateTimeClock. Specifies the algorithm used to drive
/// the HLS EXT-X-PROGRAM-DATE-TIME clock. Options include:INITIALIZE_FROM_OUTPUT_TIMECODE:
/// The PDT clock is initialized as a function of the first output timecode, then incremented
/// by the EXTINF duration of each encoded segment.SYSTEM_CLOCK: The PDT clock is initialized
/// as a function of the UTC wall clock, then incremented by the EXTINF duration of each
/// encoded segment. If the PDT clock diverges from the wall clock by more than 500ms,
/// it is resynchronized to the wall clock.
///
public HlsProgramDateTimeClock ProgramDateTimeClock
{
get { return this._programDateTimeClock; }
set { this._programDateTimeClock = value; }
}
// Check to see if ProgramDateTimeClock property is set
internal bool IsSetProgramDateTimeClock()
{
return this._programDateTimeClock != null;
}
///
/// Gets and sets the property ProgramDateTimePeriod. Period of insertion of EXT-X-PROGRAM-DATE-TIME
/// entry, in seconds.
///
[AWSProperty(Min=0, Max=3600)]
public int ProgramDateTimePeriod
{
get { return this._programDateTimePeriod.GetValueOrDefault(); }
set { this._programDateTimePeriod = value; }
}
// Check to see if ProgramDateTimePeriod property is set
internal bool IsSetProgramDateTimePeriod()
{
return this._programDateTimePeriod.HasValue;
}
///
/// Gets and sets the property RedundantManifest. ENABLED: The master manifest (.m3u8
/// file) for each pipeline includes information about both pipelines: first its own media
/// files, then the media files of the other pipeline. This feature allows playout device
/// that support stale manifest detection to switch from one manifest to the other, when
/// the current manifest seems to be stale. There are still two destinations and two master
/// manifests, but both master manifests reference the media files from both pipelines.DISABLED:
/// The master manifest (.m3u8 file) for each pipeline includes information about its
/// own pipeline only.For an HLS output group with MediaPackage as the destination, the
/// DISABLED behavior is always followed. MediaPackage regenerates the manifests it serves
/// to players so a redundant manifest from MediaLive is irrelevant.
///
public HlsRedundantManifest RedundantManifest
{
get { return this._redundantManifest; }
set { this._redundantManifest = value; }
}
// Check to see if RedundantManifest property is set
internal bool IsSetRedundantManifest()
{
return this._redundantManifest != null;
}
///
/// Gets and sets the property SegmentationMode. useInputSegmentation has been deprecated.
/// The configured segment size is always used.
///
public HlsSegmentationMode SegmentationMode
{
get { return this._segmentationMode; }
set { this._segmentationMode = value; }
}
// Check to see if SegmentationMode property is set
internal bool IsSetSegmentationMode()
{
return this._segmentationMode != null;
}
///
/// Gets and sets the property SegmentLength. Length of MPEG-2 Transport Stream segments
/// to create in seconds. Note that segments will end on the next keyframe after this
/// duration, so actual segment length may be longer.
///
[AWSProperty(Min=1)]
public int SegmentLength
{
get { return this._segmentLength.GetValueOrDefault(); }
set { this._segmentLength = value; }
}
// Check to see if SegmentLength property is set
internal bool IsSetSegmentLength()
{
return this._segmentLength.HasValue;
}
///
/// Gets and sets the property SegmentsPerSubdirectory. Number of segments to write to
/// a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream
/// for this setting to have an effect.
///
[AWSProperty(Min=1)]
public int SegmentsPerSubdirectory
{
get { return this._segmentsPerSubdirectory.GetValueOrDefault(); }
set { this._segmentsPerSubdirectory = value; }
}
// Check to see if SegmentsPerSubdirectory property is set
internal bool IsSetSegmentsPerSubdirectory()
{
return this._segmentsPerSubdirectory.HasValue;
}
///
/// Gets and sets the property StreamInfResolution. Include or exclude RESOLUTION attribute
/// for video in EXT-X-STREAM-INF tag of variant manifest.
///
public HlsStreamInfResolution StreamInfResolution
{
get { return this._streamInfResolution; }
set { this._streamInfResolution = value; }
}
// Check to see if StreamInfResolution property is set
internal bool IsSetStreamInfResolution()
{
return this._streamInfResolution != null;
}
///
/// Gets and sets the property TimedMetadataId3Frame. Indicates ID3 frame that has the
/// timecode.
///
public HlsTimedMetadataId3Frame TimedMetadataId3Frame
{
get { return this._timedMetadataId3Frame; }
set { this._timedMetadataId3Frame = value; }
}
// Check to see if TimedMetadataId3Frame property is set
internal bool IsSetTimedMetadataId3Frame()
{
return this._timedMetadataId3Frame != null;
}
///
/// Gets and sets the property TimedMetadataId3Period. Timed Metadata interval in seconds.
///
[AWSProperty(Min=0)]
public int TimedMetadataId3Period
{
get { return this._timedMetadataId3Period.GetValueOrDefault(); }
set { this._timedMetadataId3Period = value; }
}
// Check to see if TimedMetadataId3Period property is set
internal bool IsSetTimedMetadataId3Period()
{
return this._timedMetadataId3Period.HasValue;
}
///
/// Gets and sets the property TimestampDeltaMilliseconds. Provides an extra millisecond
/// delta offset to fine tune the timestamps.
///
[AWSProperty(Min=0)]
public int TimestampDeltaMilliseconds
{
get { return this._timestampDeltaMilliseconds.GetValueOrDefault(); }
set { this._timestampDeltaMilliseconds = value; }
}
// Check to see if TimestampDeltaMilliseconds property is set
internal bool IsSetTimestampDeltaMilliseconds()
{
return this._timestampDeltaMilliseconds.HasValue;
}
///
/// Gets and sets the property TsFileMode. SEGMENTED_FILES: Emit the program as segments
/// - multiple .ts media files.SINGLE_FILE: Applies only if Mode field is VOD. Emit the
/// program as a single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags
/// to index segments for playback. A typical use for this value is when sending the output
/// to AWS Elemental MediaConvert, which can accept only a single media file. Playback
/// while the channel is running is not guaranteed due to HTTP server caching.
///
public HlsTsFileMode TsFileMode
{
get { return this._tsFileMode; }
set { this._tsFileMode = value; }
}
// Check to see if TsFileMode property is set
internal bool IsSetTsFileMode()
{
return this._tsFileMode != null;
}
}
}