mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 18:08:53 -07:00
Code Clean up: Convert to null-coalescing operator ?? (#5845)
Co-authored-by: Cody Robibero <cody@robibe.ro> Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
This commit is contained in:
parent
04447ed014
commit
2e98de9062
@ -335,10 +335,7 @@ namespace Emby.Server.Implementations
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_deviceId == null)
|
_deviceId ??= new DeviceId(ApplicationPaths, LoggerFactory);
|
||||||
{
|
|
||||||
_deviceId = new DeviceId(ApplicationPaths, LoggerFactory);
|
|
||||||
}
|
|
||||||
|
|
||||||
return _deviceId.Value;
|
return _deviceId.Value;
|
||||||
}
|
}
|
||||||
@ -370,10 +367,7 @@ namespace Emby.Server.Implementations
|
|||||||
/// <returns>System.Object.</returns>
|
/// <returns>System.Object.</returns>
|
||||||
protected object CreateInstanceSafe(Type type)
|
protected object CreateInstanceSafe(Type type)
|
||||||
{
|
{
|
||||||
if (_creatingInstances == null)
|
_creatingInstances ??= new List<Type>();
|
||||||
{
|
|
||||||
_creatingInstances = new List<Type>();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_creatingInstances.IndexOf(type) != -1)
|
if (_creatingInstances.IndexOf(type) != -1)
|
||||||
{
|
{
|
||||||
|
@ -665,10 +665,7 @@ namespace Emby.Server.Implementations.Dto
|
|||||||
var tag = GetImageCacheTag(item, image);
|
var tag = GetImageCacheTag(item, image);
|
||||||
if (!string.IsNullOrEmpty(image.BlurHash))
|
if (!string.IsNullOrEmpty(image.BlurHash))
|
||||||
{
|
{
|
||||||
if (dto.ImageBlurHashes == null)
|
dto.ImageBlurHashes ??= new Dictionary<ImageType, Dictionary<string, string>>();
|
||||||
{
|
|
||||||
dto.ImageBlurHashes = new Dictionary<ImageType, Dictionary<string, string>>();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!dto.ImageBlurHashes.ContainsKey(image.Type))
|
if (!dto.ImageBlurHashes.ContainsKey(image.Type))
|
||||||
{
|
{
|
||||||
@ -702,10 +699,7 @@ namespace Emby.Server.Implementations.Dto
|
|||||||
|
|
||||||
if (hashes.Count > 0)
|
if (hashes.Count > 0)
|
||||||
{
|
{
|
||||||
if (dto.ImageBlurHashes == null)
|
dto.ImageBlurHashes ??= new Dictionary<ImageType, Dictionary<string, string>>();
|
||||||
{
|
|
||||||
dto.ImageBlurHashes = new Dictionary<ImageType, Dictionary<string, string>>();
|
|
||||||
}
|
|
||||||
|
|
||||||
dto.ImageBlurHashes[imageType] = hashes;
|
dto.ImageBlurHashes[imageType] = hashes;
|
||||||
}
|
}
|
||||||
@ -898,10 +892,7 @@ namespace Emby.Server.Implementations.Dto
|
|||||||
dto.Taglines = new string[] { item.Tagline };
|
dto.Taglines = new string[] { item.Tagline };
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dto.Taglines == null)
|
dto.Taglines ??= Array.Empty<string>();
|
||||||
{
|
|
||||||
dto.Taglines = Array.Empty<string>();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dto.Type = item.GetBaseItemKind();
|
dto.Type = item.GetBaseItemKind();
|
||||||
|
@ -176,10 +176,7 @@ namespace Emby.Server.Implementations.Library
|
|||||||
{
|
{
|
||||||
lock (_rootFolderSyncLock)
|
lock (_rootFolderSyncLock)
|
||||||
{
|
{
|
||||||
if (_rootFolder == null)
|
_rootFolder ??= CreateRootFolder();
|
||||||
{
|
|
||||||
_rootFolder = CreateRootFolder();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,14 +35,10 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
var season = parent as Season;
|
|
||||||
|
|
||||||
// Just in case the user decided to nest episodes.
|
// Just in case the user decided to nest episodes.
|
||||||
// Not officially supported but in some cases we can handle it.
|
// Not officially supported but in some cases we can handle it.
|
||||||
if (season == null)
|
|
||||||
{
|
var season = parent as Season ?? parent.GetParents().OfType<Season>().FirstOrDefault();
|
||||||
season = parent.GetParents().OfType<Season>().FirstOrDefault();
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the parent is a Season or Series and the parent is not an extras folder, then this is an Episode if the VideoResolver returns something
|
// If the parent is a Season or Series and the parent is not an extras folder, then this is an Episode if the VideoResolver returns something
|
||||||
// Also handle flat tv folders
|
// Also handle flat tv folders
|
||||||
@ -55,11 +51,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
|
|||||||
|
|
||||||
if (episode != null)
|
if (episode != null)
|
||||||
{
|
{
|
||||||
var series = parent as Series;
|
var series = parent as Series ?? parent.GetParents().OfType<Series>().FirstOrDefault();
|
||||||
if (series == null)
|
|
||||||
{
|
|
||||||
series = parent.GetParents().OfType<Series>().FirstOrDefault();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (series != null)
|
if (series != null)
|
||||||
{
|
{
|
||||||
|
@ -2237,14 +2237,10 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
|||||||
var enabledTimersForSeries = new List<TimerInfo>();
|
var enabledTimersForSeries = new List<TimerInfo>();
|
||||||
foreach (var timer in allTimers)
|
foreach (var timer in allTimers)
|
||||||
{
|
{
|
||||||
var existingTimer = _timerProvider.GetTimer(timer.Id);
|
var existingTimer = _timerProvider.GetTimer(timer.Id)
|
||||||
|
?? (string.IsNullOrWhiteSpace(timer.ProgramId)
|
||||||
if (existingTimer == null)
|
|
||||||
{
|
|
||||||
existingTimer = string.IsNullOrWhiteSpace(timer.ProgramId)
|
|
||||||
? null
|
? null
|
||||||
: _timerProvider.GetTimerByProgramId(timer.ProgramId);
|
: _timerProvider.GetTimerByProgramId(timer.ProgramId));
|
||||||
}
|
|
||||||
|
|
||||||
if (existingTimer == null)
|
if (existingTimer == null)
|
||||||
{
|
{
|
||||||
|
@ -787,14 +787,11 @@ namespace Emby.Server.Implementations.LiveTv.Listings
|
|||||||
{
|
{
|
||||||
var channelNumber = GetChannelNumber(channel);
|
var channelNumber = GetChannelNumber(channel);
|
||||||
|
|
||||||
var station = allStations.Find(item => string.Equals(item.stationID, channel.stationID, StringComparison.OrdinalIgnoreCase));
|
var station = allStations.Find(item => string.Equals(item.stationID, channel.stationID, StringComparison.OrdinalIgnoreCase))
|
||||||
if (station == null)
|
?? new ScheduleDirect.Station
|
||||||
{
|
|
||||||
station = new ScheduleDirect.Station
|
|
||||||
{
|
{
|
||||||
stationID = channel.stationID
|
stationID = channel.stationID
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
var channelInfo = new ChannelInfo
|
var channelInfo = new ChannelInfo
|
||||||
{
|
{
|
||||||
|
@ -987,10 +987,7 @@ namespace Emby.Server.Implementations.LiveTv
|
|||||||
var externalProgramId = programTuple.Item2;
|
var externalProgramId = programTuple.Item2;
|
||||||
string externalSeriesId = programTuple.Item3;
|
string externalSeriesId = programTuple.Item3;
|
||||||
|
|
||||||
if (timerList == null)
|
timerList ??= (await GetTimersInternal(new TimerQuery(), cancellationToken).ConfigureAwait(false)).Items;
|
||||||
{
|
|
||||||
timerList = (await GetTimersInternal(new TimerQuery(), cancellationToken).ConfigureAwait(false)).Items;
|
|
||||||
}
|
|
||||||
|
|
||||||
var timer = timerList.FirstOrDefault(i => string.Equals(i.ProgramId, externalProgramId, StringComparison.OrdinalIgnoreCase));
|
var timer = timerList.FirstOrDefault(i => string.Equals(i.ProgramId, externalProgramId, StringComparison.OrdinalIgnoreCase));
|
||||||
var foundSeriesTimer = false;
|
var foundSeriesTimer = false;
|
||||||
@ -1018,10 +1015,7 @@ namespace Emby.Server.Implementations.LiveTv
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (seriesTimerList == null)
|
seriesTimerList ??= (await GetSeriesTimersInternal(new SeriesTimerQuery(), cancellationToken).ConfigureAwait(false)).Items;
|
||||||
{
|
|
||||||
seriesTimerList = (await GetSeriesTimersInternal(new SeriesTimerQuery(), cancellationToken).ConfigureAwait(false)).Items;
|
|
||||||
}
|
|
||||||
|
|
||||||
var seriesTimer = seriesTimerList.FirstOrDefault(i => string.Equals(i.SeriesId, externalSeriesId, StringComparison.OrdinalIgnoreCase));
|
var seriesTimer = seriesTimerList.FirstOrDefault(i => string.Equals(i.SeriesId, externalSeriesId, StringComparison.OrdinalIgnoreCase));
|
||||||
|
|
||||||
@ -1974,10 +1968,7 @@ namespace Emby.Server.Implementations.LiveTv
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (service == null)
|
service ??= _services[0];
|
||||||
{
|
|
||||||
service = _services[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
var info = await service.GetNewTimerDefaultsAsync(cancellationToken, programInfo).ConfigureAwait(false);
|
var info = await service.GetNewTimerDefaultsAsync(cancellationToken, programInfo).ConfigureAwait(false);
|
||||||
|
|
||||||
|
@ -421,10 +421,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||||||
|
|
||||||
string audioCodec = channelInfo.AudioCodec;
|
string audioCodec = channelInfo.AudioCodec;
|
||||||
|
|
||||||
if (!videoBitrate.HasValue)
|
videoBitrate ??= isHd ? 15000000 : 2000000;
|
||||||
{
|
|
||||||
videoBitrate = isHd ? 15000000 : 2000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
int? audioBitrate = isHd ? 448000 : 192000;
|
int? audioBitrate = isHd ? 448000 : 192000;
|
||||||
|
|
||||||
|
@ -44,12 +44,7 @@ namespace Emby.Server.Implementations.Plugins
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_httpClientFactory == null)
|
return _httpClientFactory ?? (_httpClientFactory = _appHost.Resolve<IHttpClientFactory>());
|
||||||
{
|
|
||||||
_httpClientFactory = _appHost.Resolve<IHttpClientFactory>();
|
|
||||||
}
|
|
||||||
|
|
||||||
return _httpClientFactory;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,11 +271,7 @@ namespace Emby.Server.Implementations.Plugins
|
|||||||
// If no version is given, return the current instance.
|
// If no version is given, return the current instance.
|
||||||
var plugins = _plugins.Where(p => p.Id.Equals(id)).ToList();
|
var plugins = _plugins.Where(p => p.Id.Equals(id)).ToList();
|
||||||
|
|
||||||
plugin = plugins.FirstOrDefault(p => p.Instance != null);
|
plugin = plugins.FirstOrDefault(p => p.Instance != null) ?? plugins.OrderByDescending(p => p.Version).FirstOrDefault();
|
||||||
if (plugin == null)
|
|
||||||
{
|
|
||||||
plugin = plugins.OrderByDescending(p => p.Version).FirstOrDefault();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -301,12 +301,7 @@ namespace Emby.Server.Implementations.ScheduledTasks
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_id == null)
|
return _id ??= ScheduledTask.GetType().FullName.GetMD5().ToString("N", CultureInfo.InvariantCulture);
|
||||||
{
|
|
||||||
_id = ScheduledTask.GetType().FullName.GetMD5().ToString("N", CultureInfo.InvariantCulture);
|
|
||||||
}
|
|
||||||
|
|
||||||
return _id;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1475,10 +1475,7 @@ namespace Emby.Server.Implementations.Session
|
|||||||
user = _userManager.GetUserById(request.UserId);
|
user = _userManager.GetUserById(request.UserId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user == null)
|
user ??= _userManager.GetUserByName(request.Username);
|
||||||
{
|
|
||||||
user = _userManager.GetUserByName(request.Username);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (enforcePassword)
|
if (enforcePassword)
|
||||||
{
|
{
|
||||||
|
@ -207,12 +207,7 @@ namespace Jellyfin.Api.Controllers
|
|||||||
var plugins = _pluginManager.Plugins.Where(p => p.Id.Equals(pluginId));
|
var plugins = _pluginManager.Plugins.Where(p => p.Id.Equals(pluginId));
|
||||||
|
|
||||||
// Select the un-instanced one first.
|
// Select the un-instanced one first.
|
||||||
var plugin = plugins.FirstOrDefault(p => p.Instance == null);
|
var plugin = plugins.FirstOrDefault(p => p.Instance == null) ?? plugins.OrderBy(p => p.Manifest.Status).FirstOrDefault();
|
||||||
if (plugin == null)
|
|
||||||
{
|
|
||||||
// Then by the status.
|
|
||||||
plugin = plugins.OrderBy(p => p.Manifest.Status).FirstOrDefault();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (plugin != null)
|
if (plugin != null)
|
||||||
{
|
{
|
||||||
|
@ -228,10 +228,7 @@ namespace Jellyfin.Api.Controllers
|
|||||||
itemWithImage = GetParentWithImage<Series>(item, ImageType.Thumb);
|
itemWithImage = GetParentWithImage<Series>(item, ImageType.Thumb);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (itemWithImage == null)
|
itemWithImage ??= GetParentWithImage<BaseItem>(item, ImageType.Thumb);
|
||||||
{
|
|
||||||
itemWithImage = GetParentWithImage<BaseItem>(item, ImageType.Thumb);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (itemWithImage != null)
|
if (itemWithImage != null)
|
||||||
{
|
{
|
||||||
|
@ -292,10 +292,7 @@ namespace Jellyfin.Api.Helpers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (profile == null)
|
profile ??= dlnaManager.GetDefaultProfile();
|
||||||
{
|
|
||||||
profile = dlnaManager.GetDefaultProfile();
|
|
||||||
}
|
|
||||||
|
|
||||||
var audioCodec = state.ActualOutputAudioCodec;
|
var audioCodec = state.ActualOutputAudioCodec;
|
||||||
|
|
||||||
|
@ -400,10 +400,7 @@ namespace MediaBrowser.Common.Net
|
|||||||
private bool ResolveHost()
|
private bool ResolveHost()
|
||||||
{
|
{
|
||||||
// When was the last time we resolved?
|
// When was the last time we resolved?
|
||||||
if (_lastResolved == null)
|
_lastResolved ??= DateTime.UtcNow;
|
||||||
{
|
|
||||||
_lastResolved = DateTime.UtcNow;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If we haven't resolved before, or our timer has run out...
|
// If we haven't resolved before, or our timer has run out...
|
||||||
if ((_addresses.Length == 0 && !Resolved) || (DateTime.UtcNow > _lastResolved.Value.AddMinutes(Timeout)))
|
if ((_addresses.Length == 0 && !Resolved) || (DateTime.UtcNow > _lastResolved.Value.AddMinutes(Timeout)))
|
||||||
|
@ -105,10 +105,7 @@ namespace MediaBrowser.Common.Plugins
|
|||||||
{
|
{
|
||||||
lock (_configurationSyncLock)
|
lock (_configurationSyncLock)
|
||||||
{
|
{
|
||||||
if (_configuration == null)
|
_configuration ??= LoadConfiguration();
|
||||||
{
|
|
||||||
_configuration = LoadConfiguration();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,17 +106,12 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_themeSongIds == null)
|
return _themeSongIds ??= GetExtras()
|
||||||
{
|
|
||||||
_themeSongIds = GetExtras()
|
|
||||||
.Where(extra => extra.ExtraType == Model.Entities.ExtraType.ThemeSong)
|
.Where(extra => extra.ExtraType == Model.Entities.ExtraType.ThemeSong)
|
||||||
.Select(song => song.Id)
|
.Select(song => song.Id)
|
||||||
.ToArray();
|
.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
return _themeSongIds;
|
|
||||||
}
|
|
||||||
|
|
||||||
private set
|
private set
|
||||||
{
|
{
|
||||||
_themeSongIds = value;
|
_themeSongIds = value;
|
||||||
@ -128,17 +123,12 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_themeVideoIds == null)
|
return _themeVideoIds ??= GetExtras()
|
||||||
{
|
|
||||||
_themeVideoIds = GetExtras()
|
|
||||||
.Where(extra => extra.ExtraType == Model.Entities.ExtraType.ThemeVideo)
|
.Where(extra => extra.ExtraType == Model.Entities.ExtraType.ThemeVideo)
|
||||||
.Select(song => song.Id)
|
.Select(song => song.Id)
|
||||||
.ToArray();
|
.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
return _themeVideoIds;
|
|
||||||
}
|
|
||||||
|
|
||||||
private set
|
private set
|
||||||
{
|
{
|
||||||
_themeVideoIds = value;
|
_themeVideoIds = value;
|
||||||
|
@ -75,10 +75,7 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
|
|
||||||
public override List<BaseItem> GetChildren(User user, bool includeLinkedChildren, InternalItemsQuery query)
|
public override List<BaseItem> GetChildren(User user, bool includeLinkedChildren, InternalItemsQuery query)
|
||||||
{
|
{
|
||||||
if (query == null)
|
query ??= new InternalItemsQuery(user);
|
||||||
{
|
|
||||||
query = new InternalItemsQuery(user);
|
|
||||||
}
|
|
||||||
|
|
||||||
query.EnableTotalRecordCount = false;
|
query.EnableTotalRecordCount = false;
|
||||||
var result = GetItemList(query);
|
var result = GetItemList(query);
|
||||||
|
@ -147,10 +147,7 @@ namespace MediaBrowser.Controller.Library
|
|||||||
throw new ArgumentException("The path was empty or null.", nameof(path));
|
throw new ArgumentException("The path was empty or null.", nameof(path));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AdditionalLocations == null)
|
AdditionalLocations ??= new List<string>();
|
||||||
{
|
|
||||||
AdditionalLocations = new List<string>();
|
|
||||||
}
|
|
||||||
|
|
||||||
AdditionalLocations.Add(path);
|
AdditionalLocations.Add(path);
|
||||||
}
|
}
|
||||||
|
@ -126,10 +126,7 @@ namespace MediaBrowser.Controller.Playlists
|
|||||||
|
|
||||||
private List<BaseItem> GetPlayableItems(User user, InternalItemsQuery query)
|
private List<BaseItem> GetPlayableItems(User user, InternalItemsQuery query)
|
||||||
{
|
{
|
||||||
if (query == null)
|
query ??= new InternalItemsQuery(user);
|
||||||
{
|
|
||||||
query = new InternalItemsQuery(user);
|
|
||||||
}
|
|
||||||
|
|
||||||
query.IsFolder = false;
|
query.IsFolder = false;
|
||||||
|
|
||||||
|
@ -45,10 +45,7 @@ namespace MediaBrowser.Controller.Providers
|
|||||||
|
|
||||||
if (copy.RefreshPaths != null && copy.RefreshPaths.Length > 0)
|
if (copy.RefreshPaths != null && copy.RefreshPaths.Length > 0)
|
||||||
{
|
{
|
||||||
if (RefreshPaths == null)
|
RefreshPaths ??= Array.Empty<string>();
|
||||||
{
|
|
||||||
RefreshPaths = Array.Empty<string>();
|
|
||||||
}
|
|
||||||
|
|
||||||
RefreshPaths = copy.RefreshPaths.ToArray();
|
RefreshPaths = copy.RefreshPaths.ToArray();
|
||||||
}
|
}
|
||||||
|
@ -37,10 +37,7 @@ namespace MediaBrowser.Controller.Providers
|
|||||||
|
|
||||||
public void AddPerson(PersonInfo p)
|
public void AddPerson(PersonInfo p)
|
||||||
{
|
{
|
||||||
if (People == null)
|
People ??= new List<PersonInfo>();
|
||||||
{
|
|
||||||
People = new List<PersonInfo>();
|
|
||||||
}
|
|
||||||
|
|
||||||
PeopleHelper.AddPerson(People, p);
|
PeopleHelper.AddPerson(People, p);
|
||||||
}
|
}
|
||||||
@ -54,16 +51,15 @@ namespace MediaBrowser.Controller.Providers
|
|||||||
{
|
{
|
||||||
People = new List<PersonInfo>();
|
People = new List<PersonInfo>();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
People.Clear();
|
People.Clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public UserItemData GetOrAddUserData(string userId)
|
public UserItemData GetOrAddUserData(string userId)
|
||||||
{
|
{
|
||||||
if (UserDataList == null)
|
UserDataList ??= new List<UserItemData>();
|
||||||
{
|
|
||||||
UserDataList = new List<UserItemData>();
|
|
||||||
}
|
|
||||||
|
|
||||||
UserItemData userData = null;
|
UserItemData userData = null;
|
||||||
|
|
||||||
|
@ -1187,43 +1187,28 @@ namespace MediaBrowser.MediaEncoding.Probing
|
|||||||
FetchStudios(audio, tags, "label");
|
FetchStudios(audio, tags, "label");
|
||||||
|
|
||||||
// These support mulitple values, but for now we only store the first.
|
// These support mulitple values, but for now we only store the first.
|
||||||
var mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Album Artist Id"));
|
var mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Album Artist Id"))
|
||||||
if (mb == null)
|
?? GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_ALBUMARTISTID"));
|
||||||
{
|
|
||||||
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_ALBUMARTISTID"));
|
|
||||||
}
|
|
||||||
|
|
||||||
audio.SetProviderId(MetadataProvider.MusicBrainzAlbumArtist, mb);
|
audio.SetProviderId(MetadataProvider.MusicBrainzAlbumArtist, mb);
|
||||||
|
|
||||||
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Artist Id"));
|
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Artist Id"))
|
||||||
if (mb == null)
|
?? GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_ARTISTID"));
|
||||||
{
|
|
||||||
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_ARTISTID"));
|
|
||||||
}
|
|
||||||
|
|
||||||
audio.SetProviderId(MetadataProvider.MusicBrainzArtist, mb);
|
audio.SetProviderId(MetadataProvider.MusicBrainzArtist, mb);
|
||||||
|
|
||||||
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Album Id"));
|
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Album Id"))
|
||||||
if (mb == null)
|
?? GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_ALBUMID"));
|
||||||
{
|
|
||||||
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_ALBUMID"));
|
|
||||||
}
|
|
||||||
|
|
||||||
audio.SetProviderId(MetadataProvider.MusicBrainzAlbum, mb);
|
audio.SetProviderId(MetadataProvider.MusicBrainzAlbum, mb);
|
||||||
|
|
||||||
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Release Group Id"));
|
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Release Group Id"))
|
||||||
if (mb == null)
|
?? GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_RELEASEGROUPID"));
|
||||||
{
|
|
||||||
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_RELEASEGROUPID"));
|
|
||||||
}
|
|
||||||
|
|
||||||
audio.SetProviderId(MetadataProvider.MusicBrainzReleaseGroup, mb);
|
audio.SetProviderId(MetadataProvider.MusicBrainzReleaseGroup, mb);
|
||||||
|
|
||||||
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Release Track Id"));
|
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MusicBrainz Release Track Id"))
|
||||||
if (mb == null)
|
?? GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_RELEASETRACKID"));
|
||||||
{
|
|
||||||
mb = GetMultipleMusicBrainzId(FFProbeHelpers.GetDictionaryValue(tags, "MUSICBRAINZ_RELEASETRACKID"));
|
|
||||||
}
|
|
||||||
|
|
||||||
audio.SetProviderId(MetadataProvider.MusicBrainzTrack, mb);
|
audio.SetProviderId(MetadataProvider.MusicBrainzTrack, mb);
|
||||||
}
|
}
|
||||||
@ -1290,15 +1275,7 @@ namespace MediaBrowser.MediaEncoding.Probing
|
|||||||
|
|
||||||
private IEnumerable<string> GetSplitWhitelist()
|
private IEnumerable<string> GetSplitWhitelist()
|
||||||
{
|
{
|
||||||
if (_splitWhiteList == null)
|
return _splitWhiteList ??= new List<string> { "AC/DC" };
|
||||||
{
|
|
||||||
_splitWhiteList = new List<string>
|
|
||||||
{
|
|
||||||
"AC/DC"
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
return _splitWhiteList;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -123,10 +123,7 @@ namespace MediaBrowser.Model.Entities
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Ensure it exists
|
// Ensure it exists
|
||||||
if (instance.ProviderIds == null)
|
instance.ProviderIds ??= new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||||
{
|
|
||||||
instance.ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
|
||||||
}
|
|
||||||
|
|
||||||
instance.ProviderIds[name] = value;
|
instance.ProviderIds[name] = value;
|
||||||
}
|
}
|
||||||
|
@ -111,10 +111,7 @@ namespace MediaBrowser.Providers.MediaInfo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (streamFileNames == null)
|
streamFileNames ??= Array.Empty<string>();
|
||||||
{
|
|
||||||
streamFileNames = Array.Empty<string>();
|
|
||||||
}
|
|
||||||
|
|
||||||
mediaInfoResult = await GetMediaInfo(item, cancellationToken).ConfigureAwait(false);
|
mediaInfoResult = await GetMediaInfo(item, cancellationToken).ConfigureAwait(false);
|
||||||
|
|
||||||
|
@ -256,10 +256,7 @@ namespace MediaBrowser.Providers.Subtitles
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
if (exceptionToThrow == null)
|
exceptionToThrow ??= ex;
|
||||||
{
|
|
||||||
exceptionToThrow = ex;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
@ -415,10 +415,7 @@ namespace Rssdp.Infrastructure
|
|||||||
{
|
{
|
||||||
lock (_SendSocketSynchroniser)
|
lock (_SendSocketSynchroniser)
|
||||||
{
|
{
|
||||||
if (_sendSockets == null)
|
_sendSockets ??= CreateSocketAndListenForResponsesAsync();
|
||||||
{
|
|
||||||
_sendSockets = CreateSocketAndListenForResponsesAsync();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user