/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Create a low-latency HTTP live streaming (HLS) manifest
* configuration.See Also:
AWS
* API Reference
A short short string that's appended to the endpoint URL. The manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index. MediaPackage automatically inserts the * format extension, such as .m3u8. You can't use the same manifest name if you use * HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest * object overrides the manifestName you provided on the originEndpoint object.
*/ inline const Aws::String& GetManifestName() const{ return m_manifestName; } /** *A short short string that's appended to the endpoint URL. The manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index. MediaPackage automatically inserts the * format extension, such as .m3u8. You can't use the same manifest name if you use * HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest * object overrides the manifestName you provided on the originEndpoint object.
*/ inline bool ManifestNameHasBeenSet() const { return m_manifestNameHasBeenSet; } /** *A short short string that's appended to the endpoint URL. The manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index. MediaPackage automatically inserts the * format extension, such as .m3u8. You can't use the same manifest name if you use * HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest * object overrides the manifestName you provided on the originEndpoint object.
*/ inline void SetManifestName(const Aws::String& value) { m_manifestNameHasBeenSet = true; m_manifestName = value; } /** *A short short string that's appended to the endpoint URL. The manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index. MediaPackage automatically inserts the * format extension, such as .m3u8. You can't use the same manifest name if you use * HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest * object overrides the manifestName you provided on the originEndpoint object.
*/ inline void SetManifestName(Aws::String&& value) { m_manifestNameHasBeenSet = true; m_manifestName = std::move(value); } /** *A short short string that's appended to the endpoint URL. The manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index. MediaPackage automatically inserts the * format extension, such as .m3u8. You can't use the same manifest name if you use * HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest * object overrides the manifestName you provided on the originEndpoint object.
*/ inline void SetManifestName(const char* value) { m_manifestNameHasBeenSet = true; m_manifestName.assign(value); } /** *A short short string that's appended to the endpoint URL. The manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index. MediaPackage automatically inserts the * format extension, such as .m3u8. You can't use the same manifest name if you use * HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest * object overrides the manifestName you provided on the originEndpoint object.
*/ inline CreateLowLatencyHlsManifestConfiguration& WithManifestName(const Aws::String& value) { SetManifestName(value); return *this;} /** *A short short string that's appended to the endpoint URL. The manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index. MediaPackage automatically inserts the * format extension, such as .m3u8. You can't use the same manifest name if you use * HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest * object overrides the manifestName you provided on the originEndpoint object.
*/ inline CreateLowLatencyHlsManifestConfiguration& WithManifestName(Aws::String&& value) { SetManifestName(std::move(value)); return *this;} /** *A short short string that's appended to the endpoint URL. The manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index. MediaPackage automatically inserts the * format extension, such as .m3u8. You can't use the same manifest name if you use * HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest * object overrides the manifestName you provided on the originEndpoint object.
*/ inline CreateLowLatencyHlsManifestConfiguration& WithManifestName(const char* value) { SetManifestName(value); return *this;} /** *A short string that's appended to the endpoint URL. The child manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index, with an added suffix to distinguish it * from the manifest name. The manifestName on the HLSManifest object overrides the * manifestName you provided on the originEndpoint object.
*/ inline const Aws::String& GetChildManifestName() const{ return m_childManifestName; } /** *A short string that's appended to the endpoint URL. The child manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index, with an added suffix to distinguish it * from the manifest name. The manifestName on the HLSManifest object overrides the * manifestName you provided on the originEndpoint object.
*/ inline bool ChildManifestNameHasBeenSet() const { return m_childManifestNameHasBeenSet; } /** *A short string that's appended to the endpoint URL. The child manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index, with an added suffix to distinguish it * from the manifest name. The manifestName on the HLSManifest object overrides the * manifestName you provided on the originEndpoint object.
*/ inline void SetChildManifestName(const Aws::String& value) { m_childManifestNameHasBeenSet = true; m_childManifestName = value; } /** *A short string that's appended to the endpoint URL. The child manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index, with an added suffix to distinguish it * from the manifest name. The manifestName on the HLSManifest object overrides the * manifestName you provided on the originEndpoint object.
*/ inline void SetChildManifestName(Aws::String&& value) { m_childManifestNameHasBeenSet = true; m_childManifestName = std::move(value); } /** *A short string that's appended to the endpoint URL. The child manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index, with an added suffix to distinguish it * from the manifest name. The manifestName on the HLSManifest object overrides the * manifestName you provided on the originEndpoint object.
*/ inline void SetChildManifestName(const char* value) { m_childManifestNameHasBeenSet = true; m_childManifestName.assign(value); } /** *A short string that's appended to the endpoint URL. The child manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index, with an added suffix to distinguish it * from the manifest name. The manifestName on the HLSManifest object overrides the * manifestName you provided on the originEndpoint object.
*/ inline CreateLowLatencyHlsManifestConfiguration& WithChildManifestName(const Aws::String& value) { SetChildManifestName(value); return *this;} /** *A short string that's appended to the endpoint URL. The child manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index, with an added suffix to distinguish it * from the manifest name. The manifestName on the HLSManifest object overrides the * manifestName you provided on the originEndpoint object.
*/ inline CreateLowLatencyHlsManifestConfiguration& WithChildManifestName(Aws::String&& value) { SetChildManifestName(std::move(value)); return *this;} /** *A short string that's appended to the endpoint URL. The child manifest name * creates a unique path to this endpoint. If you don't enter a value, MediaPackage * uses the default manifest name, index, with an added suffix to distinguish it * from the manifest name. The manifestName on the HLSManifest object overrides the * manifestName you provided on the originEndpoint object.
*/ inline CreateLowLatencyHlsManifestConfiguration& WithChildManifestName(const char* value) { SetChildManifestName(value); return *this;} inline const ScteHls& GetScteHls() const{ return m_scteHls; } inline bool ScteHlsHasBeenSet() const { return m_scteHlsHasBeenSet; } inline void SetScteHls(const ScteHls& value) { m_scteHlsHasBeenSet = true; m_scteHls = value; } inline void SetScteHls(ScteHls&& value) { m_scteHlsHasBeenSet = true; m_scteHls = std::move(value); } inline CreateLowLatencyHlsManifestConfiguration& WithScteHls(const ScteHls& value) { SetScteHls(value); return *this;} inline CreateLowLatencyHlsManifestConfiguration& WithScteHls(ScteHls&& value) { SetScteHls(std::move(value)); return *this;} /** *The total duration (in seconds) of the manifest's content.
*/ inline int GetManifestWindowSeconds() const{ return m_manifestWindowSeconds; } /** *The total duration (in seconds) of the manifest's content.
*/ inline bool ManifestWindowSecondsHasBeenSet() const { return m_manifestWindowSecondsHasBeenSet; } /** *The total duration (in seconds) of the manifest's content.
*/ inline void SetManifestWindowSeconds(int value) { m_manifestWindowSecondsHasBeenSet = true; m_manifestWindowSeconds = value; } /** *The total duration (in seconds) of the manifest's content.
*/ inline CreateLowLatencyHlsManifestConfiguration& WithManifestWindowSeconds(int value) { SetManifestWindowSeconds(value); return *this;} /** *Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval * that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags * aren't included in the manifest. The tags sync the stream to the wall clock so * that viewers can seek to a specific time in the playback timeline on the player. * ID3Timed metadata messages generate every 5 seconds whenever the content is * ingested.
Irrespective of this parameter, if any ID3Timed metadata is in * the HLS input, it is passed through to the HLS output.
*/ inline int GetProgramDateTimeIntervalSeconds() const{ return m_programDateTimeIntervalSeconds; } /** *Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval * that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags * aren't included in the manifest. The tags sync the stream to the wall clock so * that viewers can seek to a specific time in the playback timeline on the player. * ID3Timed metadata messages generate every 5 seconds whenever the content is * ingested.
Irrespective of this parameter, if any ID3Timed metadata is in * the HLS input, it is passed through to the HLS output.
*/ inline bool ProgramDateTimeIntervalSecondsHasBeenSet() const { return m_programDateTimeIntervalSecondsHasBeenSet; } /** *Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval * that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags * aren't included in the manifest. The tags sync the stream to the wall clock so * that viewers can seek to a specific time in the playback timeline on the player. * ID3Timed metadata messages generate every 5 seconds whenever the content is * ingested.
Irrespective of this parameter, if any ID3Timed metadata is in * the HLS input, it is passed through to the HLS output.
*/ inline void SetProgramDateTimeIntervalSeconds(int value) { m_programDateTimeIntervalSecondsHasBeenSet = true; m_programDateTimeIntervalSeconds = value; } /** *Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval * that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags * aren't included in the manifest. The tags sync the stream to the wall clock so * that viewers can seek to a specific time in the playback timeline on the player. * ID3Timed metadata messages generate every 5 seconds whenever the content is * ingested.
Irrespective of this parameter, if any ID3Timed metadata is in * the HLS input, it is passed through to the HLS output.
*/ inline CreateLowLatencyHlsManifestConfiguration& WithProgramDateTimeIntervalSeconds(int value) { SetProgramDateTimeIntervalSeconds(value); return *this;} private: Aws::String m_manifestName; bool m_manifestNameHasBeenSet = false; Aws::String m_childManifestName; bool m_childManifestNameHasBeenSet = false; ScteHls m_scteHls; bool m_scteHlsHasBeenSet = false; int m_manifestWindowSeconds; bool m_manifestWindowSecondsHasBeenSet = false; int m_programDateTimeIntervalSeconds; bool m_programDateTimeIntervalSecondsHasBeenSet = false; }; } // namespace Model } // namespace mediapackagev2 } // namespace Aws