aws-sdk-mediaconvert 1.85.0

AWS SDK for AWS Elemental MediaConvert
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// Details about each track (video, audio, or data) in the media file.
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Track {
    /// Details about the media file's audio track.
    pub audio_properties: ::std::option::Option<crate::types::AudioProperties>,
    /// The codec of the audio or video track, or caption format of the data track.
    pub codec: ::std::option::Option<crate::types::Codec>,
    /// Details about the media file's data track.
    pub data_properties: ::std::option::Option<crate::types::DataProperties>,
    /// The duration of the track, in seconds.
    pub duration: ::std::option::Option<f64>,
    /// The unique index number of the track, starting at 1.
    pub index: ::std::option::Option<i32>,
    /// The type of track: video, audio, or data.
    pub track_type: ::std::option::Option<crate::types::TrackType>,
    /// Details about the media file's video track.
    pub video_properties: ::std::option::Option<crate::types::VideoProperties>,
}
impl Track {
    /// Details about the media file's audio track.
    pub fn audio_properties(&self) -> ::std::option::Option<&crate::types::AudioProperties> {
        self.audio_properties.as_ref()
    }
    /// The codec of the audio or video track, or caption format of the data track.
    pub fn codec(&self) -> ::std::option::Option<&crate::types::Codec> {
        self.codec.as_ref()
    }
    /// Details about the media file's data track.
    pub fn data_properties(&self) -> ::std::option::Option<&crate::types::DataProperties> {
        self.data_properties.as_ref()
    }
    /// The duration of the track, in seconds.
    pub fn duration(&self) -> ::std::option::Option<f64> {
        self.duration
    }
    /// The unique index number of the track, starting at 1.
    pub fn index(&self) -> ::std::option::Option<i32> {
        self.index
    }
    /// The type of track: video, audio, or data.
    pub fn track_type(&self) -> ::std::option::Option<&crate::types::TrackType> {
        self.track_type.as_ref()
    }
    /// Details about the media file's video track.
    pub fn video_properties(&self) -> ::std::option::Option<&crate::types::VideoProperties> {
        self.video_properties.as_ref()
    }
}
impl Track {
    /// Creates a new builder-style object to manufacture [`Track`](crate::types::Track).
    pub fn builder() -> crate::types::builders::TrackBuilder {
        crate::types::builders::TrackBuilder::default()
    }
}

/// A builder for [`Track`](crate::types::Track).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct TrackBuilder {
    pub(crate) audio_properties: ::std::option::Option<crate::types::AudioProperties>,
    pub(crate) codec: ::std::option::Option<crate::types::Codec>,
    pub(crate) data_properties: ::std::option::Option<crate::types::DataProperties>,
    pub(crate) duration: ::std::option::Option<f64>,
    pub(crate) index: ::std::option::Option<i32>,
    pub(crate) track_type: ::std::option::Option<crate::types::TrackType>,
    pub(crate) video_properties: ::std::option::Option<crate::types::VideoProperties>,
}
impl TrackBuilder {
    /// Details about the media file's audio track.
    pub fn audio_properties(mut self, input: crate::types::AudioProperties) -> Self {
        self.audio_properties = ::std::option::Option::Some(input);
        self
    }
    /// Details about the media file's audio track.
    pub fn set_audio_properties(mut self, input: ::std::option::Option<crate::types::AudioProperties>) -> Self {
        self.audio_properties = input;
        self
    }
    /// Details about the media file's audio track.
    pub fn get_audio_properties(&self) -> &::std::option::Option<crate::types::AudioProperties> {
        &self.audio_properties
    }
    /// The codec of the audio or video track, or caption format of the data track.
    pub fn codec(mut self, input: crate::types::Codec) -> Self {
        self.codec = ::std::option::Option::Some(input);
        self
    }
    /// The codec of the audio or video track, or caption format of the data track.
    pub fn set_codec(mut self, input: ::std::option::Option<crate::types::Codec>) -> Self {
        self.codec = input;
        self
    }
    /// The codec of the audio or video track, or caption format of the data track.
    pub fn get_codec(&self) -> &::std::option::Option<crate::types::Codec> {
        &self.codec
    }
    /// Details about the media file's data track.
    pub fn data_properties(mut self, input: crate::types::DataProperties) -> Self {
        self.data_properties = ::std::option::Option::Some(input);
        self
    }
    /// Details about the media file's data track.
    pub fn set_data_properties(mut self, input: ::std::option::Option<crate::types::DataProperties>) -> Self {
        self.data_properties = input;
        self
    }
    /// Details about the media file's data track.
    pub fn get_data_properties(&self) -> &::std::option::Option<crate::types::DataProperties> {
        &self.data_properties
    }
    /// The duration of the track, in seconds.
    pub fn duration(mut self, input: f64) -> Self {
        self.duration = ::std::option::Option::Some(input);
        self
    }
    /// The duration of the track, in seconds.
    pub fn set_duration(mut self, input: ::std::option::Option<f64>) -> Self {
        self.duration = input;
        self
    }
    /// The duration of the track, in seconds.
    pub fn get_duration(&self) -> &::std::option::Option<f64> {
        &self.duration
    }
    /// The unique index number of the track, starting at 1.
    pub fn index(mut self, input: i32) -> Self {
        self.index = ::std::option::Option::Some(input);
        self
    }
    /// The unique index number of the track, starting at 1.
    pub fn set_index(mut self, input: ::std::option::Option<i32>) -> Self {
        self.index = input;
        self
    }
    /// The unique index number of the track, starting at 1.
    pub fn get_index(&self) -> &::std::option::Option<i32> {
        &self.index
    }
    /// The type of track: video, audio, or data.
    pub fn track_type(mut self, input: crate::types::TrackType) -> Self {
        self.track_type = ::std::option::Option::Some(input);
        self
    }
    /// The type of track: video, audio, or data.
    pub fn set_track_type(mut self, input: ::std::option::Option<crate::types::TrackType>) -> Self {
        self.track_type = input;
        self
    }
    /// The type of track: video, audio, or data.
    pub fn get_track_type(&self) -> &::std::option::Option<crate::types::TrackType> {
        &self.track_type
    }
    /// Details about the media file's video track.
    pub fn video_properties(mut self, input: crate::types::VideoProperties) -> Self {
        self.video_properties = ::std::option::Option::Some(input);
        self
    }
    /// Details about the media file's video track.
    pub fn set_video_properties(mut self, input: ::std::option::Option<crate::types::VideoProperties>) -> Self {
        self.video_properties = input;
        self
    }
    /// Details about the media file's video track.
    pub fn get_video_properties(&self) -> &::std::option::Option<crate::types::VideoProperties> {
        &self.video_properties
    }
    /// Consumes the builder and constructs a [`Track`](crate::types::Track).
    pub fn build(self) -> crate::types::Track {
        crate::types::Track {
            audio_properties: self.audio_properties,
            codec: self.codec,
            data_properties: self.data_properties,
            duration: self.duration,
            index: self.index,
            track_type: self.track_type,
            video_properties: self.video_properties,
        }
    }
}