/// <summary> /// Returns stream information as FFmpegStream about specified media file that can be used to call a muxing operation. /// </summary> /// <param name="path">The path of the media file to query.</param> /// <param name="streamType">The type of media stream to query.</param> /// <param name="options">The options for starting the process.</param> /// <returns>A FFmpegStream object.</returns> private MediaStream?GetStreamInfo(string path, FFmpegStreamType streamType, ProcessOptionsEncoder?options) { var fileInfo = _infoReader.GetFileInfo(path, options); var streamInfo = fileInfo.FileStreams?.FirstOrDefault(x => x.StreamType == streamType); if (streamInfo != null) { return(new MediaStream() { Path = path, Index = streamInfo.Index, Format = streamInfo.Format, Type = streamType }); } return(null); }
/// <summary> /// Returns stream information as FFmpegStream about specified media file that can be used to call a muxing operation. /// </summary> /// <param name="path">The path of the media file to query.</param> /// <param name="streamType">The type of media stream to query.</param> /// <param name="options">The options for starting the process.</param> /// <returns>A FFmpegStream object.</returns> private MediaStream GetStreamInfo(string path, FFmpegStreamType streamType, ProcessOptionsEncoder options) { IFileInfoFFmpeg FileInfo = infoReader.GetFileInfo(path, options); MediaStreamInfo StreamInfo = FileInfo.FileStreams?.FirstOrDefault(x => x.StreamType == streamType); if (StreamInfo != null) { return(new MediaStream() { Path = path, Index = StreamInfo.Index, Format = StreamInfo.Format, Type = streamType }); } else { return(null); } }