@type t() :: %HLS.Packager.Track{
codecs: [String.t()],
discontinue_next_segment: boolean(),
duration: float(),
init_section: nil | %{uri: URI.t(), payload: binary()},
media_playlist: HLS.Playlist.Media.t(),
next_sync_datetime: nil | DateTime.t(),
pending_playlist: HLS.Playlist.Media.t(),
segment_count: non_neg_integer(),
segment_extension: String.t(),
stream: HLS.VariantStream.t() | HLS.AlternativeRendition.t(),
upload_tasks: [
%{ref: reference(), segment: HLS.Segment.t(), uploaded: boolean()}
]
}