package mediabrowser.model.dlna; import mediabrowser.model.dto.*; /** Class AudioOptions. */ public class AudioOptions { public AudioOptions() { setContext(EncodingContext.Streaming); setEnableDirectPlay(true); setEnableDirectStream(true); } private boolean EnableDirectPlay; public final boolean getEnableDirectPlay() { return EnableDirectPlay; } public final void setEnableDirectPlay(boolean value) { EnableDirectPlay = value; } private boolean EnableDirectStream; public final boolean getEnableDirectStream() { return EnableDirectStream; } public final void setEnableDirectStream(boolean value) { EnableDirectStream = value; } private boolean ForceDirectPlay; public final boolean getForceDirectPlay() { return ForceDirectPlay; } public final void setForceDirectPlay(boolean value) { ForceDirectPlay = value; } private boolean ForceDirectStream; public final boolean getForceDirectStream() { return ForceDirectStream; } public final void setForceDirectStream(boolean value) { ForceDirectStream = value; } private String ItemId; public final String getItemId() { return ItemId; } public final void setItemId(String value) { ItemId = value; } private java.util.ArrayList<MediaSourceInfo> MediaSources; public final java.util.ArrayList<MediaSourceInfo> getMediaSources() { return MediaSources; } public final void setMediaSources(java.util.ArrayList<MediaSourceInfo> value) { MediaSources = value; } private DeviceProfile Profile; public final DeviceProfile getProfile() { return Profile; } public final void setProfile(DeviceProfile value) { Profile = value; } /** Optional. Only needed if a specific AudioStreamIndex or SubtitleStreamIndex are requested. */ private String MediaSourceId; public final String getMediaSourceId() { return MediaSourceId; } public final void setMediaSourceId(String value) { MediaSourceId = value; } private String DeviceId; public final String getDeviceId() { return DeviceId; } public final void setDeviceId(String value) { DeviceId = value; } /** Allows an override of supported number of audio channels Example: DeviceProfile supports five channel, but user only has stereo speakers */ private Integer MaxAudioChannels = null; public final Integer getMaxAudioChannels() { return MaxAudioChannels; } public final void setMaxAudioChannels(Integer value) { MaxAudioChannels = value; } /** The application's configured quality setting */ private Integer MaxBitrate = null; public final Integer getMaxBitrate() { return MaxBitrate; } public final void setMaxBitrate(Integer value) { MaxBitrate = value; } /** Gets or sets the context. <value>The context.</value> */ private EncodingContext Context = EncodingContext.values()[0]; public final EncodingContext getContext() { return Context; } public final void setContext(EncodingContext value) { Context = value; } /** Gets or sets the audio transcoding bitrate. <value>The audio transcoding bitrate.</value> */ private Integer AudioTranscodingBitrate = null; public final Integer getAudioTranscodingBitrate() { return AudioTranscodingBitrate; } public final void setAudioTranscodingBitrate(Integer value) { AudioTranscodingBitrate = value; } /** Gets the maximum bitrate. @return System.Nullable<System.Int32>. */ public final Integer GetMaxBitrate(boolean isAudio) { if (getMaxBitrate() != null) { return getMaxBitrate(); } if (getProfile() != null) { if (getContext() == EncodingContext.Static) { if (isAudio && getProfile().getMaxStaticMusicBitrate() != null) { return getProfile().getMaxStaticMusicBitrate(); } return getProfile().getMaxStaticBitrate(); } return getProfile().getMaxStreamingBitrate(); } return null; } }