| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | #pragma warning disable CS1591using MediaBrowser.Controller.Configuration;using MediaBrowser.Controller.Entities;using MediaBrowser.Controller.Library;using MediaBrowser.Controller.Providers;using MediaBrowser.Model.Entities;using MediaBrowser.Model.IO;using MediaBrowser.Providers.Manager;using Microsoft.Extensions.Logging;namespace MediaBrowser.Providers.Books{    public class AudioBookMetadataService : MetadataService<AudioBook, SongInfo>    {        public AudioBookMetadataService(            IServerConfigurationManager serverConfigurationManager,            ILogger<AudioBookMetadataService> logger,            IProviderManager providerManager,            IFileSystem fileSystem,            ILibraryManager libraryManager)            : base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager)        {        }        /// <inheritdoc />        protected override void MergeData(            MetadataResult<AudioBook> source,            MetadataResult<AudioBook> target,            MetadataField[] lockedFields,            bool replaceData,            bool mergeMetadataSettings)        {            ProviderUtils.MergeBaseItemData(source, target, lockedFields, replaceData, mergeMetadataSettings);            var sourceItem = source.Item;            var targetItem = target.Item;            if (replaceData || targetItem.Artists.Count == 0)            {                targetItem.Artists = sourceItem.Artists;            }            if (replaceData || string.IsNullOrEmpty(targetItem.Album))            {                targetItem.Album = sourceItem.Album;            }        }    }}
 |