// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // Helper functions for handling structures // // -------------------------------------------------------------------------------------------------------------------- namespace HandBrakeWPF.Helpers { using System; using System.Globalization; using HandBrakeWPF.Services.Encode.Model.Models; /// /// Helper functions for handling structures /// internal static class TimeSpanHelper { /// /// Parses chapter time start value from a chapter marker input file. /// /// /// The raw string value parsed from the input file /// /// /// The . /// internal static TimeSpan ParseChapterTimeStart(string chapterStartRaw) { if (string.IsNullOrEmpty(chapterStartRaw)) { return TimeSpan.MinValue; } // Format: 02:35:05 and 02:35:05.2957333 TimeSpan converted; string fromTime = chapterStartRaw.Trim().TrimEnd('0'); if (TimeSpan.TryParseExact(fromTime, new[] { @"HH\:mm\:ss", @"hh\:mm\:ss\.FFFFFFF", }, CultureInfo.InvariantCulture, out converted)) { return converted; } return TimeSpan.Zero; } } }