/// <summary> /// Gets the subtitle cache path. /// </summary> /// <param name="input">The input.</param> /// <param name="subtitleStreamIndex">Index of the subtitle stream.</param> /// <param name="offset">The offset.</param> /// <param name="outputExtension">The output extension.</param> /// <returns>System.String.</returns> public string GetSubtitleCachePath(Video input, int subtitleStreamIndex, TimeSpan?offset, string outputExtension) { var ticksParam = offset.HasValue ? "_" + offset.Value.Ticks : ""; var stream = input.MediaStreams[subtitleStreamIndex]; if (stream.IsExternal) { ticksParam += File.GetLastWriteTimeUtc(stream.Path).Ticks; } return(SubtitleCache.GetResourcePath(input.Id + "_" + subtitleStreamIndex + "_" + input.DateModified.Ticks + ticksParam, outputExtension)); }
/// <summary> /// Gets the subtitle cache path. /// </summary> /// <param name="input">The input.</param> /// <param name="subtitleStreamIndex">Index of the subtitle stream.</param> /// <param name="outputExtension">The output extension.</param> /// <returns>System.String.</returns> public string GetSubtitleCachePath(Video input, int subtitleStreamIndex, string outputExtension) { return(SubtitleCache.GetResourcePath(input.Id + "_" + subtitleStreamIndex + "_" + input.DateModified.Ticks, outputExtension)); }
/// <summary> /// Determines whether [is subtitle cached] [the specified input]. /// </summary> /// <param name="input">The input.</param> /// <param name="subtitleStreamIndex">Index of the subtitle stream.</param> /// <param name="outputExtension">The output extension.</param> /// <returns><c>true</c> if [is subtitle cached] [the specified input]; otherwise, <c>false</c>.</returns> public bool IsSubtitleCached(Video input, int subtitleStreamIndex, string outputExtension) { return(SubtitleCache.ContainsFilePath(GetSubtitleCachePath(input, subtitleStreamIndex, outputExtension))); }