private string GetDescription()
        {
            var sb = new StringBuilder();

            if (!string.IsNullOrEmpty(this.GeneralStream.FormatId))
            {
                sb.Append(string.Format(", {0} File", this.GeneralStream.Extension));
            }

            if (this.FileSize != 0)
            {
                sb.Append(string.Format(", {0}", MediaInfo.FormatFileSize(this.FileSize)));
            }

            if (this.StreamCount >= 0)
            {
                sb.Append(string.Format(", {0} streams", this.StreamCount));
            }

            if (this.GeneralStream.Bitrate != 0)
            {
                sb.Append(string.Format(", {0} kbps", this.GeneralStream.Bitrate));
            }

            if (!string.IsNullOrEmpty(this.GeneralStream.DurationString))
            {
                sb.Append(string.Format(", {0}", this.GeneralStream.DurationString));
            }

            var description = sb.ToString();

            if (!string.IsNullOrEmpty(description.Trim()))
            {
                description = description.Trim().Remove(0, 1).Trim();
            }

            sb = new StringBuilder(description);
            sb.AppendLine();
            sb.AppendLine();

            foreach (var stream in this.AllStreams)
            {
                if (stream.StreamType == "Audio" || stream.StreamType == "Video" || stream.StreamType == "Text")
                {
                    sb.AppendLine(string.Format("#{0} | {1} [ {2} ]", stream.StreamIndex, stream.StreamType, stream));
                }
            }

            description = sb.ToString().Trim();

            if (description.EndsWith(Environment.NewLine))
            {
                description = description.Remove(description.Length, 1);
            }

            return(description);
        }