using MediaBrowser.Common.IO; using MediaBrowser.Common.MediaInfo; using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Controller; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Entities; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Model.Logging; using MoreLinq; namespace MediaBrowser.Server.Implementations.ScheduledTasks { /// /// Class AudioImagesTask /// public class AudioImagesTask : IScheduledTask { /// /// Gets or sets the image cache. /// /// The image cache. public FileSystemRepository ImageCache { get; set; } /// /// The _library manager /// private readonly ILibraryManager _libraryManager; /// /// The _media encoder /// private readonly IMediaEncoder _mediaEncoder; private readonly ILogger _logger; /// /// The _locks /// private readonly ConcurrentDictionary _locks = new ConcurrentDictionary(); private readonly List