All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.mediaconvert.model.M3u8Settings Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Elemental MediaConvert module holds the client classes that are used for communicating with AWS Elemental MediaConvert Service

There is a newer version: 1.12.778
Show newest version
/*
 * Copyright 2019-2024 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.mediaconvert.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * These settings relate to the MPEG-2 transport stream (MPEG2-TS) container for the MPEG2-TS segments in your HLS
 * outputs.
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class M3u8Settings implements Serializable, Cloneable, StructuredPojo {

    /**
     * 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.
     */
    private String audioDuration;
    /** The number of audio frames to insert for each PES packet. */
    private Integer audioFramesPerPes;
    /**
     * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted,
     * and can be entered in ranges and/or by comma separation.
     */
    private java.util.List audioPids;
    /**
     * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp (PTS)
     * values greater than or equal to the first video packet PTS (MediaConvert drops captions and data packets with
     * lesser PTS values). Keep the default value AUTO to allow all PTS values.
     */
    private String dataPTSControl;
    /**
     * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport
     * stream.
     */
    private Integer maxPcrInterval;
    /**
     * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3
     * tag will be inserted in the output.
     */
    private String nielsenId3;
    /** The number of milliseconds between instances of this table in the output transport stream. */
    private Integer patInterval;
    /**
     * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary
     * Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio
     * elementary stream.
     */
    private String pcrControl;
    /**
     * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the
     * encoder will assign the same value as the Video PID.
     */
    private Integer pcrPid;
    /** The number of milliseconds between instances of this table in the output transport stream. */
    private Integer pmtInterval;
    /** Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. */
    private Integer pmtPid;
    /** Packet Identifier (PID) of the private metadata stream in the transport stream. */
    private Integer privateMetadataPid;
    /** The value of the program number field in the Program Map Table. */
    private Integer programNumber;
    /**
     * Manually specify the initial PTS offset, in seconds, when you set PTS offset to Seconds. Enter an integer from 0
     * to 3600. Leave blank to keep the default value 2.
     */
    private Integer ptsOffset;
    /**
     * Specify the initial presentation timestamp (PTS) offset for your transport stream output. To let MediaConvert
     * automatically determine the initial PTS offset: Keep the default value, Auto. We recommend that you choose Auto
     * for the widest player compatibility. The initial PTS will be at least two seconds and vary depending on your
     * output's bitrate, HRD buffer size and HRD buffer initial fill percentage. To manually specify an initial PTS
     * offset: Choose Seconds. Then specify the number of seconds with PTS offset.
     */
    private String ptsOffsetMode;
    /** Packet Identifier (PID) of the SCTE-35 stream in the transport stream. */
    private Integer scte35Pid;
    /**
     * For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35 markers that appear in your input to
     * also appear in this output. Choose None if you don't want SCTE-35 markers in this output. For SCTE-35 markers
     * from an ESAM XML document-- Choose None if you don't want manifest conditioning. Choose Passthrough and choose Ad
     * markers if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting
     * Signal processing notification XML.
     */
    private String scte35Source;
    /**
     * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This includes ID3 metadata from the
     * following features: ID3 timestamp period, and Custom ID3 metadata inserter. To exclude this ID3 metadata in this
     * output: set ID3 metadata to None or leave blank.
     */
    private String timedMetadata;
    /** Packet Identifier (PID) of the ID3 metadata stream in the transport stream. */
    private Integer timedMetadataPid;
    /** The value of the transport stream ID field in the Program Map Table. */
    private Integer transportStreamId;
    /** Packet Identifier (PID) of the elementary video stream in the transport stream. */
    private Integer videoPid;

    /**
     * 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.
     * 
     * @param 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.
     * @see M3u8AudioDuration
     */

    public void setAudioDuration(String audioDuration) {
        this.audioDuration = 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.
     * 
     * @return 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.
     * @see M3u8AudioDuration
     */

    public String getAudioDuration() {
        return this.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.
     * 
     * @param 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.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see M3u8AudioDuration
     */

    public M3u8Settings withAudioDuration(String audioDuration) {
        setAudioDuration(audioDuration);
        return this;
    }

    /**
     * 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.
     * 
     * @param 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.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see M3u8AudioDuration
     */

    public M3u8Settings withAudioDuration(M3u8AudioDuration audioDuration) {
        this.audioDuration = audioDuration.toString();
        return this;
    }

    /**
     * The number of audio frames to insert for each PES packet.
     * 
     * @param audioFramesPerPes
     *        The number of audio frames to insert for each PES packet.
     */

    public void setAudioFramesPerPes(Integer audioFramesPerPes) {
        this.audioFramesPerPes = audioFramesPerPes;
    }

    /**
     * The number of audio frames to insert for each PES packet.
     * 
     * @return The number of audio frames to insert for each PES packet.
     */

    public Integer getAudioFramesPerPes() {
        return this.audioFramesPerPes;
    }

    /**
     * The number of audio frames to insert for each PES packet.
     * 
     * @param audioFramesPerPes
     *        The number of audio frames to insert for each PES packet.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public M3u8Settings withAudioFramesPerPes(Integer audioFramesPerPes) {
        setAudioFramesPerPes(audioFramesPerPes);
        return this;
    }

    /**
     * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted,
     * and can be entered in ranges and/or by comma separation.
     * 
     * @return Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are
     *         accepted, and can be entered in ranges and/or by comma separation.
     */

    public java.util.List getAudioPids() {
        return audioPids;
    }

    /**
     * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted,
     * and can be entered in ranges and/or by comma separation.
     * 
     * @param audioPids
     *        Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are
     *        accepted, and can be entered in ranges and/or by comma separation.
     */

    public void setAudioPids(java.util.Collection audioPids) {
        if (audioPids == null) {
            this.audioPids = null;
            return;
        }

        this.audioPids = new java.util.ArrayList(audioPids);
    }

    /**
     * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted,
     * and can be entered in ranges and/or by comma separation.
     * 

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAudioPids(java.util.Collection)} or {@link #withAudioPids(java.util.Collection)} if you want to * override the existing values. *

* * @param audioPids * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are * accepted, and can be entered in ranges and/or by comma separation. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withAudioPids(Integer... audioPids) { if (this.audioPids == null) { setAudioPids(new java.util.ArrayList(audioPids.length)); } for (Integer ele : audioPids) { this.audioPids.add(ele); } return this; } /** * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, * and can be entered in ranges and/or by comma separation. * * @param audioPids * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are * accepted, and can be entered in ranges and/or by comma separation. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withAudioPids(java.util.Collection audioPids) { setAudioPids(audioPids); return this; } /** * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp (PTS) * values greater than or equal to the first video packet PTS (MediaConvert drops captions and data packets with * lesser PTS values). Keep the default value AUTO to allow all PTS values. * * @param dataPTSControl * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp * (PTS) values greater than or equal to the first video packet PTS (MediaConvert drops captions and data * packets with lesser PTS values). Keep the default value AUTO to allow all PTS values. * @see M3u8DataPtsControl */ public void setDataPTSControl(String dataPTSControl) { this.dataPTSControl = dataPTSControl; } /** * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp (PTS) * values greater than or equal to the first video packet PTS (MediaConvert drops captions and data packets with * lesser PTS values). Keep the default value AUTO to allow all PTS values. * * @return If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp * (PTS) values greater than or equal to the first video packet PTS (MediaConvert drops captions and data * packets with lesser PTS values). Keep the default value AUTO to allow all PTS values. * @see M3u8DataPtsControl */ public String getDataPTSControl() { return this.dataPTSControl; } /** * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp (PTS) * values greater than or equal to the first video packet PTS (MediaConvert drops captions and data packets with * lesser PTS values). Keep the default value AUTO to allow all PTS values. * * @param dataPTSControl * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp * (PTS) values greater than or equal to the first video packet PTS (MediaConvert drops captions and data * packets with lesser PTS values). Keep the default value AUTO to allow all PTS values. * @return Returns a reference to this object so that method calls can be chained together. * @see M3u8DataPtsControl */ public M3u8Settings withDataPTSControl(String dataPTSControl) { setDataPTSControl(dataPTSControl); return this; } /** * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp (PTS) * values greater than or equal to the first video packet PTS (MediaConvert drops captions and data packets with * lesser PTS values). Keep the default value AUTO to allow all PTS values. * * @param dataPTSControl * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp * (PTS) values greater than or equal to the first video packet PTS (MediaConvert drops captions and data * packets with lesser PTS values). Keep the default value AUTO to allow all PTS values. * @return Returns a reference to this object so that method calls can be chained together. * @see M3u8DataPtsControl */ public M3u8Settings withDataPTSControl(M3u8DataPtsControl dataPTSControl) { this.dataPTSControl = dataPTSControl.toString(); return this; } /** * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport * stream. * * @param maxPcrInterval * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the * transport stream. */ public void setMaxPcrInterval(Integer maxPcrInterval) { this.maxPcrInterval = maxPcrInterval; } /** * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport * stream. * * @return Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the * transport stream. */ public Integer getMaxPcrInterval() { return this.maxPcrInterval; } /** * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport * stream. * * @param maxPcrInterval * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the * transport stream. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withMaxPcrInterval(Integer maxPcrInterval) { setMaxPcrInterval(maxPcrInterval); return this; } /** * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 * tag will be inserted in the output. * * @param nielsenId3 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an * equivalent ID3 tag will be inserted in the output. * @see M3u8NielsenId3 */ public void setNielsenId3(String nielsenId3) { this.nielsenId3 = nielsenId3; } /** * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 * tag will be inserted in the output. * * @return If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an * equivalent ID3 tag will be inserted in the output. * @see M3u8NielsenId3 */ public String getNielsenId3() { return this.nielsenId3; } /** * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 * tag will be inserted in the output. * * @param nielsenId3 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an * equivalent ID3 tag will be inserted in the output. * @return Returns a reference to this object so that method calls can be chained together. * @see M3u8NielsenId3 */ public M3u8Settings withNielsenId3(String nielsenId3) { setNielsenId3(nielsenId3); return this; } /** * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 * tag will be inserted in the output. * * @param nielsenId3 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an * equivalent ID3 tag will be inserted in the output. * @return Returns a reference to this object so that method calls can be chained together. * @see M3u8NielsenId3 */ public M3u8Settings withNielsenId3(M3u8NielsenId3 nielsenId3) { this.nielsenId3 = nielsenId3.toString(); return this; } /** * The number of milliseconds between instances of this table in the output transport stream. * * @param patInterval * The number of milliseconds between instances of this table in the output transport stream. */ public void setPatInterval(Integer patInterval) { this.patInterval = patInterval; } /** * The number of milliseconds between instances of this table in the output transport stream. * * @return The number of milliseconds between instances of this table in the output transport stream. */ public Integer getPatInterval() { return this.patInterval; } /** * The number of milliseconds between instances of this table in the output transport stream. * * @param patInterval * The number of milliseconds between instances of this table in the output transport stream. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withPatInterval(Integer patInterval) { setPatInterval(patInterval); return this; } /** * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary * Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio * elementary stream. * * @param pcrControl * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized * Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video * or audio elementary stream. * @see M3u8PcrControl */ public void setPcrControl(String pcrControl) { this.pcrControl = pcrControl; } /** * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary * Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio * elementary stream. * * @return When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized * Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the * video or audio elementary stream. * @see M3u8PcrControl */ public String getPcrControl() { return this.pcrControl; } /** * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary * Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio * elementary stream. * * @param pcrControl * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized * Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video * or audio elementary stream. * @return Returns a reference to this object so that method calls can be chained together. * @see M3u8PcrControl */ public M3u8Settings withPcrControl(String pcrControl) { setPcrControl(pcrControl); return this; } /** * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary * Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio * elementary stream. * * @param pcrControl * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized * Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video * or audio elementary stream. * @return Returns a reference to this object so that method calls can be chained together. * @see M3u8PcrControl */ public M3u8Settings withPcrControl(M3u8PcrControl pcrControl) { this.pcrControl = pcrControl.toString(); return this; } /** * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the * encoder will assign the same value as the Video PID. * * @param pcrPid * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is * given, the encoder will assign the same value as the Video PID. */ public void setPcrPid(Integer pcrPid) { this.pcrPid = pcrPid; } /** * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the * encoder will assign the same value as the Video PID. * * @return Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is * given, the encoder will assign the same value as the Video PID. */ public Integer getPcrPid() { return this.pcrPid; } /** * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the * encoder will assign the same value as the Video PID. * * @param pcrPid * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is * given, the encoder will assign the same value as the Video PID. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withPcrPid(Integer pcrPid) { setPcrPid(pcrPid); return this; } /** * The number of milliseconds between instances of this table in the output transport stream. * * @param pmtInterval * The number of milliseconds between instances of this table in the output transport stream. */ public void setPmtInterval(Integer pmtInterval) { this.pmtInterval = pmtInterval; } /** * The number of milliseconds between instances of this table in the output transport stream. * * @return The number of milliseconds between instances of this table in the output transport stream. */ public Integer getPmtInterval() { return this.pmtInterval; } /** * The number of milliseconds between instances of this table in the output transport stream. * * @param pmtInterval * The number of milliseconds between instances of this table in the output transport stream. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withPmtInterval(Integer pmtInterval) { setPmtInterval(pmtInterval); return this; } /** * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. * * @param pmtPid * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. */ public void setPmtPid(Integer pmtPid) { this.pmtPid = pmtPid; } /** * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. * * @return Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. */ public Integer getPmtPid() { return this.pmtPid; } /** * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. * * @param pmtPid * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withPmtPid(Integer pmtPid) { setPmtPid(pmtPid); return this; } /** * Packet Identifier (PID) of the private metadata stream in the transport stream. * * @param privateMetadataPid * Packet Identifier (PID) of the private metadata stream in the transport stream. */ public void setPrivateMetadataPid(Integer privateMetadataPid) { this.privateMetadataPid = privateMetadataPid; } /** * Packet Identifier (PID) of the private metadata stream in the transport stream. * * @return Packet Identifier (PID) of the private metadata stream in the transport stream. */ public Integer getPrivateMetadataPid() { return this.privateMetadataPid; } /** * Packet Identifier (PID) of the private metadata stream in the transport stream. * * @param privateMetadataPid * Packet Identifier (PID) of the private metadata stream in the transport stream. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withPrivateMetadataPid(Integer privateMetadataPid) { setPrivateMetadataPid(privateMetadataPid); return this; } /** * The value of the program number field in the Program Map Table. * * @param programNumber * The value of the program number field in the Program Map Table. */ public void setProgramNumber(Integer programNumber) { this.programNumber = programNumber; } /** * The value of the program number field in the Program Map Table. * * @return The value of the program number field in the Program Map Table. */ public Integer getProgramNumber() { return this.programNumber; } /** * The value of the program number field in the Program Map Table. * * @param programNumber * The value of the program number field in the Program Map Table. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withProgramNumber(Integer programNumber) { setProgramNumber(programNumber); return this; } /** * Manually specify the initial PTS offset, in seconds, when you set PTS offset to Seconds. Enter an integer from 0 * to 3600. Leave blank to keep the default value 2. * * @param ptsOffset * Manually specify the initial PTS offset, in seconds, when you set PTS offset to Seconds. Enter an integer * from 0 to 3600. Leave blank to keep the default value 2. */ public void setPtsOffset(Integer ptsOffset) { this.ptsOffset = ptsOffset; } /** * Manually specify the initial PTS offset, in seconds, when you set PTS offset to Seconds. Enter an integer from 0 * to 3600. Leave blank to keep the default value 2. * * @return Manually specify the initial PTS offset, in seconds, when you set PTS offset to Seconds. Enter an integer * from 0 to 3600. Leave blank to keep the default value 2. */ public Integer getPtsOffset() { return this.ptsOffset; } /** * Manually specify the initial PTS offset, in seconds, when you set PTS offset to Seconds. Enter an integer from 0 * to 3600. Leave blank to keep the default value 2. * * @param ptsOffset * Manually specify the initial PTS offset, in seconds, when you set PTS offset to Seconds. Enter an integer * from 0 to 3600. Leave blank to keep the default value 2. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withPtsOffset(Integer ptsOffset) { setPtsOffset(ptsOffset); return this; } /** * Specify the initial presentation timestamp (PTS) offset for your transport stream output. To let MediaConvert * automatically determine the initial PTS offset: Keep the default value, Auto. We recommend that you choose Auto * for the widest player compatibility. The initial PTS will be at least two seconds and vary depending on your * output's bitrate, HRD buffer size and HRD buffer initial fill percentage. To manually specify an initial PTS * offset: Choose Seconds. Then specify the number of seconds with PTS offset. * * @param ptsOffsetMode * Specify the initial presentation timestamp (PTS) offset for your transport stream output. To let * MediaConvert automatically determine the initial PTS offset: Keep the default value, Auto. We recommend * that you choose Auto for the widest player compatibility. The initial PTS will be at least two seconds and * vary depending on your output's bitrate, HRD buffer size and HRD buffer initial fill percentage. To * manually specify an initial PTS offset: Choose Seconds. Then specify the number of seconds with PTS * offset. * @see TsPtsOffset */ public void setPtsOffsetMode(String ptsOffsetMode) { this.ptsOffsetMode = ptsOffsetMode; } /** * Specify the initial presentation timestamp (PTS) offset for your transport stream output. To let MediaConvert * automatically determine the initial PTS offset: Keep the default value, Auto. We recommend that you choose Auto * for the widest player compatibility. The initial PTS will be at least two seconds and vary depending on your * output's bitrate, HRD buffer size and HRD buffer initial fill percentage. To manually specify an initial PTS * offset: Choose Seconds. Then specify the number of seconds with PTS offset. * * @return Specify the initial presentation timestamp (PTS) offset for your transport stream output. To let * MediaConvert automatically determine the initial PTS offset: Keep the default value, Auto. We recommend * that you choose Auto for the widest player compatibility. The initial PTS will be at least two seconds * and vary depending on your output's bitrate, HRD buffer size and HRD buffer initial fill percentage. To * manually specify an initial PTS offset: Choose Seconds. Then specify the number of seconds with PTS * offset. * @see TsPtsOffset */ public String getPtsOffsetMode() { return this.ptsOffsetMode; } /** * Specify the initial presentation timestamp (PTS) offset for your transport stream output. To let MediaConvert * automatically determine the initial PTS offset: Keep the default value, Auto. We recommend that you choose Auto * for the widest player compatibility. The initial PTS will be at least two seconds and vary depending on your * output's bitrate, HRD buffer size and HRD buffer initial fill percentage. To manually specify an initial PTS * offset: Choose Seconds. Then specify the number of seconds with PTS offset. * * @param ptsOffsetMode * Specify the initial presentation timestamp (PTS) offset for your transport stream output. To let * MediaConvert automatically determine the initial PTS offset: Keep the default value, Auto. We recommend * that you choose Auto for the widest player compatibility. The initial PTS will be at least two seconds and * vary depending on your output's bitrate, HRD buffer size and HRD buffer initial fill percentage. To * manually specify an initial PTS offset: Choose Seconds. Then specify the number of seconds with PTS * offset. * @return Returns a reference to this object so that method calls can be chained together. * @see TsPtsOffset */ public M3u8Settings withPtsOffsetMode(String ptsOffsetMode) { setPtsOffsetMode(ptsOffsetMode); return this; } /** * Specify the initial presentation timestamp (PTS) offset for your transport stream output. To let MediaConvert * automatically determine the initial PTS offset: Keep the default value, Auto. We recommend that you choose Auto * for the widest player compatibility. The initial PTS will be at least two seconds and vary depending on your * output's bitrate, HRD buffer size and HRD buffer initial fill percentage. To manually specify an initial PTS * offset: Choose Seconds. Then specify the number of seconds with PTS offset. * * @param ptsOffsetMode * Specify the initial presentation timestamp (PTS) offset for your transport stream output. To let * MediaConvert automatically determine the initial PTS offset: Keep the default value, Auto. We recommend * that you choose Auto for the widest player compatibility. The initial PTS will be at least two seconds and * vary depending on your output's bitrate, HRD buffer size and HRD buffer initial fill percentage. To * manually specify an initial PTS offset: Choose Seconds. Then specify the number of seconds with PTS * offset. * @return Returns a reference to this object so that method calls can be chained together. * @see TsPtsOffset */ public M3u8Settings withPtsOffsetMode(TsPtsOffset ptsOffsetMode) { this.ptsOffsetMode = ptsOffsetMode.toString(); return this; } /** * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. * * @param scte35Pid * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. */ public void setScte35Pid(Integer scte35Pid) { this.scte35Pid = scte35Pid; } /** * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. * * @return Packet Identifier (PID) of the SCTE-35 stream in the transport stream. */ public Integer getScte35Pid() { return this.scte35Pid; } /** * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. * * @param scte35Pid * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withScte35Pid(Integer scte35Pid) { setScte35Pid(scte35Pid); return this; } /** * For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35 markers that appear in your input to * also appear in this output. Choose None if you don't want SCTE-35 markers in this output. For SCTE-35 markers * from an ESAM XML document-- Choose None if you don't want manifest conditioning. Choose Passthrough and choose Ad * markers if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting * Signal processing notification XML. * * @param scte35Source * For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35 markers that appear in your * input to also appear in this output. Choose None if you don't want SCTE-35 markers in this output. For * SCTE-35 markers from an ESAM XML document-- Choose None if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both cases, also provide the * ESAM XML as a string in the setting Signal processing notification XML. * @see M3u8Scte35Source */ public void setScte35Source(String scte35Source) { this.scte35Source = scte35Source; } /** * For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35 markers that appear in your input to * also appear in this output. Choose None if you don't want SCTE-35 markers in this output. For SCTE-35 markers * from an ESAM XML document-- Choose None if you don't want manifest conditioning. Choose Passthrough and choose Ad * markers if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting * Signal processing notification XML. * * @return For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35 markers that appear in your * input to also appear in this output. Choose None if you don't want SCTE-35 markers in this output. For * SCTE-35 markers from an ESAM XML document-- Choose None if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both cases, also provide the * ESAM XML as a string in the setting Signal processing notification XML. * @see M3u8Scte35Source */ public String getScte35Source() { return this.scte35Source; } /** * For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35 markers that appear in your input to * also appear in this output. Choose None if you don't want SCTE-35 markers in this output. For SCTE-35 markers * from an ESAM XML document-- Choose None if you don't want manifest conditioning. Choose Passthrough and choose Ad * markers if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting * Signal processing notification XML. * * @param scte35Source * For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35 markers that appear in your * input to also appear in this output. Choose None if you don't want SCTE-35 markers in this output. For * SCTE-35 markers from an ESAM XML document-- Choose None if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both cases, also provide the * ESAM XML as a string in the setting Signal processing notification XML. * @return Returns a reference to this object so that method calls can be chained together. * @see M3u8Scte35Source */ public M3u8Settings withScte35Source(String scte35Source) { setScte35Source(scte35Source); return this; } /** * For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35 markers that appear in your input to * also appear in this output. Choose None if you don't want SCTE-35 markers in this output. For SCTE-35 markers * from an ESAM XML document-- Choose None if you don't want manifest conditioning. Choose Passthrough and choose Ad * markers if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting * Signal processing notification XML. * * @param scte35Source * For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35 markers that appear in your * input to also appear in this output. Choose None if you don't want SCTE-35 markers in this output. For * SCTE-35 markers from an ESAM XML document-- Choose None if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both cases, also provide the * ESAM XML as a string in the setting Signal processing notification XML. * @return Returns a reference to this object so that method calls can be chained together. * @see M3u8Scte35Source */ public M3u8Settings withScte35Source(M3u8Scte35Source scte35Source) { this.scte35Source = scte35Source.toString(); return this; } /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This includes ID3 metadata from the * following features: ID3 timestamp period, and Custom ID3 metadata inserter. To exclude this ID3 metadata in this * output: set ID3 metadata to None or leave blank. * * @param timedMetadata * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This includes ID3 metadata from * the following features: ID3 timestamp period, and Custom ID3 metadata inserter. To exclude this ID3 * metadata in this output: set ID3 metadata to None or leave blank. * @see TimedMetadata */ public void setTimedMetadata(String timedMetadata) { this.timedMetadata = timedMetadata; } /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This includes ID3 metadata from the * following features: ID3 timestamp period, and Custom ID3 metadata inserter. To exclude this ID3 metadata in this * output: set ID3 metadata to None or leave blank. * * @return Set ID3 metadata to Passthrough to include ID3 metadata in this output. This includes ID3 metadata from * the following features: ID3 timestamp period, and Custom ID3 metadata inserter. To exclude this ID3 * metadata in this output: set ID3 metadata to None or leave blank. * @see TimedMetadata */ public String getTimedMetadata() { return this.timedMetadata; } /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This includes ID3 metadata from the * following features: ID3 timestamp period, and Custom ID3 metadata inserter. To exclude this ID3 metadata in this * output: set ID3 metadata to None or leave blank. * * @param timedMetadata * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This includes ID3 metadata from * the following features: ID3 timestamp period, and Custom ID3 metadata inserter. To exclude this ID3 * metadata in this output: set ID3 metadata to None or leave blank. * @return Returns a reference to this object so that method calls can be chained together. * @see TimedMetadata */ public M3u8Settings withTimedMetadata(String timedMetadata) { setTimedMetadata(timedMetadata); return this; } /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This includes ID3 metadata from the * following features: ID3 timestamp period, and Custom ID3 metadata inserter. To exclude this ID3 metadata in this * output: set ID3 metadata to None or leave blank. * * @param timedMetadata * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This includes ID3 metadata from * the following features: ID3 timestamp period, and Custom ID3 metadata inserter. To exclude this ID3 * metadata in this output: set ID3 metadata to None or leave blank. * @return Returns a reference to this object so that method calls can be chained together. * @see TimedMetadata */ public M3u8Settings withTimedMetadata(TimedMetadata timedMetadata) { this.timedMetadata = timedMetadata.toString(); return this; } /** * Packet Identifier (PID) of the ID3 metadata stream in the transport stream. * * @param timedMetadataPid * Packet Identifier (PID) of the ID3 metadata stream in the transport stream. */ public void setTimedMetadataPid(Integer timedMetadataPid) { this.timedMetadataPid = timedMetadataPid; } /** * Packet Identifier (PID) of the ID3 metadata stream in the transport stream. * * @return Packet Identifier (PID) of the ID3 metadata stream in the transport stream. */ public Integer getTimedMetadataPid() { return this.timedMetadataPid; } /** * Packet Identifier (PID) of the ID3 metadata stream in the transport stream. * * @param timedMetadataPid * Packet Identifier (PID) of the ID3 metadata stream in the transport stream. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withTimedMetadataPid(Integer timedMetadataPid) { setTimedMetadataPid(timedMetadataPid); return this; } /** * The value of the transport stream ID field in the Program Map Table. * * @param transportStreamId * The value of the transport stream ID field in the Program Map Table. */ public void setTransportStreamId(Integer transportStreamId) { this.transportStreamId = transportStreamId; } /** * The value of the transport stream ID field in the Program Map Table. * * @return The value of the transport stream ID field in the Program Map Table. */ public Integer getTransportStreamId() { return this.transportStreamId; } /** * The value of the transport stream ID field in the Program Map Table. * * @param transportStreamId * The value of the transport stream ID field in the Program Map Table. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withTransportStreamId(Integer transportStreamId) { setTransportStreamId(transportStreamId); return this; } /** * Packet Identifier (PID) of the elementary video stream in the transport stream. * * @param videoPid * Packet Identifier (PID) of the elementary video stream in the transport stream. */ public void setVideoPid(Integer videoPid) { this.videoPid = videoPid; } /** * Packet Identifier (PID) of the elementary video stream in the transport stream. * * @return Packet Identifier (PID) of the elementary video stream in the transport stream. */ public Integer getVideoPid() { return this.videoPid; } /** * Packet Identifier (PID) of the elementary video stream in the transport stream. * * @param videoPid * Packet Identifier (PID) of the elementary video stream in the transport stream. * @return Returns a reference to this object so that method calls can be chained together. */ public M3u8Settings withVideoPid(Integer videoPid) { setVideoPid(videoPid); 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 (getAudioDuration() != null) sb.append("AudioDuration: ").append(getAudioDuration()).append(","); if (getAudioFramesPerPes() != null) sb.append("AudioFramesPerPes: ").append(getAudioFramesPerPes()).append(","); if (getAudioPids() != null) sb.append("AudioPids: ").append(getAudioPids()).append(","); if (getDataPTSControl() != null) sb.append("DataPTSControl: ").append(getDataPTSControl()).append(","); if (getMaxPcrInterval() != null) sb.append("MaxPcrInterval: ").append(getMaxPcrInterval()).append(","); if (getNielsenId3() != null) sb.append("NielsenId3: ").append(getNielsenId3()).append(","); if (getPatInterval() != null) sb.append("PatInterval: ").append(getPatInterval()).append(","); if (getPcrControl() != null) sb.append("PcrControl: ").append(getPcrControl()).append(","); if (getPcrPid() != null) sb.append("PcrPid: ").append(getPcrPid()).append(","); if (getPmtInterval() != null) sb.append("PmtInterval: ").append(getPmtInterval()).append(","); if (getPmtPid() != null) sb.append("PmtPid: ").append(getPmtPid()).append(","); if (getPrivateMetadataPid() != null) sb.append("PrivateMetadataPid: ").append(getPrivateMetadataPid()).append(","); if (getProgramNumber() != null) sb.append("ProgramNumber: ").append(getProgramNumber()).append(","); if (getPtsOffset() != null) sb.append("PtsOffset: ").append(getPtsOffset()).append(","); if (getPtsOffsetMode() != null) sb.append("PtsOffsetMode: ").append(getPtsOffsetMode()).append(","); if (getScte35Pid() != null) sb.append("Scte35Pid: ").append(getScte35Pid()).append(","); if (getScte35Source() != null) sb.append("Scte35Source: ").append(getScte35Source()).append(","); if (getTimedMetadata() != null) sb.append("TimedMetadata: ").append(getTimedMetadata()).append(","); if (getTimedMetadataPid() != null) sb.append("TimedMetadataPid: ").append(getTimedMetadataPid()).append(","); if (getTransportStreamId() != null) sb.append("TransportStreamId: ").append(getTransportStreamId()).append(","); if (getVideoPid() != null) sb.append("VideoPid: ").append(getVideoPid()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof M3u8Settings == false) return false; M3u8Settings other = (M3u8Settings) obj; if (other.getAudioDuration() == null ^ this.getAudioDuration() == null) return false; if (other.getAudioDuration() != null && other.getAudioDuration().equals(this.getAudioDuration()) == false) return false; if (other.getAudioFramesPerPes() == null ^ this.getAudioFramesPerPes() == null) return false; if (other.getAudioFramesPerPes() != null && other.getAudioFramesPerPes().equals(this.getAudioFramesPerPes()) == false) return false; if (other.getAudioPids() == null ^ this.getAudioPids() == null) return false; if (other.getAudioPids() != null && other.getAudioPids().equals(this.getAudioPids()) == false) return false; if (other.getDataPTSControl() == null ^ this.getDataPTSControl() == null) return false; if (other.getDataPTSControl() != null && other.getDataPTSControl().equals(this.getDataPTSControl()) == false) return false; if (other.getMaxPcrInterval() == null ^ this.getMaxPcrInterval() == null) return false; if (other.getMaxPcrInterval() != null && other.getMaxPcrInterval().equals(this.getMaxPcrInterval()) == false) return false; if (other.getNielsenId3() == null ^ this.getNielsenId3() == null) return false; if (other.getNielsenId3() != null && other.getNielsenId3().equals(this.getNielsenId3()) == false) return false; if (other.getPatInterval() == null ^ this.getPatInterval() == null) return false; if (other.getPatInterval() != null && other.getPatInterval().equals(this.getPatInterval()) == false) return false; if (other.getPcrControl() == null ^ this.getPcrControl() == null) return false; if (other.getPcrControl() != null && other.getPcrControl().equals(this.getPcrControl()) == false) return false; if (other.getPcrPid() == null ^ this.getPcrPid() == null) return false; if (other.getPcrPid() != null && other.getPcrPid().equals(this.getPcrPid()) == false) return false; if (other.getPmtInterval() == null ^ this.getPmtInterval() == null) return false; if (other.getPmtInterval() != null && other.getPmtInterval().equals(this.getPmtInterval()) == false) return false; if (other.getPmtPid() == null ^ this.getPmtPid() == null) return false; if (other.getPmtPid() != null && other.getPmtPid().equals(this.getPmtPid()) == false) return false; if (other.getPrivateMetadataPid() == null ^ this.getPrivateMetadataPid() == null) return false; if (other.getPrivateMetadataPid() != null && other.getPrivateMetadataPid().equals(this.getPrivateMetadataPid()) == false) return false; if (other.getProgramNumber() == null ^ this.getProgramNumber() == null) return false; if (other.getProgramNumber() != null && other.getProgramNumber().equals(this.getProgramNumber()) == false) return false; if (other.getPtsOffset() == null ^ this.getPtsOffset() == null) return false; if (other.getPtsOffset() != null && other.getPtsOffset().equals(this.getPtsOffset()) == false) return false; if (other.getPtsOffsetMode() == null ^ this.getPtsOffsetMode() == null) return false; if (other.getPtsOffsetMode() != null && other.getPtsOffsetMode().equals(this.getPtsOffsetMode()) == false) return false; if (other.getScte35Pid() == null ^ this.getScte35Pid() == null) return false; if (other.getScte35Pid() != null && other.getScte35Pid().equals(this.getScte35Pid()) == false) return false; if (other.getScte35Source() == null ^ this.getScte35Source() == null) return false; if (other.getScte35Source() != null && other.getScte35Source().equals(this.getScte35Source()) == false) return false; if (other.getTimedMetadata() == null ^ this.getTimedMetadata() == null) return false; if (other.getTimedMetadata() != null && other.getTimedMetadata().equals(this.getTimedMetadata()) == false) return false; if (other.getTimedMetadataPid() == null ^ this.getTimedMetadataPid() == null) return false; if (other.getTimedMetadataPid() != null && other.getTimedMetadataPid().equals(this.getTimedMetadataPid()) == false) return false; if (other.getTransportStreamId() == null ^ this.getTransportStreamId() == null) return false; if (other.getTransportStreamId() != null && other.getTransportStreamId().equals(this.getTransportStreamId()) == false) return false; if (other.getVideoPid() == null ^ this.getVideoPid() == null) return false; if (other.getVideoPid() != null && other.getVideoPid().equals(this.getVideoPid()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAudioDuration() == null) ? 0 : getAudioDuration().hashCode()); hashCode = prime * hashCode + ((getAudioFramesPerPes() == null) ? 0 : getAudioFramesPerPes().hashCode()); hashCode = prime * hashCode + ((getAudioPids() == null) ? 0 : getAudioPids().hashCode()); hashCode = prime * hashCode + ((getDataPTSControl() == null) ? 0 : getDataPTSControl().hashCode()); hashCode = prime * hashCode + ((getMaxPcrInterval() == null) ? 0 : getMaxPcrInterval().hashCode()); hashCode = prime * hashCode + ((getNielsenId3() == null) ? 0 : getNielsenId3().hashCode()); hashCode = prime * hashCode + ((getPatInterval() == null) ? 0 : getPatInterval().hashCode()); hashCode = prime * hashCode + ((getPcrControl() == null) ? 0 : getPcrControl().hashCode()); hashCode = prime * hashCode + ((getPcrPid() == null) ? 0 : getPcrPid().hashCode()); hashCode = prime * hashCode + ((getPmtInterval() == null) ? 0 : getPmtInterval().hashCode()); hashCode = prime * hashCode + ((getPmtPid() == null) ? 0 : getPmtPid().hashCode()); hashCode = prime * hashCode + ((getPrivateMetadataPid() == null) ? 0 : getPrivateMetadataPid().hashCode()); hashCode = prime * hashCode + ((getProgramNumber() == null) ? 0 : getProgramNumber().hashCode()); hashCode = prime * hashCode + ((getPtsOffset() == null) ? 0 : getPtsOffset().hashCode()); hashCode = prime * hashCode + ((getPtsOffsetMode() == null) ? 0 : getPtsOffsetMode().hashCode()); hashCode = prime * hashCode + ((getScte35Pid() == null) ? 0 : getScte35Pid().hashCode()); hashCode = prime * hashCode + ((getScte35Source() == null) ? 0 : getScte35Source().hashCode()); hashCode = prime * hashCode + ((getTimedMetadata() == null) ? 0 : getTimedMetadata().hashCode()); hashCode = prime * hashCode + ((getTimedMetadataPid() == null) ? 0 : getTimedMetadataPid().hashCode()); hashCode = prime * hashCode + ((getTransportStreamId() == null) ? 0 : getTransportStreamId().hashCode()); hashCode = prime * hashCode + ((getVideoPid() == null) ? 0 : getVideoPid().hashCode()); return hashCode; } @Override public M3u8Settings clone() { try { return (M3u8Settings) 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.mediaconvert.model.transform.M3u8SettingsMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy