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

com.amazonaws.services.ivsrealtime.model.PipConfiguration Maven / Gradle / Ivy

/*
 * 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.ivsrealtime.model;

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

/**
 * 

* Configuration information specific to Picture-in-Picture (PiP) layout, for server-side * composition. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PipConfiguration implements Serializable, Cloneable, StructuredPojo { /** *

* This attribute name identifies the featured slot. A participant with this attribute set to "true" * (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. *

*/ private String featuredParticipantAttribute; /** *

* Specifies the spacing between participant tiles in pixels. Default: 0. *

*/ private Integer gridGap; /** *

* Determines whether to omit participants with stopped video in the composition. Default: false. *

*/ private Boolean omitStoppedVideo; /** *

* Defines PiP behavior when all participants have left. Default: STATIC. *

*/ private String pipBehavior; /** *

* Specifies the height of the PiP window in pixels. When this is not set explicitly, pipHeight’s value * will be based on the size of the composition and the aspect ratio of the participant’s video. *

*/ private Integer pipHeight; /** *

* Sets the PiP window’s offset position in pixels from the closest edges determined by PipPosition. * Default: 0. *

*/ private Integer pipOffset; /** *

* Identifies the PiP slot. A participant with this attribute set to "true" (as a string value) in * ParticipantTokenConfiguration is placed in the PiP slot. *

*/ private String pipParticipantAttribute; /** *

* Determines the corner position of the PiP window. Default: BOTTOM_RIGHT. *

*/ private String pipPosition; /** *

* Specifies the width of the PiP window in pixels. When this is not set explicitly, pipWidth’s value * will be based on the size of the composition and the aspect ratio of the participant’s video. *

*/ private Integer pipWidth; /** *

* Defines how video fits within the participant tile. Default: COVER. *

*/ private String videoFillMode; /** *

* This attribute name identifies the featured slot. A participant with this attribute set to "true" * (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. *

* * @param featuredParticipantAttribute * This attribute name identifies the featured slot. A participant with this attribute set to * "true" (as a string value) in ParticipantTokenConfiguration is placed in the featured * slot. */ public void setFeaturedParticipantAttribute(String featuredParticipantAttribute) { this.featuredParticipantAttribute = featuredParticipantAttribute; } /** *

* This attribute name identifies the featured slot. A participant with this attribute set to "true" * (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. *

* * @return This attribute name identifies the featured slot. A participant with this attribute set to * "true" (as a string value) in ParticipantTokenConfiguration is placed in the featured * slot. */ public String getFeaturedParticipantAttribute() { return this.featuredParticipantAttribute; } /** *

* This attribute name identifies the featured slot. A participant with this attribute set to "true" * (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. *

* * @param featuredParticipantAttribute * This attribute name identifies the featured slot. A participant with this attribute set to * "true" (as a string value) in ParticipantTokenConfiguration is placed in the featured * slot. * @return Returns a reference to this object so that method calls can be chained together. */ public PipConfiguration withFeaturedParticipantAttribute(String featuredParticipantAttribute) { setFeaturedParticipantAttribute(featuredParticipantAttribute); return this; } /** *

* Specifies the spacing between participant tiles in pixels. Default: 0. *

* * @param gridGap * Specifies the spacing between participant tiles in pixels. Default: 0. */ public void setGridGap(Integer gridGap) { this.gridGap = gridGap; } /** *

* Specifies the spacing between participant tiles in pixels. Default: 0. *

* * @return Specifies the spacing between participant tiles in pixels. Default: 0. */ public Integer getGridGap() { return this.gridGap; } /** *

* Specifies the spacing between participant tiles in pixels. Default: 0. *

* * @param gridGap * Specifies the spacing between participant tiles in pixels. Default: 0. * @return Returns a reference to this object so that method calls can be chained together. */ public PipConfiguration withGridGap(Integer gridGap) { setGridGap(gridGap); return this; } /** *

* Determines whether to omit participants with stopped video in the composition. Default: false. *

* * @param omitStoppedVideo * Determines whether to omit participants with stopped video in the composition. Default: false * . */ public void setOmitStoppedVideo(Boolean omitStoppedVideo) { this.omitStoppedVideo = omitStoppedVideo; } /** *

* Determines whether to omit participants with stopped video in the composition. Default: false. *

* * @return Determines whether to omit participants with stopped video in the composition. Default: * false. */ public Boolean getOmitStoppedVideo() { return this.omitStoppedVideo; } /** *

* Determines whether to omit participants with stopped video in the composition. Default: false. *

* * @param omitStoppedVideo * Determines whether to omit participants with stopped video in the composition. Default: false * . * @return Returns a reference to this object so that method calls can be chained together. */ public PipConfiguration withOmitStoppedVideo(Boolean omitStoppedVideo) { setOmitStoppedVideo(omitStoppedVideo); return this; } /** *

* Determines whether to omit participants with stopped video in the composition. Default: false. *

* * @return Determines whether to omit participants with stopped video in the composition. Default: * false. */ public Boolean isOmitStoppedVideo() { return this.omitStoppedVideo; } /** *

* Defines PiP behavior when all participants have left. Default: STATIC. *

* * @param pipBehavior * Defines PiP behavior when all participants have left. Default: STATIC. * @see PipBehavior */ public void setPipBehavior(String pipBehavior) { this.pipBehavior = pipBehavior; } /** *

* Defines PiP behavior when all participants have left. Default: STATIC. *

* * @return Defines PiP behavior when all participants have left. Default: STATIC. * @see PipBehavior */ public String getPipBehavior() { return this.pipBehavior; } /** *

* Defines PiP behavior when all participants have left. Default: STATIC. *

* * @param pipBehavior * Defines PiP behavior when all participants have left. Default: STATIC. * @return Returns a reference to this object so that method calls can be chained together. * @see PipBehavior */ public PipConfiguration withPipBehavior(String pipBehavior) { setPipBehavior(pipBehavior); return this; } /** *

* Defines PiP behavior when all participants have left. Default: STATIC. *

* * @param pipBehavior * Defines PiP behavior when all participants have left. Default: STATIC. * @return Returns a reference to this object so that method calls can be chained together. * @see PipBehavior */ public PipConfiguration withPipBehavior(PipBehavior pipBehavior) { this.pipBehavior = pipBehavior.toString(); return this; } /** *

* Specifies the height of the PiP window in pixels. When this is not set explicitly, pipHeight’s value * will be based on the size of the composition and the aspect ratio of the participant’s video. *

* * @param pipHeight * Specifies the height of the PiP window in pixels. When this is not set explicitly, pipHeight * ’s value will be based on the size of the composition and the aspect ratio of the participant’s video. */ public void setPipHeight(Integer pipHeight) { this.pipHeight = pipHeight; } /** *

* Specifies the height of the PiP window in pixels. When this is not set explicitly, pipHeight’s value * will be based on the size of the composition and the aspect ratio of the participant’s video. *

* * @return Specifies the height of the PiP window in pixels. When this is not set explicitly, pipHeight * ’s value will be based on the size of the composition and the aspect ratio of the participant’s video. */ public Integer getPipHeight() { return this.pipHeight; } /** *

* Specifies the height of the PiP window in pixels. When this is not set explicitly, pipHeight’s value * will be based on the size of the composition and the aspect ratio of the participant’s video. *

* * @param pipHeight * Specifies the height of the PiP window in pixels. When this is not set explicitly, pipHeight * ’s value will be based on the size of the composition and the aspect ratio of the participant’s video. * @return Returns a reference to this object so that method calls can be chained together. */ public PipConfiguration withPipHeight(Integer pipHeight) { setPipHeight(pipHeight); return this; } /** *

* Sets the PiP window’s offset position in pixels from the closest edges determined by PipPosition. * Default: 0. *

* * @param pipOffset * Sets the PiP window’s offset position in pixels from the closest edges determined by * PipPosition. Default: 0. */ public void setPipOffset(Integer pipOffset) { this.pipOffset = pipOffset; } /** *

* Sets the PiP window’s offset position in pixels from the closest edges determined by PipPosition. * Default: 0. *

* * @return Sets the PiP window’s offset position in pixels from the closest edges determined by * PipPosition. Default: 0. */ public Integer getPipOffset() { return this.pipOffset; } /** *

* Sets the PiP window’s offset position in pixels from the closest edges determined by PipPosition. * Default: 0. *

* * @param pipOffset * Sets the PiP window’s offset position in pixels from the closest edges determined by * PipPosition. Default: 0. * @return Returns a reference to this object so that method calls can be chained together. */ public PipConfiguration withPipOffset(Integer pipOffset) { setPipOffset(pipOffset); return this; } /** *

* Identifies the PiP slot. A participant with this attribute set to "true" (as a string value) in * ParticipantTokenConfiguration is placed in the PiP slot. *

* * @param pipParticipantAttribute * Identifies the PiP slot. A participant with this attribute set to "true" (as a string value) * in ParticipantTokenConfiguration is placed in the PiP slot. */ public void setPipParticipantAttribute(String pipParticipantAttribute) { this.pipParticipantAttribute = pipParticipantAttribute; } /** *

* Identifies the PiP slot. A participant with this attribute set to "true" (as a string value) in * ParticipantTokenConfiguration is placed in the PiP slot. *

* * @return Identifies the PiP slot. A participant with this attribute set to "true" (as a string value) * in ParticipantTokenConfiguration is placed in the PiP slot. */ public String getPipParticipantAttribute() { return this.pipParticipantAttribute; } /** *

* Identifies the PiP slot. A participant with this attribute set to "true" (as a string value) in * ParticipantTokenConfiguration is placed in the PiP slot. *

* * @param pipParticipantAttribute * Identifies the PiP slot. A participant with this attribute set to "true" (as a string value) * in ParticipantTokenConfiguration is placed in the PiP slot. * @return Returns a reference to this object so that method calls can be chained together. */ public PipConfiguration withPipParticipantAttribute(String pipParticipantAttribute) { setPipParticipantAttribute(pipParticipantAttribute); return this; } /** *

* Determines the corner position of the PiP window. Default: BOTTOM_RIGHT. *

* * @param pipPosition * Determines the corner position of the PiP window. Default: BOTTOM_RIGHT. * @see PipPosition */ public void setPipPosition(String pipPosition) { this.pipPosition = pipPosition; } /** *

* Determines the corner position of the PiP window. Default: BOTTOM_RIGHT. *

* * @return Determines the corner position of the PiP window. Default: BOTTOM_RIGHT. * @see PipPosition */ public String getPipPosition() { return this.pipPosition; } /** *

* Determines the corner position of the PiP window. Default: BOTTOM_RIGHT. *

* * @param pipPosition * Determines the corner position of the PiP window. Default: BOTTOM_RIGHT. * @return Returns a reference to this object so that method calls can be chained together. * @see PipPosition */ public PipConfiguration withPipPosition(String pipPosition) { setPipPosition(pipPosition); return this; } /** *

* Determines the corner position of the PiP window. Default: BOTTOM_RIGHT. *

* * @param pipPosition * Determines the corner position of the PiP window. Default: BOTTOM_RIGHT. * @return Returns a reference to this object so that method calls can be chained together. * @see PipPosition */ public PipConfiguration withPipPosition(PipPosition pipPosition) { this.pipPosition = pipPosition.toString(); return this; } /** *

* Specifies the width of the PiP window in pixels. When this is not set explicitly, pipWidth’s value * will be based on the size of the composition and the aspect ratio of the participant’s video. *

* * @param pipWidth * Specifies the width of the PiP window in pixels. When this is not set explicitly, pipWidth’s * value will be based on the size of the composition and the aspect ratio of the participant’s video. */ public void setPipWidth(Integer pipWidth) { this.pipWidth = pipWidth; } /** *

* Specifies the width of the PiP window in pixels. When this is not set explicitly, pipWidth’s value * will be based on the size of the composition and the aspect ratio of the participant’s video. *

* * @return Specifies the width of the PiP window in pixels. When this is not set explicitly, pipWidth’s * value will be based on the size of the composition and the aspect ratio of the participant’s video. */ public Integer getPipWidth() { return this.pipWidth; } /** *

* Specifies the width of the PiP window in pixels. When this is not set explicitly, pipWidth’s value * will be based on the size of the composition and the aspect ratio of the participant’s video. *

* * @param pipWidth * Specifies the width of the PiP window in pixels. When this is not set explicitly, pipWidth’s * value will be based on the size of the composition and the aspect ratio of the participant’s video. * @return Returns a reference to this object so that method calls can be chained together. */ public PipConfiguration withPipWidth(Integer pipWidth) { setPipWidth(pipWidth); return this; } /** *

* Defines how video fits within the participant tile. Default: COVER. *

* * @param videoFillMode * Defines how video fits within the participant tile. Default: COVER. * @see VideoFillMode */ public void setVideoFillMode(String videoFillMode) { this.videoFillMode = videoFillMode; } /** *

* Defines how video fits within the participant tile. Default: COVER. *

* * @return Defines how video fits within the participant tile. Default: COVER. * @see VideoFillMode */ public String getVideoFillMode() { return this.videoFillMode; } /** *

* Defines how video fits within the participant tile. Default: COVER. *

* * @param videoFillMode * Defines how video fits within the participant tile. Default: COVER. * @return Returns a reference to this object so that method calls can be chained together. * @see VideoFillMode */ public PipConfiguration withVideoFillMode(String videoFillMode) { setVideoFillMode(videoFillMode); return this; } /** *

* Defines how video fits within the participant tile. Default: COVER. *

* * @param videoFillMode * Defines how video fits within the participant tile. Default: COVER. * @return Returns a reference to this object so that method calls can be chained together. * @see VideoFillMode */ public PipConfiguration withVideoFillMode(VideoFillMode videoFillMode) { this.videoFillMode = videoFillMode.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 (getFeaturedParticipantAttribute() != null) sb.append("FeaturedParticipantAttribute: ").append(getFeaturedParticipantAttribute()).append(","); if (getGridGap() != null) sb.append("GridGap: ").append(getGridGap()).append(","); if (getOmitStoppedVideo() != null) sb.append("OmitStoppedVideo: ").append(getOmitStoppedVideo()).append(","); if (getPipBehavior() != null) sb.append("PipBehavior: ").append(getPipBehavior()).append(","); if (getPipHeight() != null) sb.append("PipHeight: ").append(getPipHeight()).append(","); if (getPipOffset() != null) sb.append("PipOffset: ").append(getPipOffset()).append(","); if (getPipParticipantAttribute() != null) sb.append("PipParticipantAttribute: ").append(getPipParticipantAttribute()).append(","); if (getPipPosition() != null) sb.append("PipPosition: ").append(getPipPosition()).append(","); if (getPipWidth() != null) sb.append("PipWidth: ").append(getPipWidth()).append(","); if (getVideoFillMode() != null) sb.append("VideoFillMode: ").append(getVideoFillMode()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PipConfiguration == false) return false; PipConfiguration other = (PipConfiguration) obj; if (other.getFeaturedParticipantAttribute() == null ^ this.getFeaturedParticipantAttribute() == null) return false; if (other.getFeaturedParticipantAttribute() != null && other.getFeaturedParticipantAttribute().equals(this.getFeaturedParticipantAttribute()) == false) return false; if (other.getGridGap() == null ^ this.getGridGap() == null) return false; if (other.getGridGap() != null && other.getGridGap().equals(this.getGridGap()) == false) return false; if (other.getOmitStoppedVideo() == null ^ this.getOmitStoppedVideo() == null) return false; if (other.getOmitStoppedVideo() != null && other.getOmitStoppedVideo().equals(this.getOmitStoppedVideo()) == false) return false; if (other.getPipBehavior() == null ^ this.getPipBehavior() == null) return false; if (other.getPipBehavior() != null && other.getPipBehavior().equals(this.getPipBehavior()) == false) return false; if (other.getPipHeight() == null ^ this.getPipHeight() == null) return false; if (other.getPipHeight() != null && other.getPipHeight().equals(this.getPipHeight()) == false) return false; if (other.getPipOffset() == null ^ this.getPipOffset() == null) return false; if (other.getPipOffset() != null && other.getPipOffset().equals(this.getPipOffset()) == false) return false; if (other.getPipParticipantAttribute() == null ^ this.getPipParticipantAttribute() == null) return false; if (other.getPipParticipantAttribute() != null && other.getPipParticipantAttribute().equals(this.getPipParticipantAttribute()) == false) return false; if (other.getPipPosition() == null ^ this.getPipPosition() == null) return false; if (other.getPipPosition() != null && other.getPipPosition().equals(this.getPipPosition()) == false) return false; if (other.getPipWidth() == null ^ this.getPipWidth() == null) return false; if (other.getPipWidth() != null && other.getPipWidth().equals(this.getPipWidth()) == false) return false; if (other.getVideoFillMode() == null ^ this.getVideoFillMode() == null) return false; if (other.getVideoFillMode() != null && other.getVideoFillMode().equals(this.getVideoFillMode()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getFeaturedParticipantAttribute() == null) ? 0 : getFeaturedParticipantAttribute().hashCode()); hashCode = prime * hashCode + ((getGridGap() == null) ? 0 : getGridGap().hashCode()); hashCode = prime * hashCode + ((getOmitStoppedVideo() == null) ? 0 : getOmitStoppedVideo().hashCode()); hashCode = prime * hashCode + ((getPipBehavior() == null) ? 0 : getPipBehavior().hashCode()); hashCode = prime * hashCode + ((getPipHeight() == null) ? 0 : getPipHeight().hashCode()); hashCode = prime * hashCode + ((getPipOffset() == null) ? 0 : getPipOffset().hashCode()); hashCode = prime * hashCode + ((getPipParticipantAttribute() == null) ? 0 : getPipParticipantAttribute().hashCode()); hashCode = prime * hashCode + ((getPipPosition() == null) ? 0 : getPipPosition().hashCode()); hashCode = prime * hashCode + ((getPipWidth() == null) ? 0 : getPipWidth().hashCode()); hashCode = prime * hashCode + ((getVideoFillMode() == null) ? 0 : getVideoFillMode().hashCode()); return hashCode; } @Override public PipConfiguration clone() { try { return (PipConfiguration) 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.ivsrealtime.model.transform.PipConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy