/// <summary>
        /// Creates a ConcatenationInputStream and adds it to an encoding.
        /// The ConcatenationInputStream is used to define a concatenated stream from multiple input files. <para />
        ///
        /// API endpoint:
        /// https://bitmovin.com/docs/encoding/api-reference/sections/encodings#/Encoding/PostEncodingEncodingsInputStreamsConcatenationByEncodingId
        /// </summary>
        /// <param name="encoding">The encoding to add the stream onto</param>
        /// <param name="concatenationInputs">List of ConcatenationInputConfiguration which include each concatenation configuration</param>
        private Task <ConcatenationInputStream> CreateConcatenationInputStream(Models.Encoding encoding,
                                                                               List <ConcatenationInputConfiguration> concatenationInputConfigurations)
        {
            var concatenationInputStream = new ConcatenationInputStream()
            {
                Concatenation = concatenationInputConfigurations
            };

            return(_bitmovinApi.Encoding.Encodings.InputStreams.Concatenation.CreateAsync(encoding.Id, concatenationInputStream));
        }
        /// <summary>
        /// Adds an audio mix input stream to an encoding
        ///
        /// API endpoint:
        /// https://bitmovin.com/docs/encoding/api-reference/sections/encodings#/Encoding/PostEncodingEncodingsStreamsByEncodingId
        /// </summary>
        /// <param name="encoding">The encoding to which the stream will be added</param>
        /// <param name="concatenationInputStream">The input resource providing the input file</param>
        /// <param name="codecConfiguration">The codec configuration to be applied to the stream</param>
        private Task <Stream> CreateStreamWithConcatenationInputStream(Models.Encoding encoding, ConcatenationInputStream concatenationInputStream,
                                                                       CodecConfiguration codecConfiguration)
        {
            var streamInput = new StreamInput()
            {
                InputStreamId = concatenationInputStream.Id
            };

            var inputStreams = new List <StreamInput>()
            {
                streamInput
            };
            var stream = new Stream()
            {
                InputStreams  = inputStreams,
                CodecConfigId = codecConfiguration.Id
            };

            return(_bitmovinApi.Encoding.Encodings.Streams.CreateAsync(encoding.Id, stream));
        }