com.amazonaws.services.medialive.model.AudioOnlyHlsSettings Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-medialive Show documentation
Show all versions of aws-java-sdk-medialive Show documentation
The AWS Java SDK for AWS Elemental MediaLive module holds the client classes that are used for communicating with AWS Elemental MediaLive Service
/*
* Copyright 2018-2023 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.
*/
package com.amazonaws.services.medialive.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
* Audio Only Hls Settings
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AudioOnlyHlsSettings implements Serializable, Cloneable, StructuredPojo {
/** Specifies the group to which the audio Rendition belongs. */
private String audioGroupId;
/**
* Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend a low
* bit-size file because the image increases the output audio bandwidth.
*
* The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the
* "ID3 tag version 2.4.0 - Native Frames" standard.
*/
private InputLocation audioOnlyImage;
/**
* Four types of audio-only tracks are supported:
*
* Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
*
* Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES
*
* Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
*
* Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
*/
private String audioTrackType;
/** Specifies the segment type. */
private String segmentType;
/**
* Specifies the group to which the audio Rendition belongs.
*
* @param audioGroupId
* Specifies the group to which the audio Rendition belongs.
*/
public void setAudioGroupId(String audioGroupId) {
this.audioGroupId = audioGroupId;
}
/**
* Specifies the group to which the audio Rendition belongs.
*
* @return Specifies the group to which the audio Rendition belongs.
*/
public String getAudioGroupId() {
return this.audioGroupId;
}
/**
* Specifies the group to which the audio Rendition belongs.
*
* @param audioGroupId
* Specifies the group to which the audio Rendition belongs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AudioOnlyHlsSettings withAudioGroupId(String audioGroupId) {
setAudioGroupId(audioGroupId);
return this;
}
/**
* Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend a low
* bit-size file because the image increases the output audio bandwidth.
*
* The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the
* "ID3 tag version 2.4.0 - Native Frames" standard.
*
* @param audioOnlyImage
* Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend
* a low bit-size file because the image increases the output audio bandwidth.
*
* The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the
* "ID3 tag version 2.4.0 - Native Frames" standard.
*/
public void setAudioOnlyImage(InputLocation audioOnlyImage) {
this.audioOnlyImage = audioOnlyImage;
}
/**
* Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend a low
* bit-size file because the image increases the output audio bandwidth.
*
* The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the
* "ID3 tag version 2.4.0 - Native Frames" standard.
*
* @return Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend
* a low bit-size file because the image increases the output audio bandwidth.
*
* The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the
* "ID3 tag version 2.4.0 - Native Frames" standard.
*/
public InputLocation getAudioOnlyImage() {
return this.audioOnlyImage;
}
/**
* Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend a low
* bit-size file because the image increases the output audio bandwidth.
*
* The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the
* "ID3 tag version 2.4.0 - Native Frames" standard.
*
* @param audioOnlyImage
* Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend
* a low bit-size file because the image increases the output audio bandwidth.
*
* The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the
* "ID3 tag version 2.4.0 - Native Frames" standard.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AudioOnlyHlsSettings withAudioOnlyImage(InputLocation audioOnlyImage) {
setAudioOnlyImage(audioOnlyImage);
return this;
}
/**
* Four types of audio-only tracks are supported:
*
* Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
*
* Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES
*
* Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
*
* Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
*
* @param audioTrackType
* Four types of audio-only tracks are supported:
*
* Audio-Only Variant Stream The client can play back this audio-only stream instead of video in
* low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
*
* Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by
* default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES
*
* Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by
* default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
*
* Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
* @see AudioOnlyHlsTrackType
*/
public void setAudioTrackType(String audioTrackType) {
this.audioTrackType = audioTrackType;
}
/**
* Four types of audio-only tracks are supported:
*
* Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
*
* Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES
*
* Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
*
* Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
*
* @return Four types of audio-only tracks are supported:
*
* Audio-Only Variant Stream The client can play back this audio-only stream instead of video in
* low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
*
* Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by
* default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES
*
* Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by
* default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
*
* Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by
* default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
* @see AudioOnlyHlsTrackType
*/
public String getAudioTrackType() {
return this.audioTrackType;
}
/**
* Four types of audio-only tracks are supported:
*
* Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
*
* Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES
*
* Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
*
* Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
*
* @param audioTrackType
* Four types of audio-only tracks are supported:
*
* Audio-Only Variant Stream The client can play back this audio-only stream instead of video in
* low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
*
* Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by
* default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES
*
* Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by
* default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
*
* Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
* @return Returns a reference to this object so that method calls can be chained together.
* @see AudioOnlyHlsTrackType
*/
public AudioOnlyHlsSettings withAudioTrackType(String audioTrackType) {
setAudioTrackType(audioTrackType);
return this;
}
/**
* Four types of audio-only tracks are supported:
*
* Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
*
* Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES
*
* Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
*
* Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
*
* @param audioTrackType
* Four types of audio-only tracks are supported:
*
* Audio-Only Variant Stream The client can play back this audio-only stream instead of video in
* low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
*
* Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by
* default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES
*
* Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by
* default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
*
* Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default.
* Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
* @return Returns a reference to this object so that method calls can be chained together.
* @see AudioOnlyHlsTrackType
*/
public AudioOnlyHlsSettings withAudioTrackType(AudioOnlyHlsTrackType audioTrackType) {
this.audioTrackType = audioTrackType.toString();
return this;
}
/**
* Specifies the segment type.
*
* @param segmentType
* Specifies the segment type.
* @see AudioOnlyHlsSegmentType
*/
public void setSegmentType(String segmentType) {
this.segmentType = segmentType;
}
/**
* Specifies the segment type.
*
* @return Specifies the segment type.
* @see AudioOnlyHlsSegmentType
*/
public String getSegmentType() {
return this.segmentType;
}
/**
* Specifies the segment type.
*
* @param segmentType
* Specifies the segment type.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AudioOnlyHlsSegmentType
*/
public AudioOnlyHlsSettings withSegmentType(String segmentType) {
setSegmentType(segmentType);
return this;
}
/**
* Specifies the segment type.
*
* @param segmentType
* Specifies the segment type.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AudioOnlyHlsSegmentType
*/
public AudioOnlyHlsSettings withSegmentType(AudioOnlyHlsSegmentType segmentType) {
this.segmentType = segmentType.toString();
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getAudioGroupId() != null)
sb.append("AudioGroupId: ").append(getAudioGroupId()).append(",");
if (getAudioOnlyImage() != null)
sb.append("AudioOnlyImage: ").append(getAudioOnlyImage()).append(",");
if (getAudioTrackType() != null)
sb.append("AudioTrackType: ").append(getAudioTrackType()).append(",");
if (getSegmentType() != null)
sb.append("SegmentType: ").append(getSegmentType());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof AudioOnlyHlsSettings == false)
return false;
AudioOnlyHlsSettings other = (AudioOnlyHlsSettings) obj;
if (other.getAudioGroupId() == null ^ this.getAudioGroupId() == null)
return false;
if (other.getAudioGroupId() != null && other.getAudioGroupId().equals(this.getAudioGroupId()) == false)
return false;
if (other.getAudioOnlyImage() == null ^ this.getAudioOnlyImage() == null)
return false;
if (other.getAudioOnlyImage() != null && other.getAudioOnlyImage().equals(this.getAudioOnlyImage()) == false)
return false;
if (other.getAudioTrackType() == null ^ this.getAudioTrackType() == null)
return false;
if (other.getAudioTrackType() != null && other.getAudioTrackType().equals(this.getAudioTrackType()) == false)
return false;
if (other.getSegmentType() == null ^ this.getSegmentType() == null)
return false;
if (other.getSegmentType() != null && other.getSegmentType().equals(this.getSegmentType()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getAudioGroupId() == null) ? 0 : getAudioGroupId().hashCode());
hashCode = prime * hashCode + ((getAudioOnlyImage() == null) ? 0 : getAudioOnlyImage().hashCode());
hashCode = prime * hashCode + ((getAudioTrackType() == null) ? 0 : getAudioTrackType().hashCode());
hashCode = prime * hashCode + ((getSegmentType() == null) ? 0 : getSegmentType().hashCode());
return hashCode;
}
@Override
public AudioOnlyHlsSettings clone() {
try {
return (AudioOnlyHlsSettings) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.medialive.model.transform.AudioOnlyHlsSettingsMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}