aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-08 16:09:53 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-08 16:09:53 -0400
commitf02c3260273a09f465c4e7a97d8b90f0f6909734 (patch)
tree180760af62fcddc1964e000c6c57bd368dce836d
parent374dd8d44152e49f4616a9c8c3d36e8793ed037e (diff)
Removed guids from the model project
-rw-r--r--MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs6
-rw-r--r--MediaBrowser.Api/DefaultTheme/Models.cs2
-rw-r--r--MediaBrowser.Api/DisplayPreferencesService.cs11
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs2
-rw-r--r--MediaBrowser.Api/PackageService.cs4
-rw-r--r--MediaBrowser.Api/SearchService.cs12
-rw-r--r--MediaBrowser.Api/UserLibrary/UserLibraryService.cs4
-rw-r--r--MediaBrowser.Common.Implementations/BaseApplicationHost.cs1
-rw-r--r--MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs2
-rw-r--r--MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs1
-rw-r--r--MediaBrowser.Common.Implementations/Updates/InstallationManager.cs8
-rw-r--r--MediaBrowser.Common/IApplicationHost.cs4
-rw-r--r--MediaBrowser.Common/MediaBrowser.Common.csproj1
-rw-r--r--MediaBrowser.Common/ScheduledTasks/ITaskManager.cs2
-rw-r--r--MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs2
-rw-r--r--MediaBrowser.Common/Updates/IInstallationManager.cs4
-rw-r--r--MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs2
-rw-r--r--MediaBrowser.Controller/Drawing/IImageProcessor.cs8
-rw-r--r--MediaBrowser.Controller/Library/IUserManager.cs4
-rw-r--r--MediaBrowser.Controller/Persistence/IDisplayPreferencesRepository.cs2
-rw-r--r--MediaBrowser.Controller/Session/ISessionController.cs8
-rw-r--r--MediaBrowser.Dlna/Didl/DidlBuilder.cs6
-rw-r--r--MediaBrowser.Dlna/PlayTo/DlnaController.cs5
-rw-r--r--MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj3
-rw-r--r--MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj3
-rw-r--r--MediaBrowser.Model/ApiClient/IApiClient.cs38
-rw-r--r--MediaBrowser.Model/ApiClient/IServerEvents.cs55
-rw-r--r--MediaBrowser.Model/ApiClient/ServerEventArgs.cs148
-rw-r--r--MediaBrowser.Model/Configuration/MetadataOptions.cs6
-rw-r--r--MediaBrowser.Model/Dlna/MediaFormatProfileResolver.cs5
-rw-r--r--MediaBrowser.Model/Dlna/StreamBuilder.cs118
-rw-r--r--MediaBrowser.Model/Dlna/StreamInfo.cs72
-rw-r--r--MediaBrowser.Model/Drawing/DrawingUtils.cs35
-rw-r--r--MediaBrowser.Model/Dto/BaseItemDto.cs20
-rw-r--r--MediaBrowser.Model/Dto/BaseItemPerson.cs4
-rw-r--r--MediaBrowser.Model/Dto/ChapterInfoDto.cs4
-rw-r--r--MediaBrowser.Model/Dto/ImageInfo.cs2
-rw-r--r--MediaBrowser.Model/Dto/ImageOptions.cs2
-rw-r--r--MediaBrowser.Model/Dto/ItemByNameCounts.cs2
-rw-r--r--MediaBrowser.Model/Dto/StudioDto.cs4
-rw-r--r--MediaBrowser.Model/Dto/UserDto.cs4
-rw-r--r--MediaBrowser.Model/Entities/BaseItemInfo.cs10
-rw-r--r--MediaBrowser.Model/Entities/DisplayPreferences.cs4
-rw-r--r--MediaBrowser.Model/Entities/LibraryUpdateInfo.cs20
-rw-r--r--MediaBrowser.Model/Events/GenericEventArgs.cs (renamed from MediaBrowser.Common/Events/GenericEventArgs.cs)2
-rw-r--r--MediaBrowser.Model/LiveTv/ChannelInfoDto.cs4
-rw-r--r--MediaBrowser.Model/LiveTv/ProgramInfoDto.cs6
-rw-r--r--MediaBrowser.Model/LiveTv/RecordingInfoDto.cs6
-rw-r--r--MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs4
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj1
-rw-r--r--MediaBrowser.Model/Search/SearchHint.cs6
-rw-r--r--MediaBrowser.Model/Session/GeneralCommand.cs3
-rw-r--r--MediaBrowser.Model/Session/SessionInfoDto.cs2
-rw-r--r--MediaBrowser.Model/Tasks/TaskInfo.cs2
-rw-r--r--MediaBrowser.Model/Tasks/TaskResult.cs2
-rw-r--r--MediaBrowser.Model/Updates/InstallationInfo.cs2
-rw-r--r--MediaBrowser.Model/Updates/PackageVersionInfo.cs4
-rw-r--r--MediaBrowser.Model/Web/QueryStringDictionary.cs44
-rw-r--r--MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs11
-rw-r--r--MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs4
-rw-r--r--MediaBrowser.Server.Implementations/Configuration/ServerConfigurationManager.cs1
-rw-r--r--MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs8
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs23
-rw-r--r--MediaBrowser.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs10
-rw-r--r--MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifier.cs1
-rw-r--r--MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs1
-rw-r--r--MediaBrowser.Server.Implementations/Library/UserManager.cs1
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs14
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs12
-rw-r--r--MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs10
-rw-r--r--MediaBrowser.Server.Implementations/Session/SessionManager.cs27
-rw-r--r--MediaBrowser.Server.Implementations/Session/WebSocketController.cs12
72 files changed, 380 insertions, 503 deletions
diff --git a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs
index c9c4cbc43..cd04a8212 100644
--- a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs
+++ b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs
@@ -556,7 +556,7 @@ namespace MediaBrowser.Api.DefaultTheme
// Avoid implicitly captured closure
var currentUserId1 = user.Id;
-
+
view.LatestMovies = movies
.OrderByDescending(i => i.DateCreated)
.Where(i => !_userDataManager.GetUserData(currentUserId1, i.GetUserDataKey()).Played)
@@ -622,9 +622,9 @@ namespace MediaBrowser.Api.DefaultTheme
{
var tag = _imageProcessor.GetImageCacheTag(item, imageType);
- if (tag.HasValue)
+ if (tag != null)
{
- stub.ImageTag = tag.Value;
+ stub.ImageTag = tag;
}
}
catch (Exception ex)
diff --git a/MediaBrowser.Api/DefaultTheme/Models.cs b/MediaBrowser.Api/DefaultTheme/Models.cs
index f261a9aff..6cc7af499 100644
--- a/MediaBrowser.Api/DefaultTheme/Models.cs
+++ b/MediaBrowser.Api/DefaultTheme/Models.cs
@@ -9,7 +9,7 @@ namespace MediaBrowser.Api.DefaultTheme
{
public string Name { get; set; }
public string Id { get; set; }
- public Guid ImageTag { get; set; }
+ public string ImageTag { get; set; }
public ImageType ImageType { get; set; }
}
diff --git a/MediaBrowser.Api/DisplayPreferencesService.cs b/MediaBrowser.Api/DisplayPreferencesService.cs
index 4060b42b4..16aafafb0 100644
--- a/MediaBrowser.Api/DisplayPreferencesService.cs
+++ b/MediaBrowser.Api/DisplayPreferencesService.cs
@@ -77,15 +77,16 @@ namespace MediaBrowser.Api
/// <param name="request">The request.</param>
public object Get(GetDisplayPreferences request)
{
- Guid displayPreferencesId;
+ var result = _displayPreferencesManager.GetDisplayPreferences(request.Id, request.UserId, request.Client);
- if (!Guid.TryParse(request.Id, out displayPreferencesId))
+ if (result == null)
{
- displayPreferencesId = request.Id.GetMD5();
+ result = new DisplayPreferences
+ {
+ Id = request.Id
+ };
}
- var result = _displayPreferencesManager.GetDisplayPreferences(displayPreferencesId, request.UserId, request.Client);
-
return ToOptimizedSerializedResultUsingCache(result);
}
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index ce3eaf053..a760819d6 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -548,7 +548,7 @@ namespace MediaBrowser.Api.Images
var contentType = GetMimeType(request.Format, imageInfo.Path);
- var cacheGuid = _imageProcessor.GetImageCacheTag(item, request.Type, imageInfo.Path, originalFileImageDateModified, supportedImageEnhancers);
+ var cacheGuid = new Guid(_imageProcessor.GetImageCacheTag(item, request.Type, imageInfo.Path, originalFileImageDateModified, supportedImageEnhancers));
TimeSpan? cacheDuration = null;
diff --git a/MediaBrowser.Api/PackageService.cs b/MediaBrowser.Api/PackageService.cs
index 948a67f16..0a8f0d83f 100644
--- a/MediaBrowser.Api/PackageService.cs
+++ b/MediaBrowser.Api/PackageService.cs
@@ -112,7 +112,7 @@ namespace MediaBrowser.Api
/// </summary>
/// <value>The id.</value>
[ApiMember(Name = "Id", Description = "Installation Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")]
- public Guid Id { get; set; }
+ public string Id { get; set; }
}
/// <summary>
@@ -221,7 +221,7 @@ namespace MediaBrowser.Api
/// <param name="request">The request.</param>
public void Delete(CancelPackageInstallation request)
{
- var info = _installationManager.CurrentInstallations.FirstOrDefault(i => i.Item1.Id == request.Id);
+ var info = _installationManager.CurrentInstallations.FirstOrDefault(i => string.Equals(i.Item1.Id, request.Id));
if (info != null)
{
diff --git a/MediaBrowser.Api/SearchService.cs b/MediaBrowser.Api/SearchService.cs
index 662c728e4..db646344a 100644
--- a/MediaBrowser.Api/SearchService.cs
+++ b/MediaBrowser.Api/SearchService.cs
@@ -171,9 +171,9 @@ namespace MediaBrowser.Api
var primaryImageTag = _imageProcessor.GetImageCacheTag(item, ImageType.Primary);
- if (primaryImageTag.HasValue)
+ if (primaryImageTag != null)
{
- result.PrimaryImageTag = primaryImageTag.Value;
+ result.PrimaryImageTag = primaryImageTag;
}
SetThumbImageInfo(result, item);
@@ -250,9 +250,9 @@ namespace MediaBrowser.Api
{
var tag = _imageProcessor.GetImageCacheTag(itemWithImage, ImageType.Thumb);
- if (tag.HasValue)
+ if (tag != null)
{
- hint.ThumbImageTag = tag.Value;
+ hint.ThumbImageTag = tag;
hint.ThumbImageItemId = itemWithImage.Id.ToString("N");
}
}
@@ -271,9 +271,9 @@ namespace MediaBrowser.Api
{
var tag = _imageProcessor.GetImageCacheTag(itemWithImage, ImageType.Backdrop);
- if (tag.HasValue)
+ if (tag != null)
{
- hint.BackdropImageTag = tag.Value;
+ hint.BackdropImageTag = tag;
hint.BackdropImageItemId = itemWithImage.Id.ToString("N");
}
}
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
index d145dd054..008730ef6 100644
--- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
+++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Controller.Dto;
+using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
@@ -8,7 +7,6 @@ using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
-using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Session;
using ServiceStack;
using System;
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
index 4946241fd..e488fd9bf 100644
--- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
@@ -13,6 +13,7 @@ using MediaBrowser.Common.Progress;
using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Common.Security;
using MediaBrowser.Common.Updates;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
index 8f3f9b0a6..1e97de0c5 100644
--- a/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
+++ b/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
@@ -531,7 +531,7 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks
EndTimeUtc = endTime,
Status = status,
Name = Name,
- Id = Id
+ Id = Id.ToString("N")
};
if (ex != null)
diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs
index 6605432fa..cead5de04 100644
--- a/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs
+++ b/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Events;
using MediaBrowser.Common.ScheduledTasks;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Tasks;
diff --git a/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs b/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs
index 18462ba9b..92e5f894f 100644
--- a/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs
+++ b/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.Progress;
using MediaBrowser.Common.Security;
using MediaBrowser.Common.Updates;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Updates;
@@ -367,7 +368,7 @@ namespace MediaBrowser.Common.Implementations.Updates
var installationInfo = new InstallationInfo
{
- Id = Guid.NewGuid(),
+ Id = Guid.NewGuid().ToString("N"),
Name = package.name,
AssemblyGuid = package.guid,
UpdateClass = package.classification,
@@ -510,13 +511,14 @@ namespace MediaBrowser.Common.Implementations.Updates
cancellationToken.ThrowIfCancellationRequested();
// Validate with a checksum
- if (package.checksum != Guid.Empty) // support for legacy uploads for now
+ var packageChecksum = string.IsNullOrWhiteSpace(package.checksum) ? Guid.Empty : new Guid(package.checksum);
+ if (packageChecksum != Guid.Empty) // support for legacy uploads for now
{
using (var crypto = new MD5CryptoServiceProvider())
using (var stream = new BufferedStream(File.OpenRead(tempFile), 100000))
{
var check = Guid.Parse(BitConverter.ToString(crypto.ComputeHash(stream)).Replace("-", String.Empty));
- if (check != package.checksum)
+ if (check != packageChecksum)
{
throw new ApplicationException(string.Format("Download validation failed for {0}. Probably corrupted during transfer.", package.name));
}
diff --git a/MediaBrowser.Common/IApplicationHost.cs b/MediaBrowser.Common/IApplicationHost.cs
index ecd099711..0e2fef1e6 100644
--- a/MediaBrowser.Common/IApplicationHost.cs
+++ b/MediaBrowser.Common/IApplicationHost.cs
@@ -1,5 +1,5 @@
-using MediaBrowser.Common.Events;
-using MediaBrowser.Common.Plugins;
+using MediaBrowser.Common.Plugins;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Updates;
using System;
using System.Collections.Generic;
diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj
index 5e0d3aa24..1da144649 100644
--- a/MediaBrowser.Common/MediaBrowser.Common.csproj
+++ b/MediaBrowser.Common/MediaBrowser.Common.csproj
@@ -59,7 +59,6 @@
<Compile Include="Constants\Constants.cs" />
<Compile Include="Events\EventHelper.cs" />
<Compile Include="Extensions\BaseExtensions.cs" />
- <Compile Include="Events\GenericEventArgs.cs" />
<Compile Include="Extensions\ResourceNotFoundException.cs" />
<Compile Include="IO\FileSystemRepository.cs" />
<Compile Include="IO\IFileSystem.cs" />
diff --git a/MediaBrowser.Common/ScheduledTasks/ITaskManager.cs b/MediaBrowser.Common/ScheduledTasks/ITaskManager.cs
index 394872783..38548801b 100644
--- a/MediaBrowser.Common/ScheduledTasks/ITaskManager.cs
+++ b/MediaBrowser.Common/ScheduledTasks/ITaskManager.cs
@@ -1,4 +1,4 @@
-using MediaBrowser.Common.Events;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Tasks;
using System;
using System.Collections.Generic;
diff --git a/MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs b/MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs
index 4364153c9..92c44dea1 100644
--- a/MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs
+++ b/MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs
@@ -38,7 +38,7 @@ namespace MediaBrowser.Common.ScheduledTasks
Name = task.Name,
CurrentProgressPercentage = task.CurrentProgress,
State = task.State,
- Id = task.Id,
+ Id = task.Id.ToString("N"),
LastExecutionResult = task.LastExecutionResult,
Triggers = task.Triggers.Select(GetTriggerInfo).ToList(),
Description = task.Description,
diff --git a/MediaBrowser.Common/Updates/IInstallationManager.cs b/MediaBrowser.Common/Updates/IInstallationManager.cs
index f162f8dc8..592613c54 100644
--- a/MediaBrowser.Common/Updates/IInstallationManager.cs
+++ b/MediaBrowser.Common/Updates/IInstallationManager.cs
@@ -1,5 +1,5 @@
-using MediaBrowser.Common.Events;
-using MediaBrowser.Common.Plugins;
+using MediaBrowser.Common.Plugins;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Updates;
using System;
using System.Collections.Concurrent;
diff --git a/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs b/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs
index 535e74fee..6a2343a00 100644
--- a/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs
+++ b/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs
@@ -1,6 +1,6 @@
using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Events;
using MediaBrowser.Model.Configuration;
+using MediaBrowser.Model.Events;
using System;
namespace MediaBrowser.Controller.Configuration
diff --git a/MediaBrowser.Controller/Drawing/IImageProcessor.cs b/MediaBrowser.Controller/Drawing/IImageProcessor.cs
index ad5e622fc..b0e44a200 100644
--- a/MediaBrowser.Controller/Drawing/IImageProcessor.cs
+++ b/MediaBrowser.Controller/Drawing/IImageProcessor.cs
@@ -55,7 +55,7 @@ namespace MediaBrowser.Controller.Drawing
/// <param name="item">The item.</param>
/// <param name="image">The image.</param>
/// <returns>Guid.</returns>
- Guid GetImageCacheTag(IHasImages item, ItemImageInfo image);
+ string GetImageCacheTag(IHasImages item, ItemImageInfo image);
/// <summary>
/// Gets the image cache tag.
@@ -66,7 +66,7 @@ namespace MediaBrowser.Controller.Drawing
/// <param name="dateModified">The date modified.</param>
/// <param name="imageEnhancers">The image enhancers.</param>
/// <returns>Guid.</returns>
- Guid GetImageCacheTag(IHasImages item, ImageType imageType, string originalImagePath, DateTime dateModified,
+ string GetImageCacheTag(IHasImages item, ImageType imageType, string originalImagePath, DateTime dateModified,
List<IImageEnhancer> imageEnhancers);
/// <summary>
@@ -89,12 +89,12 @@ namespace MediaBrowser.Controller.Drawing
public static class ImageProcessorExtensions
{
- public static Guid? GetImageCacheTag(this IImageProcessor processor, IHasImages item, ImageType imageType)
+ public static string GetImageCacheTag(this IImageProcessor processor, IHasImages item, ImageType imageType)
{
return processor.GetImageCacheTag(item, imageType, 0);
}
- public static Guid? GetImageCacheTag(this IImageProcessor processor, IHasImages item, ImageType imageType, int imageIndex)
+ public static string GetImageCacheTag(this IImageProcessor processor, IHasImages item, ImageType imageType, int imageIndex)
{
var imageInfo = item.GetImageInfo(imageType, imageIndex);
diff --git a/MediaBrowser.Controller/Library/IUserManager.cs b/MediaBrowser.Controller/Library/IUserManager.cs
index c3b0748cf..0a0174b6d 100644
--- a/MediaBrowser.Controller/Library/IUserManager.cs
+++ b/MediaBrowser.Controller/Library/IUserManager.cs
@@ -1,5 +1,5 @@
-using MediaBrowser.Common.Events;
-using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.Events;
using System;
using System.Collections.Generic;
using System.Threading;
diff --git a/MediaBrowser.Controller/Persistence/IDisplayPreferencesRepository.cs b/MediaBrowser.Controller/Persistence/IDisplayPreferencesRepository.cs
index 4e56932ec..84fedebce 100644
--- a/MediaBrowser.Controller/Persistence/IDisplayPreferencesRepository.cs
+++ b/MediaBrowser.Controller/Persistence/IDisplayPreferencesRepository.cs
@@ -34,6 +34,6 @@ namespace MediaBrowser.Controller.Persistence
/// <param name="userId">The user id.</param>
/// <param name="client">The client.</param>
/// <returns>Task{DisplayPreferences}.</returns>
- DisplayPreferences GetDisplayPreferences(Guid displayPreferencesId, Guid userId, string client);
+ DisplayPreferences GetDisplayPreferences(string displayPreferencesId, Guid userId, string client);
}
}
diff --git a/MediaBrowser.Controller/Session/ISessionController.cs b/MediaBrowser.Controller/Session/ISessionController.cs
index d4612acb5..9c818284d 100644
--- a/MediaBrowser.Controller/Session/ISessionController.cs
+++ b/MediaBrowser.Controller/Session/ISessionController.cs
@@ -20,14 +20,6 @@ namespace MediaBrowser.Controller.Session
bool IsSessionActive { get; }
/// <summary>
- /// Sends the message command.
- /// </summary>
- /// <param name="command">The command.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task.</returns>
- Task SendMessageCommand(MessageCommand command, CancellationToken cancellationToken);
-
- /// <summary>
/// Sends the play command.
/// </summary>
/// <param name="command">The command.</param>
diff --git a/MediaBrowser.Dlna/Didl/DidlBuilder.cs b/MediaBrowser.Dlna/Didl/DidlBuilder.cs
index 7c627104b..1cd4a4cbd 100644
--- a/MediaBrowser.Dlna/Didl/DidlBuilder.cs
+++ b/MediaBrowser.Dlna/Didl/DidlBuilder.cs
@@ -623,9 +623,7 @@ namespace MediaBrowser.Dlna.Didl
try
{
- var guid = _imageProcessor.GetImageCacheTag(item, ImageType.Primary);
-
- tag = guid.HasValue ? guid.Value.ToString("N") : null;
+ tag = _imageProcessor.GetImageCacheTag(item, ImageType.Primary);
}
catch
{
@@ -712,7 +710,7 @@ namespace MediaBrowser.Dlna.Didl
Height = height.Value,
Width = width.Value
- }, maxWidth: maxWidth, maxHeight: maxHeight);
+ }, null, null, maxWidth, maxHeight);
width = Convert.ToInt32(newSize.Width);
height = Convert.ToInt32(newSize.Height);
diff --git a/MediaBrowser.Dlna/PlayTo/DlnaController.cs b/MediaBrowser.Dlna/PlayTo/DlnaController.cs
index 673a7c245..ab342d635 100644
--- a/MediaBrowser.Dlna/PlayTo/DlnaController.cs
+++ b/MediaBrowser.Dlna/PlayTo/DlnaController.cs
@@ -355,11 +355,6 @@ namespace MediaBrowser.Dlna.PlayTo
return Task.FromResult(true);
}
- public Task SendMessageCommand(MessageCommand command, CancellationToken cancellationToken)
- {
- return Task.FromResult(true);
- }
-
#endregion
#region Playlist
diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
index 991fe3b2a..7f8f4c325 100644
--- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
+++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
@@ -278,6 +278,9 @@
<Compile Include="..\MediaBrowser.Model\Entities\VirtualFolderInfo.cs">
<Link>Entities\VirtualFolderInfo.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Events\GenericEventArgs.cs">
+ <Link>Events\GenericEventArgs.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\FileOrganization\FileOrganizationQuery.cs">
<Link>FileOrganization\FileOrganizationQuery.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
index 771e739bc..d65aef7f0 100644
--- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
+++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
@@ -265,6 +265,9 @@
<Compile Include="..\MediaBrowser.Model\Entities\VirtualFolderInfo.cs">
<Link>Entities\VirtualFolderInfo.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Events\GenericEventArgs.cs">
+ <Link>Events\GenericEventArgs.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\FileOrganization\FileOrganizationQuery.cs">
<Link>FileOrganization\FileOrganizationQuery.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs
index c9f5f3ae7..bfc631c79 100644
--- a/MediaBrowser.Model/ApiClient/IApiClient.cs
+++ b/MediaBrowser.Model/ApiClient/IApiClient.cs
@@ -138,7 +138,7 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="notificationIdList">The notification id list.</param>
/// <param name="isRead">if set to <c>true</c> [is read].</param>
/// <returns>Task.</returns>
- Task MarkNotificationsRead(string userId, IEnumerable<Guid> notificationIdList, bool isRead);
+ Task MarkNotificationsRead(string userId, IEnumerable<string> notificationIdList, bool isRead);
/// <summary>
/// Gets the notifications summary.
@@ -447,7 +447,7 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="id">The id.</param>
/// <returns>Task{TaskInfo}.</returns>
/// <exception cref="ArgumentNullException">id</exception>
- Task<TaskInfo> GetScheduledTaskAsync(Guid id);
+ Task<TaskInfo> GetScheduledTaskAsync(string id);
/// <summary>
/// Gets a user by id
@@ -582,6 +582,38 @@ namespace MediaBrowser.Model.ApiClient
Task SendCommandAsync(string sessionId, GeneralCommand command);
/// <summary>
+ /// Sends the string.
+ /// </summary>
+ /// <param name="sessionId">The session identifier.</param>
+ /// <param name="text">The text.</param>
+ /// <returns>Task.</returns>
+ Task SendString(string sessionId, string text);
+
+ /// <summary>
+ /// Sets the volume.
+ /// </summary>
+ /// <param name="sessionId">The session identifier.</param>
+ /// <param name="volume">The volume.</param>
+ /// <returns>Task.</returns>
+ Task SetVolume(string sessionId, int volume);
+
+ /// <summary>
+ /// Sets the index of the audio stream.
+ /// </summary>
+ /// <param name="sessionId">The session identifier.</param>
+ /// <param name="volume">The volume.</param>
+ /// <returns>Task.</returns>
+ Task SetAudioStreamIndex(string sessionId, int? volume);
+
+ /// <summary>
+ /// Sets the index of the subtitle stream.
+ /// </summary>
+ /// <param name="sessionId">The session identifier.</param>
+ /// <param name="volume">The volume.</param>
+ /// <returns>Task.</returns>
+ Task SetSubtitleStreamIndex(string sessionId, int? volume);
+
+ /// <summary>
/// Instructs the client to display a message to the user
/// </summary>
/// <param name="sessionId">The session id.</param>
@@ -632,7 +664,7 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="triggers">The triggers.</param>
/// <returns>Task{RequestResult}.</returns>
/// <exception cref="ArgumentNullException">id</exception>
- Task UpdateScheduledTaskTriggersAsync(Guid id, TaskTriggerInfo[] triggers);
+ Task UpdateScheduledTaskTriggersAsync(string id, TaskTriggerInfo[] triggers);
/// <summary>
/// Gets the display preferences.
diff --git a/MediaBrowser.Model/ApiClient/IServerEvents.cs b/MediaBrowser.Model/ApiClient/IServerEvents.cs
index e13f3cc2c..8e46f3d9f 100644
--- a/MediaBrowser.Model/ApiClient/IServerEvents.cs
+++ b/MediaBrowser.Model/ApiClient/IServerEvents.cs
@@ -1,4 +1,11 @@
-using System;
+using MediaBrowser.Model.Dto;
+using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Events;
+using MediaBrowser.Model.Plugins;
+using MediaBrowser.Model.Session;
+using MediaBrowser.Model.Tasks;
+using MediaBrowser.Model.Updates;
+using System;
namespace MediaBrowser.Model.ApiClient
{
@@ -10,59 +17,59 @@ namespace MediaBrowser.Model.ApiClient
/// <summary>
/// Occurs when [user deleted].
/// </summary>
- event EventHandler<UserDeletedEventArgs> UserDeleted;
+ event EventHandler<GenericEventArgs<string>> UserDeleted;
/// <summary>
/// Occurs when [scheduled task started].
/// </summary>
- event EventHandler<ScheduledTaskStartedEventArgs> ScheduledTaskStarted;
+ event EventHandler<GenericEventArgs<string>> ScheduledTaskStarted;
/// <summary>
/// Occurs when [scheduled task ended].
/// </summary>
- event EventHandler<ScheduledTaskEndedEventArgs> ScheduledTaskEnded;
+ event EventHandler<GenericEventArgs<TaskResult>> ScheduledTaskEnded;
/// <summary>
/// Occurs when [package installing].
/// </summary>
- event EventHandler<PackageInstallationEventArgs> PackageInstalling;
+ event EventHandler<GenericEventArgs<InstallationInfo>> PackageInstalling;
/// <summary>
/// Occurs when [package installation failed].
/// </summary>
- event EventHandler<PackageInstallationEventArgs> PackageInstallationFailed;
+ event EventHandler<GenericEventArgs<InstallationInfo>> PackageInstallationFailed;
/// <summary>
/// Occurs when [package installation completed].
/// </summary>
- event EventHandler<PackageInstallationEventArgs> PackageInstallationCompleted;
+ event EventHandler<GenericEventArgs<InstallationInfo>> PackageInstallationCompleted;
/// <summary>
/// Occurs when [package installation cancelled].
/// </summary>
- event EventHandler<PackageInstallationEventArgs> PackageInstallationCancelled;
+ event EventHandler<GenericEventArgs<InstallationInfo>> PackageInstallationCancelled;
/// <summary>
/// Occurs when [user updated].
/// </summary>
- event EventHandler<UserUpdatedEventArgs> UserUpdated;
+ event EventHandler<GenericEventArgs<UserDto>> UserUpdated;
/// <summary>
/// Occurs when [plugin uninstalled].
/// </summary>
- event EventHandler<PluginUninstallEventArgs> PluginUninstalled;
+ event EventHandler<GenericEventArgs<PluginInfo>> PluginUninstalled;
/// <summary>
/// Occurs when [library changed].
/// </summary>
- event EventHandler<LibraryChangedEventArgs> LibraryChanged;
+ event EventHandler<GenericEventArgs<LibraryUpdateInfo>> LibraryChanged;
/// <summary>
/// Occurs when [browse command].
/// </summary>
- event EventHandler<BrowseRequestEventArgs> BrowseCommand;
+ event EventHandler<GenericEventArgs<BrowseRequest>> BrowseCommand;
/// <summary>
/// Occurs when [play command].
/// </summary>
- event EventHandler<PlayRequestEventArgs> PlayCommand;
+ event EventHandler<GenericEventArgs<PlayRequest>> PlayCommand;
/// <summary>
/// Occurs when [playstate command].
/// </summary>
- event EventHandler<PlaystateRequestEventArgs> PlaystateCommand;
+ event EventHandler<GenericEventArgs<PlaystateRequest>> PlaystateCommand;
/// <summary>
/// Occurs when [message command].
/// </summary>
- event EventHandler<MessageCommandEventArgs> MessageCommand;
+ event EventHandler<GenericEventArgs<MessageCommand>> MessageCommand;
/// <summary>
/// Occurs when [system command].
/// </summary>
@@ -88,6 +95,22 @@ namespace MediaBrowser.Model.ApiClient
/// </summary>
event EventHandler<EventArgs> ServerShuttingDown;
/// <summary>
+ /// Occurs when [send text command].
+ /// </summary>
+ event EventHandler<GenericEventArgs<string>> SendTextCommand;
+ /// <summary>
+ /// Occurs when [set volume command].
+ /// </summary>
+ event EventHandler<GenericEventArgs<int>> SetVolumeCommand;
+ /// <summary>
+ /// Occurs when [set audio stream index command].
+ /// </summary>
+ event EventHandler<GenericEventArgs<int>> SetAudioStreamIndexCommand;
+ /// <summary>
+ /// Occurs when [set video stream index command].
+ /// </summary>
+ event EventHandler<GenericEventArgs<int>> SetVideoStreamIndexCommand;
+ /// <summary>
/// Occurs when [sessions updated].
/// </summary>
event EventHandler<SessionUpdatesEventArgs> SessionsUpdated;
@@ -98,7 +121,7 @@ namespace MediaBrowser.Model.ApiClient
/// <summary>
/// Occurs when [user data changed].
/// </summary>
- event EventHandler<UserDataChangedEventArgs> UserDataChanged;
+ event EventHandler<GenericEventArgs<UserDataChangeInfo>> UserDataChanged;
/// <summary>
/// Occurs when [connected].
/// </summary>
diff --git a/MediaBrowser.Model/ApiClient/ServerEventArgs.cs b/MediaBrowser.Model/ApiClient/ServerEventArgs.cs
index 6637edd74..ad0defe68 100644
--- a/MediaBrowser.Model/ApiClient/ServerEventArgs.cs
+++ b/MediaBrowser.Model/ApiClient/ServerEventArgs.cs
@@ -1,155 +1,9 @@
-using MediaBrowser.Model.Dto;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Plugins;
-using MediaBrowser.Model.Session;
-using MediaBrowser.Model.Tasks;
-using MediaBrowser.Model.Updates;
+using MediaBrowser.Model.Session;
using System;
namespace MediaBrowser.Model.ApiClient
{
/// <summary>
- /// Class UserDeletedEventArgs
- /// </summary>
- public class UserDeletedEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the id.
- /// </summary>
- /// <value>The id.</value>
- public string Id { get; set; }
- }
-
- public class UserDataChangedEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the user.
- /// </summary>
- /// <value>The user.</value>
- public UserDataChangeInfo ChangeInfo { get; set; }
- }
-
- /// <summary>
- /// Class UserUpdatedEventArgs
- /// </summary>
- public class UserUpdatedEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the user.
- /// </summary>
- /// <value>The user.</value>
- public UserDto User { get; set; }
- }
-
- /// <summary>
- /// Class ScheduledTaskStartedEventArgs
- /// </summary>
- public class ScheduledTaskStartedEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the name.
- /// </summary>
- /// <value>The name.</value>
- public string Name { get; set; }
- }
-
- /// <summary>
- /// Class ScheduledTaskEndedEventArgs
- /// </summary>
- public class ScheduledTaskEndedEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the result.
- /// </summary>
- /// <value>The result.</value>
- public TaskResult Result { get; set; }
- }
-
- /// <summary>
- /// Class PackageInstallationEventArgs
- /// </summary>
- public class PackageInstallationEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the installation info.
- /// </summary>
- /// <value>The installation info.</value>
- public InstallationInfo InstallationInfo { get; set; }
- }
-
- /// <summary>
- /// Class PluginUninstallEventArgs
- /// </summary>
- public class PluginUninstallEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the plugin info.
- /// </summary>
- /// <value>The plugin info.</value>
- public PluginInfo PluginInfo { get; set; }
- }
-
- /// <summary>
- /// Class LibraryChangedEventArgs
- /// </summary>
- public class LibraryChangedEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the update info.
- /// </summary>
- /// <value>The update info.</value>
- public LibraryUpdateInfo UpdateInfo { get; set; }
- }
-
- /// <summary>
- /// Class BrowseRequestEventArgs
- /// </summary>
- public class BrowseRequestEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the request.
- /// </summary>
- /// <value>The request.</value>
- public BrowseRequest Request { get; set; }
- }
-
- /// <summary>
- /// Class PlayRequestEventArgs
- /// </summary>
- public class PlayRequestEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the request.
- /// </summary>
- /// <value>The request.</value>
- public PlayRequest Request { get; set; }
- }
-
- /// <summary>
- /// Class PlaystateRequestEventArgs
- /// </summary>
- public class PlaystateRequestEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the request.
- /// </summary>
- /// <value>The request.</value>
- public PlaystateRequest Request { get; set; }
- }
-
- /// <summary>
- /// Class MessageCommandEventArgs
- /// </summary>
- public class MessageCommandEventArgs : EventArgs
- {
- /// <summary>
- /// Gets or sets the request.
- /// </summary>
- /// <value>The request.</value>
- public MessageCommand Request { get; set; }
- }
-
- /// <summary>
/// Class SystemCommandEventArgs
/// </summary>
public class GeneralCommandEventArgs : EventArgs
diff --git a/MediaBrowser.Model/Configuration/MetadataOptions.cs b/MediaBrowser.Model/Configuration/MetadataOptions.cs
index d666f6cce..7b2bcc178 100644
--- a/MediaBrowser.Model/Configuration/MetadataOptions.cs
+++ b/MediaBrowser.Model/Configuration/MetadataOptions.cs
@@ -30,7 +30,7 @@ namespace MediaBrowser.Model.Configuration
public MetadataOptions(int backdropLimit, int minBackdropWidth)
{
- var imageOptions = new List<ImageOption>
+ List<ImageOption> imageOptions = new List<ImageOption>
{
new ImageOption
{
@@ -52,14 +52,14 @@ namespace MediaBrowser.Model.Configuration
public int GetLimit(ImageType type)
{
- var option = ImageOptions.FirstOrDefault(i => i.Type == type);
+ ImageOption option = ImageOptions.FirstOrDefault(i => i.Type == type);
return option == null ? 1 : option.Limit;
}
public int GetMinWidth(ImageType type)
{
- var option = ImageOptions.FirstOrDefault(i => i.Type == type);
+ ImageOption option = ImageOptions.FirstOrDefault(i => i.Type == type);
return option == null ? 0 : option.MinWidth;
}
diff --git a/MediaBrowser.Model/Dlna/MediaFormatProfileResolver.cs b/MediaBrowser.Model/Dlna/MediaFormatProfileResolver.cs
index a62508fb1..b5f5dd138 100644
--- a/MediaBrowser.Model/Dlna/MediaFormatProfileResolver.cs
+++ b/MediaBrowser.Model/Dlna/MediaFormatProfileResolver.cs
@@ -1,7 +1,6 @@
-using System;
+using MediaBrowser.Model.MediaInfo;
+using System;
using System.Collections.Generic;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.MediaInfo;
namespace MediaBrowser.Model.Dlna
{
diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs
index 21441d36a..02cee0dce 100644
--- a/MediaBrowser.Model/Dlna/StreamBuilder.cs
+++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs
@@ -16,22 +16,22 @@ namespace MediaBrowser.Model.Dlna
{
ValidateAudioInput(options);
- var mediaSources = options.MediaSources;
+ List<MediaSourceInfo> mediaSources = options.MediaSources;
// If the client wants a specific media soure, filter now
if (!string.IsNullOrEmpty(options.MediaSourceId))
{
// Avoid implicitly captured closure
- var mediaSourceId = options.MediaSourceId;
+ string mediaSourceId = options.MediaSourceId;
mediaSources = mediaSources
.Where(i => string.Equals(i.Id, mediaSourceId, StringComparison.OrdinalIgnoreCase))
.ToList();
}
- var streams = mediaSources.Select(i => BuildAudioItem(i, options)).ToList();
+ List<StreamInfo> streams = mediaSources.Select(i => BuildAudioItem(i, options)).ToList();
- foreach (var stream in streams)
+ foreach (StreamInfo stream in streams)
{
stream.DeviceId = options.DeviceId;
stream.DeviceProfileId = options.Profile.Id;
@@ -44,22 +44,22 @@ namespace MediaBrowser.Model.Dlna
{
ValidateInput(options);
- var mediaSources = options.MediaSources;
+ List<MediaSourceInfo> mediaSources = options.MediaSources;
// If the client wants a specific media soure, filter now
if (!string.IsNullOrEmpty(options.MediaSourceId))
{
// Avoid implicitly captured closure
- var mediaSourceId = options.MediaSourceId;
+ string mediaSourceId = options.MediaSourceId;
mediaSources = mediaSources
.Where(i => string.Equals(i.Id, mediaSourceId, StringComparison.OrdinalIgnoreCase))
.ToList();
}
- var streams = mediaSources.Select(i => BuildVideoItem(i, options)).ToList();
+ List<StreamInfo> streams = mediaSources.Select(i => BuildVideoItem(i, options)).ToList();
- foreach (var stream in streams)
+ foreach (StreamInfo stream in streams)
{
stream.DeviceId = options.DeviceId;
stream.DeviceProfileId = options.Profile.Id;
@@ -78,7 +78,7 @@ namespace MediaBrowser.Model.Dlna
private StreamInfo BuildAudioItem(MediaSourceInfo item, AudioOptions options)
{
- var playlistItem = new StreamInfo
+ StreamInfo playlistItem = new StreamInfo
{
ItemId = options.ItemId,
MediaType = DlnaProfileType.Audio,
@@ -86,30 +86,30 @@ namespace MediaBrowser.Model.Dlna
RunTimeTicks = item.RunTimeTicks
};
- var maxBitrateSetting = options.MaxBitrate ?? options.Profile.MaxBitrate;
+ int? maxBitrateSetting = options.MaxBitrate ?? options.Profile.MaxBitrate;
- var audioStream = item.MediaStreams.FirstOrDefault(i => i.Type == MediaStreamType.Audio);
+ MediaStream audioStream = item.MediaStreams.FirstOrDefault(i => i.Type == MediaStreamType.Audio);
// Honor the max bitrate setting
if (IsAudioEligibleForDirectPlay(item, maxBitrateSetting))
{
- var directPlay = options.Profile.DirectPlayProfiles
+ DirectPlayProfile directPlay = options.Profile.DirectPlayProfiles
.FirstOrDefault(i => i.Type == playlistItem.MediaType && IsAudioDirectPlaySupported(i, item, audioStream));
if (directPlay != null)
{
- var audioCodec = audioStream == null ? null : audioStream.Codec;
+ string audioCodec = audioStream == null ? null : audioStream.Codec;
// Make sure audio codec profiles are satisfied
if (!string.IsNullOrEmpty(audioCodec))
{
- var conditionProcessor = new ConditionProcessor();
+ ConditionProcessor conditionProcessor = new ConditionProcessor();
- var conditions = options.Profile.CodecProfiles.Where(i => i.Type == CodecType.Audio && i.ContainsCodec(audioCodec))
+ IEnumerable<ProfileCondition> conditions = options.Profile.CodecProfiles.Where(i => i.Type == CodecType.Audio && i.ContainsCodec(audioCodec))
.SelectMany(i => i.Conditions);
- var audioChannels = audioStream == null ? null : audioStream.Channels;
- var audioBitrate = audioStream == null ? null : audioStream.BitRate;
+ int? audioChannels = audioStream.Channels;
+ int? audioBitrate = audioStream.BitRate;
if (conditions.All(c => conditionProcessor.IsAudioConditionSatisfied(c, audioChannels, audioBitrate)))
{
@@ -122,7 +122,7 @@ namespace MediaBrowser.Model.Dlna
}
}
- var transcodingProfile = options.Profile.TranscodingProfiles
+ TranscodingProfile transcodingProfile = options.Profile.TranscodingProfiles
.FirstOrDefault(i => i.Type == playlistItem.MediaType);
if (transcodingProfile != null)
@@ -134,7 +134,7 @@ namespace MediaBrowser.Model.Dlna
playlistItem.AudioCodec = transcodingProfile.AudioCodec;
playlistItem.Protocol = transcodingProfile.Protocol;
- var audioTranscodingConditions = options.Profile.CodecProfiles
+ IEnumerable<ProfileCondition> audioTranscodingConditions = options.Profile.CodecProfiles
.Where(i => i.Type == CodecType.Audio && i.ContainsCodec(transcodingProfile.AudioCodec))
.Take(1)
.SelectMany(i => i.Conditions);
@@ -144,7 +144,7 @@ namespace MediaBrowser.Model.Dlna
// Honor requested max channels
if (options.MaxAudioChannels.HasValue)
{
- var currentValue = playlistItem.MaxAudioChannels ?? options.MaxAudioChannels.Value;
+ int currentValue = playlistItem.MaxAudioChannels ?? options.MaxAudioChannels.Value;
playlistItem.MaxAudioChannels = Math.Min(options.MaxAudioChannels.Value, currentValue);
}
@@ -152,7 +152,7 @@ namespace MediaBrowser.Model.Dlna
// Honor requested max bitrate
if (maxBitrateSetting.HasValue)
{
- var currentValue = playlistItem.AudioBitrate ?? maxBitrateSetting.Value;
+ int currentValue = playlistItem.AudioBitrate ?? maxBitrateSetting.Value;
playlistItem.AudioBitrate = Math.Min(maxBitrateSetting.Value, currentValue);
}
@@ -163,7 +163,7 @@ namespace MediaBrowser.Model.Dlna
private StreamInfo BuildVideoItem(MediaSourceInfo item, VideoOptions options)
{
- var playlistItem = new StreamInfo
+ StreamInfo playlistItem = new StreamInfo
{
ItemId = options.ItemId,
MediaType = DlnaProfileType.Video,
@@ -171,15 +171,15 @@ namespace MediaBrowser.Model.Dlna
RunTimeTicks = item.RunTimeTicks
};
- var audioStream = item.MediaStreams.FirstOrDefault(i => i.Type == MediaStreamType.Audio);
- var videoStream = item.MediaStreams.FirstOrDefault(i => i.Type == MediaStreamType.Video);
+ MediaStream audioStream = item.MediaStreams.FirstOrDefault(i => i.Type == MediaStreamType.Audio);
+ MediaStream videoStream = item.MediaStreams.FirstOrDefault(i => i.Type == MediaStreamType.Video);
- var maxBitrateSetting = options.MaxBitrate ?? options.Profile.MaxBitrate;
+ int? maxBitrateSetting = options.MaxBitrate ?? options.Profile.MaxBitrate;
if (IsEligibleForDirectPlay(item, options, maxBitrateSetting))
{
// See if it can be direct played
- var directPlay = GetVideoDirectPlayProfile(options.Profile, item, videoStream, audioStream);
+ DirectPlayProfile directPlay = GetVideoDirectPlayProfile(options.Profile, item, videoStream, audioStream);
if (directPlay != null)
{
@@ -191,7 +191,7 @@ namespace MediaBrowser.Model.Dlna
}
// Can't direct play, find the transcoding profile
- var transcodingProfile = options.Profile.TranscodingProfiles
+ TranscodingProfile transcodingProfile = options.Profile.TranscodingProfiles
.FirstOrDefault(i => i.Type == playlistItem.MediaType);
if (transcodingProfile != null)
@@ -206,14 +206,14 @@ namespace MediaBrowser.Model.Dlna
playlistItem.AudioStreamIndex = options.AudioStreamIndex;
playlistItem.SubtitleStreamIndex = options.SubtitleStreamIndex;
- var videoTranscodingConditions = options.Profile.CodecProfiles
+ IEnumerable<ProfileCondition> videoTranscodingConditions = options.Profile.CodecProfiles
.Where(i => i.Type == CodecType.Video && i.ContainsCodec(transcodingProfile.VideoCodec))
.Take(1)
.SelectMany(i => i.Conditions);
ApplyTranscodingConditions(playlistItem, videoTranscodingConditions);
- var audioTranscodingConditions = options.Profile.CodecProfiles
+ IEnumerable<ProfileCondition> audioTranscodingConditions = options.Profile.CodecProfiles
.Where(i => i.Type == CodecType.VideoAudio && i.ContainsCodec(transcodingProfile.AudioCodec))
.Take(1)
.SelectMany(i => i.Conditions);
@@ -223,7 +223,7 @@ namespace MediaBrowser.Model.Dlna
// Honor requested max channels
if (options.MaxAudioChannels.HasValue)
{
- var currentValue = playlistItem.MaxAudioChannels ?? options.MaxAudioChannels.Value;
+ int currentValue = playlistItem.MaxAudioChannels ?? options.MaxAudioChannels.Value;
playlistItem.MaxAudioChannels = Math.Min(options.MaxAudioChannels.Value, currentValue);
}
@@ -231,7 +231,7 @@ namespace MediaBrowser.Model.Dlna
// Honor requested max bitrate
if (options.MaxAudioTranscodingBitrate.HasValue)
{
- var currentValue = playlistItem.AudioBitrate ?? options.MaxAudioTranscodingBitrate.Value;
+ int currentValue = playlistItem.AudioBitrate ?? options.MaxAudioTranscodingBitrate.Value;
playlistItem.AudioBitrate = Math.Min(options.MaxAudioTranscodingBitrate.Value, currentValue);
}
@@ -239,14 +239,14 @@ namespace MediaBrowser.Model.Dlna
// Honor max rate
if (maxBitrateSetting.HasValue)
{
- var videoBitrate = maxBitrateSetting.Value;
+ int videoBitrate = maxBitrateSetting.Value;
if (playlistItem.AudioBitrate.HasValue)
{
videoBitrate -= playlistItem.AudioBitrate.Value;
}
- var currentValue = playlistItem.VideoBitrate ?? videoBitrate;
+ int currentValue = playlistItem.VideoBitrate ?? videoBitrate;
playlistItem.VideoBitrate = Math.Min(videoBitrate, currentValue);
}
@@ -261,7 +261,7 @@ namespace MediaBrowser.Model.Dlna
MediaStream audioStream)
{
// See if it can be direct played
- var directPlay = profile.DirectPlayProfiles
+ DirectPlayProfile directPlay = profile.DirectPlayProfiles
.FirstOrDefault(i => i.Type == DlnaProfileType.Video && IsVideoDirectPlaySupported(i, mediaSource, videoStream, audioStream));
if (directPlay == null)
@@ -269,28 +269,28 @@ namespace MediaBrowser.Model.Dlna
return null;
}
- var container = mediaSource.Container;
+ string container = mediaSource.Container;
- var conditions = profile.ContainerProfiles
+ IEnumerable<ProfileCondition> conditions = profile.ContainerProfiles
.Where(i => i.Type == DlnaProfileType.Video && i.GetContainers().Contains(container, StringComparer.OrdinalIgnoreCase))
.SelectMany(i => i.Conditions);
- var conditionProcessor = new ConditionProcessor();
+ ConditionProcessor conditionProcessor = new ConditionProcessor();
- var width = videoStream == null ? null : videoStream.Width;
- var height = videoStream == null ? null : videoStream.Height;
- var bitDepth = videoStream == null ? null : videoStream.BitDepth;
- var videoBitrate = videoStream == null ? null : videoStream.BitRate;
- var videoLevel = videoStream == null ? null : videoStream.Level;
- var videoProfile = videoStream == null ? null : videoStream.Profile;
- var videoFramerate = videoStream == null ? null : videoStream.AverageFrameRate ?? videoStream.AverageFrameRate;
+ int? width = videoStream == null ? null : videoStream.Width;
+ int? height = videoStream == null ? null : videoStream.Height;
+ int? bitDepth = videoStream == null ? null : videoStream.BitDepth;
+ int? videoBitrate = videoStream == null ? null : videoStream.BitRate;
+ double? videoLevel = videoStream == null ? null : videoStream.Level;
+ string videoProfile = videoStream == null ? null : videoStream.Profile;
+ float? videoFramerate = videoStream == null ? null : videoStream.AverageFrameRate ?? videoStream.AverageFrameRate;
- var audioBitrate = audioStream == null ? null : audioStream.BitRate;
- var audioChannels = audioStream == null ? null : audioStream.Channels;
- var audioProfile = audioStream == null ? null : audioStream.Profile;
+ int? audioBitrate = audioStream == null ? null : audioStream.BitRate;
+ int? audioChannels = audioStream == null ? null : audioStream.Channels;
+ string audioProfile = audioStream == null ? null : audioStream.Profile;
- var timestamp = videoStream == null ? TransportStreamTimestamp.None : mediaSource.Timestamp;
- var packetLength = videoStream == null ? null : videoStream.PacketLength;
+ TransportStreamTimestamp? timestamp = videoStream == null ? TransportStreamTimestamp.None : mediaSource.Timestamp;
+ int? packetLength = videoStream == null ? null : videoStream.PacketLength;
// Check container conditions
if (!conditions.All(i => conditionProcessor.IsVideoConditionSatisfied(i,
@@ -309,7 +309,7 @@ namespace MediaBrowser.Model.Dlna
return null;
}
- var videoCodec = videoStream == null ? null : videoStream.Codec;
+ string videoCodec = videoStream == null ? null : videoStream.Codec;
if (string.IsNullOrEmpty(videoCodec))
{
@@ -338,7 +338,7 @@ namespace MediaBrowser.Model.Dlna
if (audioStream != null)
{
- var audioCodec = audioStream.Codec;
+ string audioCodec = audioStream.Codec;
if (string.IsNullOrEmpty(audioCodec))
{
@@ -420,10 +420,10 @@ namespace MediaBrowser.Model.Dlna
private void ApplyTranscodingConditions(StreamInfo item, IEnumerable<ProfileCondition> conditions)
{
- foreach (var condition in conditions
+ foreach (ProfileCondition condition in conditions
.Where(i => !string.IsNullOrEmpty(i.Value)))
{
- var value = condition.Value;
+ string value = condition.Value;
switch (condition.Property)
{
@@ -515,7 +515,7 @@ namespace MediaBrowser.Model.Dlna
if (profile.Container.Length > 0)
{
// Check container type
- var mediaContainer = item.Container ?? string.Empty;
+ string mediaContainer = item.Container ?? string.Empty;
if (!profile.GetContainers().Any(i => string.Equals(i, mediaContainer, StringComparison.OrdinalIgnoreCase)))
{
return false;
@@ -536,7 +536,7 @@ namespace MediaBrowser.Model.Dlna
if (profile.Container.Length > 0)
{
// Check container type
- var mediaContainer = item.Container ?? string.Empty;
+ string mediaContainer = item.Container ?? string.Empty;
if (!profile.GetContainers().Any(i => string.Equals(i, mediaContainer, StringComparison.OrdinalIgnoreCase)))
{
return false;
@@ -544,21 +544,21 @@ namespace MediaBrowser.Model.Dlna
}
// Check video codec
- var videoCodecs = profile.GetVideoCodecs();
+ List<string> videoCodecs = profile.GetVideoCodecs();
if (videoCodecs.Count > 0)
{
- var videoCodec = videoStream == null ? null : videoStream.Codec;
+ string videoCodec = videoStream == null ? null : videoStream.Codec;
if (string.IsNullOrEmpty(videoCodec) || !videoCodecs.Contains(videoCodec, StringComparer.OrdinalIgnoreCase))
{
return false;
}
}
- var audioCodecs = profile.GetAudioCodecs();
+ List<string> audioCodecs = profile.GetAudioCodecs();
if (audioCodecs.Count > 0)
{
// Check audio codecs
- var audioCodec = audioStream == null ? null : audioStream.Codec;
+ string audioCodec = audioStream == null ? null : audioStream.Codec;
if (string.IsNullOrEmpty(audioCodec) || !audioCodecs.Contains(audioCodec, StringComparer.OrdinalIgnoreCase))
{
return false;
diff --git a/MediaBrowser.Model/Dlna/StreamInfo.cs b/MediaBrowser.Model/Dlna/StreamInfo.cs
index fe49227e4..ae9806f97 100644
--- a/MediaBrowser.Model/Dlna/StreamInfo.cs
+++ b/MediaBrowser.Model/Dlna/StreamInfo.cs
@@ -79,9 +79,9 @@ namespace MediaBrowser.Model.Dlna
throw new ArgumentNullException(baseUrl);
}
- var dlnaCommand = BuildDlnaParam(this);
+ string dlnaCommand = BuildDlnaParam(this);
- var extension = string.IsNullOrEmpty(Container) ? string.Empty : "." + Container;
+ string extension = string.IsNullOrEmpty(Container) ? string.Empty : "." + Container;
baseUrl = baseUrl.TrimEnd('/');
@@ -98,11 +98,11 @@ namespace MediaBrowser.Model.Dlna
return string.Format("{0}/videos/{1}/stream{2}?{3}", baseUrl, ItemId, extension, dlnaCommand);
}
+ private static readonly CultureInfo UsCulture = new CultureInfo("en-US");
+
private static string BuildDlnaParam(StreamInfo item)
{
- var usCulture = new CultureInfo("en-US");
-
- var list = new List<string>
+ List<string> list = new List<string>
{
item.DeviceProfileId ?? string.Empty,
item.DeviceId ?? string.Empty,
@@ -110,16 +110,16 @@ namespace MediaBrowser.Model.Dlna
(item.IsDirectStream).ToString().ToLower(),
item.VideoCodec ?? string.Empty,
item.AudioCodec ?? string.Empty,
- item.AudioStreamIndex.HasValue ? item.AudioStreamIndex.Value.ToString(usCulture) : string.Empty,
- item.SubtitleStreamIndex.HasValue ? item.SubtitleStreamIndex.Value.ToString(usCulture) : string.Empty,
- item.VideoBitrate.HasValue ? item.VideoBitrate.Value.ToString(usCulture) : string.Empty,
- item.AudioBitrate.HasValue ? item.AudioBitrate.Value.ToString(usCulture) : string.Empty,
- item.MaxAudioChannels.HasValue ? item.MaxAudioChannels.Value.ToString(usCulture) : string.Empty,
- item.MaxFramerate.HasValue ? item.MaxFramerate.Value.ToString(usCulture) : string.Empty,
- item.MaxWidth.HasValue ? item.MaxWidth.Value.ToString(usCulture) : string.Empty,
- item.MaxHeight.HasValue ? item.MaxHeight.Value.ToString(usCulture) : string.Empty,
- item.StartPositionTicks.ToString(usCulture),
- item.VideoLevel.HasValue ? item.VideoLevel.Value.ToString(usCulture) : string.Empty
+ item.AudioStreamIndex.HasValue ? item.AudioStreamIndex.Value.ToString(UsCulture) : string.Empty,
+ item.SubtitleStreamIndex.HasValue ? item.SubtitleStreamIndex.Value.ToString(UsCulture) : string.Empty,
+ item.VideoBitrate.HasValue ? item.VideoBitrate.Value.ToString(UsCulture) : string.Empty,
+ item.AudioBitrate.HasValue ? item.AudioBitrate.Value.ToString(UsCulture) : string.Empty,
+ item.MaxAudioChannels.HasValue ? item.MaxAudioChannels.Value.ToString(UsCulture) : string.Empty,
+ item.MaxFramerate.HasValue ? item.MaxFramerate.Value.ToString(UsCulture) : string.Empty,
+ item.MaxWidth.HasValue ? item.MaxWidth.Value.ToString(UsCulture) : string.Empty,
+ item.MaxHeight.HasValue ? item.MaxHeight.Value.ToString(UsCulture) : string.Empty,
+ item.StartPositionTicks.ToString(UsCulture),
+ item.VideoLevel.HasValue ? item.VideoLevel.Value.ToString(UsCulture) : string.Empty
};
return string.Format("Params={0}", string.Join(";", list.ToArray()));
@@ -134,7 +134,7 @@ namespace MediaBrowser.Model.Dlna
{
if (MediaSource != null)
{
- var audioStreams = MediaSource.MediaStreams.Where(i => i.Type == MediaStreamType.Audio);
+ IEnumerable<MediaStream> audioStreams = MediaSource.MediaStreams.Where(i => i.Type == MediaStreamType.Audio);
if (AudioStreamIndex.HasValue)
{
@@ -172,7 +172,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetAudioStream;
+ MediaStream stream = TargetAudioStream;
return stream == null ? null : stream.SampleRate;
}
}
@@ -184,7 +184,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetVideoStream;
+ MediaStream stream = TargetVideoStream;
return stream == null || !IsDirectStream ? null : stream.BitDepth;
}
}
@@ -196,7 +196,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetVideoStream;
+ MediaStream stream = TargetVideoStream;
return MaxFramerate.HasValue && !IsDirectStream
? MaxFramerate
: stream == null ? null : stream.AverageFrameRate ?? stream.RealFrameRate;
@@ -210,7 +210,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetVideoStream;
+ MediaStream stream = TargetVideoStream;
return VideoLevel.HasValue && !IsDirectStream
? VideoLevel
: stream == null ? null : stream.Level;
@@ -224,7 +224,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetVideoStream;
+ MediaStream stream = TargetVideoStream;
return !IsDirectStream
? null
: stream == null ? null : stream.PacketLength;
@@ -238,7 +238,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetVideoStream;
+ MediaStream stream = TargetVideoStream;
return !string.IsNullOrEmpty(VideoProfile) && !IsDirectStream
? VideoProfile
: stream == null ? null : stream.Profile;
@@ -252,7 +252,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetAudioStream;
+ MediaStream stream = TargetAudioStream;
return AudioBitrate.HasValue && !IsDirectStream
? AudioBitrate
: stream == null ? null : stream.BitRate;
@@ -266,8 +266,8 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetAudioStream;
- var streamChannels = stream == null ? null : stream.Channels;
+ MediaStream stream = TargetAudioStream;
+ int? streamChannels = stream == null ? null : stream.Channels;
return MaxAudioChannels.HasValue && !IsDirectStream
? (streamChannels.HasValue ? Math.Min(MaxAudioChannels.Value, streamChannels.Value) : MaxAudioChannels.Value)
@@ -282,7 +282,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetAudioStream;
+ MediaStream stream = TargetAudioStream;
return IsDirectStream
? (stream == null ? null : stream.Codec)
@@ -304,10 +304,10 @@ namespace MediaBrowser.Model.Dlna
if (RunTimeTicks.HasValue)
{
- var totalBitrate = TargetTotalBitrate;
+ int? totalBitrate = TargetTotalBitrate;
return totalBitrate.HasValue ?
- Convert.ToInt64(totalBitrate * TimeSpan.FromTicks(RunTimeTicks.Value).TotalSeconds) :
+ Convert.ToInt64(totalBitrate.Value * TimeSpan.FromTicks(RunTimeTicks.Value).TotalSeconds) :
(long?)null;
}
@@ -319,7 +319,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var stream = TargetVideoStream;
+ MediaStream stream = TargetVideoStream;
return VideoBitrate.HasValue && !IsDirectStream
? VideoBitrate
@@ -331,7 +331,7 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var defaultValue = string.Equals(Container, "m2ts", StringComparison.OrdinalIgnoreCase)
+ TransportStreamTimestamp defaultValue = string.Equals(Container, "m2ts", StringComparison.OrdinalIgnoreCase)
? TransportStreamTimestamp.Valid
: TransportStreamTimestamp.None;
@@ -353,17 +353,17 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var videoStream = TargetVideoStream;
+ MediaStream videoStream = TargetVideoStream;
if (videoStream != null && videoStream.Width.HasValue && videoStream.Height.HasValue)
{
- var size = new ImageSize
+ ImageSize size = new ImageSize
{
Width = videoStream.Width.Value,
Height = videoStream.Height.Value
};
- var newSize = DrawingUtils.Resize(size,
+ ImageSize newSize = DrawingUtils.Resize(size,
null,
null,
MaxWidth,
@@ -380,17 +380,17 @@ namespace MediaBrowser.Model.Dlna
{
get
{
- var videoStream = TargetVideoStream;
+ MediaStream videoStream = TargetVideoStream;
if (videoStream != null && videoStream.Width.HasValue && videoStream.Height.HasValue)
{
- var size = new ImageSize
+ ImageSize size = new ImageSize
{
Width = videoStream.Width.Value,
Height = videoStream.Height.Value
};
- var newSize = DrawingUtils.Resize(size,
+ ImageSize newSize = DrawingUtils.Resize(size,
null,
null,
MaxWidth,
diff --git a/MediaBrowser.Model/Drawing/DrawingUtils.cs b/MediaBrowser.Model/Drawing/DrawingUtils.cs
index e95b5e375..ae483b6f6 100644
--- a/MediaBrowser.Model/Drawing/DrawingUtils.cs
+++ b/MediaBrowser.Model/Drawing/DrawingUtils.cs
@@ -16,7 +16,12 @@ namespace MediaBrowser.Model.Drawing
/// <returns>ImageSize.</returns>
public static ImageSize Scale(double currentWidth, double currentHeight, double scaleFactor)
{
- return Scale(new ImageSize { Width = currentWidth, Height = currentHeight }, scaleFactor);
+ return Scale(new ImageSize
+ {
+ Width = currentWidth,
+ Height = currentHeight
+
+ }, scaleFactor);
}
/// <summary>
@@ -29,7 +34,7 @@ namespace MediaBrowser.Model.Drawing
{
var newWidth = size.Width * scaleFactor;
- return Resize(size.Width, size.Height, newWidth);
+ return Resize(size.Width, size.Height, newWidth, null, null, null);
}
/// <summary>
@@ -42,9 +47,19 @@ namespace MediaBrowser.Model.Drawing
/// <param name="maxWidth">A max fixed width, if desired</param>
/// <param name="maxHeight">A max fixed height, if desired</param>
/// <returns>ImageSize.</returns>
- public static ImageSize Resize(double currentWidth, double currentHeight, double? width = null, double? height = null, double? maxWidth = null, double? maxHeight = null)
+ public static ImageSize Resize(double currentWidth,
+ double currentHeight,
+ double? width,
+ double? height,
+ double? maxWidth,
+ double? maxHeight)
{
- return Resize(new ImageSize { Width = currentWidth, Height = currentHeight }, width, height, maxWidth, maxHeight);
+ return Resize(new ImageSize
+ {
+ Width = currentWidth,
+ Height = currentHeight
+
+ }, width, height, maxWidth, maxHeight);
}
/// <summary>
@@ -56,7 +71,11 @@ namespace MediaBrowser.Model.Drawing
/// <param name="maxWidth">A max fixed width, if desired</param>
/// <param name="maxHeight">A max fixed height, if desired</param>
/// <returns>A new size object</returns>
- public static ImageSize Resize(ImageSize size, double? width = null, double? height = null, double? maxWidth = null, double? maxHeight = null)
+ public static ImageSize Resize(ImageSize size,
+ double? width,
+ double? height,
+ double? maxWidth,
+ double? maxHeight)
{
double newWidth = size.Width;
double newHeight = size.Height;
@@ -79,13 +98,13 @@ namespace MediaBrowser.Model.Drawing
newWidth = width.Value;
}
- if (maxHeight.HasValue && maxHeight < newHeight)
+ if (maxHeight.HasValue && maxHeight.Value < newHeight)
{
newWidth = GetNewWidth(newHeight, newWidth, maxHeight.Value);
newHeight = maxHeight.Value;
}
- if (maxWidth.HasValue && maxWidth < newWidth)
+ if (maxWidth.HasValue && maxWidth.Value < newWidth)
{
newHeight = GetNewHeight(newHeight, newWidth, maxWidth.Value);
newWidth = maxWidth.Value;
@@ -186,7 +205,7 @@ namespace MediaBrowser.Model.Drawing
{
if (!string.IsNullOrEmpty(value))
{
- var parts = value.Split('-');
+ string[] parts = value.Split('-');
if (parts.Length == 2)
{
diff --git a/MediaBrowser.Model/Dto/BaseItemDto.cs b/MediaBrowser.Model/Dto/BaseItemDto.cs
index a4bb0646a..f2434afe3 100644
--- a/MediaBrowser.Model/Dto/BaseItemDto.cs
+++ b/MediaBrowser.Model/Dto/BaseItemDto.cs
@@ -311,7 +311,7 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the parent backdrop image tags.
/// </summary>
/// <value>The parent backdrop image tags.</value>
- public List<Guid> ParentBackdropImageTags { get; set; }
+ public List<string> ParentBackdropImageTags { get; set; }
/// <summary>
/// Gets or sets the local trailer count.
@@ -466,13 +466,13 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the album image tag.
/// </summary>
/// <value>The album image tag.</value>
- public Guid? AlbumPrimaryImageTag { get; set; }
+ public string AlbumPrimaryImageTag { get; set; }
/// <summary>
/// Gets or sets the series primary image tag.
/// </summary>
/// <value>The series primary image tag.</value>
- public Guid? SeriesPrimaryImageTag { get; set; }
+ public string SeriesPrimaryImageTag { get; set; }
/// <summary>
/// Gets or sets the album artist.
@@ -529,25 +529,25 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the image tags.
/// </summary>
/// <value>The image tags.</value>
- public Dictionary<ImageType, Guid> ImageTags { get; set; }
+ public Dictionary<ImageType, string> ImageTags { get; set; }
/// <summary>
/// Gets or sets the backdrop image tags.
/// </summary>
/// <value>The backdrop image tags.</value>
- public List<Guid> BackdropImageTags { get; set; }
+ public List<string> BackdropImageTags { get; set; }
/// <summary>
/// Gets or sets the screenshot image tags.
/// </summary>
/// <value>The screenshot image tags.</value>
- public List<Guid> ScreenshotImageTags { get; set; }
+ public List<string> ScreenshotImageTags { get; set; }
/// <summary>
/// Gets or sets the parent logo image tag.
/// </summary>
/// <value>The parent logo image tag.</value>
- public Guid? ParentLogoImageTag { get; set; }
+ public string ParentLogoImageTag { get; set; }
/// <summary>
/// If the item does not have a art, this will hold the Id of the Parent that has one.
@@ -559,13 +559,13 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the parent art image tag.
/// </summary>
/// <value>The parent art image tag.</value>
- public Guid? ParentArtImageTag { get; set; }
+ public string ParentArtImageTag { get; set; }
/// <summary>
/// Gets or sets the series thumb image tag.
/// </summary>
/// <value>The series thumb image tag.</value>
- public Guid? SeriesThumbImageTag { get; set; }
+ public string SeriesThumbImageTag { get; set; }
/// <summary>
/// Gets or sets the series studio.
@@ -583,7 +583,7 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the parent thumb image tag.
/// </summary>
/// <value>The parent thumb image tag.</value>
- public Guid? ParentThumbImageTag { get; set; }
+ public string ParentThumbImageTag { get; set; }
/// <summary>
/// Gets or sets the chapters.
diff --git a/MediaBrowser.Model/Dto/BaseItemPerson.cs b/MediaBrowser.Model/Dto/BaseItemPerson.cs
index 1cc3f722d..376ba239d 100644
--- a/MediaBrowser.Model/Dto/BaseItemPerson.cs
+++ b/MediaBrowser.Model/Dto/BaseItemPerson.cs
@@ -33,7 +33,7 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the primary image tag.
/// </summary>
/// <value>The primary image tag.</value>
- public Guid? PrimaryImageTag { get; set; }
+ public string PrimaryImageTag { get; set; }
/// <summary>
/// Gets a value indicating whether this instance has primary image.
@@ -44,7 +44,7 @@ namespace MediaBrowser.Model.Dto
{
get
{
- return PrimaryImageTag.HasValue;
+ return PrimaryImageTag != null;
}
}
diff --git a/MediaBrowser.Model/Dto/ChapterInfoDto.cs b/MediaBrowser.Model/Dto/ChapterInfoDto.cs
index 5a72110ce..09dd2d582 100644
--- a/MediaBrowser.Model/Dto/ChapterInfoDto.cs
+++ b/MediaBrowser.Model/Dto/ChapterInfoDto.cs
@@ -27,7 +27,7 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the image tag.
/// </summary>
/// <value>The image tag.</value>
- public Guid? ImageTag { get; set; }
+ public string ImageTag { get; set; }
/// <summary>
/// Gets a value indicating whether this instance has image.
@@ -36,7 +36,7 @@ namespace MediaBrowser.Model.Dto
[IgnoreDataMember]
public bool HasImage
{
- get { return ImageTag.HasValue; }
+ get { return ImageTag != null; }
}
public event PropertyChangedEventHandler PropertyChanged;
diff --git a/MediaBrowser.Model/Dto/ImageInfo.cs b/MediaBrowser.Model/Dto/ImageInfo.cs
index 0850ee0a4..fa3a38fcb 100644
--- a/MediaBrowser.Model/Dto/ImageInfo.cs
+++ b/MediaBrowser.Model/Dto/ImageInfo.cs
@@ -23,7 +23,7 @@ namespace MediaBrowser.Model.Dto
/// <summary>
/// The image tag
/// </summary>
- public Guid ImageTag;
+ public string ImageTag;
/// <summary>
/// Gets or sets the path.
diff --git a/MediaBrowser.Model/Dto/ImageOptions.cs b/MediaBrowser.Model/Dto/ImageOptions.cs
index 7fe162ff9..08ac7906a 100644
--- a/MediaBrowser.Model/Dto/ImageOptions.cs
+++ b/MediaBrowser.Model/Dto/ImageOptions.cs
@@ -56,7 +56,7 @@ namespace MediaBrowser.Model.Dto
/// If set this will result in strong, unconditional response caching
/// </summary>
/// <value>The hash.</value>
- public Guid? Tag { get; set; }
+ public string Tag { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [crop whitespace].
diff --git a/MediaBrowser.Model/Dto/ItemByNameCounts.cs b/MediaBrowser.Model/Dto/ItemByNameCounts.cs
index 31b6d2da0..7c51f07bd 100644
--- a/MediaBrowser.Model/Dto/ItemByNameCounts.cs
+++ b/MediaBrowser.Model/Dto/ItemByNameCounts.cs
@@ -7,7 +7,7 @@ namespace MediaBrowser.Model.Dto
/// </summary>
public class ItemByNameCounts
{
- public Guid UserId { get; set; }
+ public string UserId { get; set; }
/// <summary>
/// Gets or sets the total count.
diff --git a/MediaBrowser.Model/Dto/StudioDto.cs b/MediaBrowser.Model/Dto/StudioDto.cs
index 696213a40..4f21784fd 100644
--- a/MediaBrowser.Model/Dto/StudioDto.cs
+++ b/MediaBrowser.Model/Dto/StudioDto.cs
@@ -21,7 +21,7 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the primary image tag.
/// </summary>
/// <value>The primary image tag.</value>
- public Guid? PrimaryImageTag { get; set; }
+ public string PrimaryImageTag { get; set; }
/// <summary>
/// Gets a value indicating whether this instance has primary image.
@@ -32,7 +32,7 @@ namespace MediaBrowser.Model.Dto
{
get
{
- return PrimaryImageTag.HasValue;
+ return PrimaryImageTag != null;
}
}
diff --git a/MediaBrowser.Model/Dto/UserDto.cs b/MediaBrowser.Model/Dto/UserDto.cs
index efbd64343..c4a43c512 100644
--- a/MediaBrowser.Model/Dto/UserDto.cs
+++ b/MediaBrowser.Model/Dto/UserDto.cs
@@ -28,7 +28,7 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the primary image tag.
/// </summary>
/// <value>The primary image tag.</value>
- public Guid? PrimaryImageTag { get; set; }
+ public string PrimaryImageTag { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance has password.
@@ -73,7 +73,7 @@ namespace MediaBrowser.Model.Dto
[IgnoreDataMember]
public bool HasPrimaryImage
{
- get { return PrimaryImageTag.HasValue; }
+ get { return PrimaryImageTag != null; }
}
/// <summary>
diff --git a/MediaBrowser.Model/Entities/BaseItemInfo.cs b/MediaBrowser.Model/Entities/BaseItemInfo.cs
index c2e6a7631..88af18289 100644
--- a/MediaBrowser.Model/Entities/BaseItemInfo.cs
+++ b/MediaBrowser.Model/Entities/BaseItemInfo.cs
@@ -46,7 +46,7 @@ namespace MediaBrowser.Model.Entities
/// Gets or sets the primary image tag.
/// </summary>
/// <value>The primary image tag.</value>
- public Guid? PrimaryImageTag { get; set; }
+ public string PrimaryImageTag { get; set; }
/// <summary>
/// Gets or sets the primary image item identifier.
@@ -58,7 +58,7 @@ namespace MediaBrowser.Model.Entities
/// Gets or sets the logo image tag.
/// </summary>
/// <value>The logo image tag.</value>
- public Guid? LogoImageTag { get; set; }
+ public string LogoImageTag { get; set; }
/// <summary>
/// Gets or sets the logo item identifier.
@@ -70,7 +70,7 @@ namespace MediaBrowser.Model.Entities
/// Gets or sets the thumb image tag.
/// </summary>
/// <value>The thumb image tag.</value>
- public Guid? ThumbImageTag { get; set; }
+ public string ThumbImageTag { get; set; }
/// <summary>
/// Gets or sets the thumb item identifier.
@@ -82,7 +82,7 @@ namespace MediaBrowser.Model.Entities
/// Gets or sets the thumb image tag.
/// </summary>
/// <value>The thumb image tag.</value>
- public Guid? BackdropImageTag { get; set; }
+ public string BackdropImageTag { get; set; }
/// <summary>
/// Gets or sets the thumb item identifier.
@@ -163,7 +163,7 @@ namespace MediaBrowser.Model.Entities
[IgnoreDataMember]
public bool HasPrimaryImage
{
- get { return PrimaryImageTag.HasValue; }
+ get { return PrimaryImageTag != null; }
}
public BaseItemInfo()
diff --git a/MediaBrowser.Model/Entities/DisplayPreferences.cs b/MediaBrowser.Model/Entities/DisplayPreferences.cs
index 829affd01..62233ac27 100644
--- a/MediaBrowser.Model/Entities/DisplayPreferences.cs
+++ b/MediaBrowser.Model/Entities/DisplayPreferences.cs
@@ -36,7 +36,7 @@ namespace MediaBrowser.Model.Entities
/// Gets or sets the user id.
/// </summary>
/// <value>The user id.</value>
- public Guid Id { get; set; }
+ public string Id { get; set; }
/// <summary>
/// Gets or sets the type of the view.
/// </summary>
@@ -105,7 +105,7 @@ namespace MediaBrowser.Model.Entities
{
var newWidth = PrimaryImageWidth / ImageScale;
- var size = DrawingUtils.Resize(PrimaryImageWidth, PrimaryImageHeight, newWidth);
+ var size = DrawingUtils.Resize(PrimaryImageWidth, PrimaryImageHeight, newWidth, null, null, null);
PrimaryImageWidth = Convert.ToInt32(size.Width);
PrimaryImageHeight = Convert.ToInt32(size.Height);
diff --git a/MediaBrowser.Model/Entities/LibraryUpdateInfo.cs b/MediaBrowser.Model/Entities/LibraryUpdateInfo.cs
index dca8cd584..4371ddae4 100644
--- a/MediaBrowser.Model/Entities/LibraryUpdateInfo.cs
+++ b/MediaBrowser.Model/Entities/LibraryUpdateInfo.cs
@@ -12,41 +12,41 @@ namespace MediaBrowser.Model.Entities
/// Gets or sets the folders added to.
/// </summary>
/// <value>The folders added to.</value>
- public List<Guid> FoldersAddedTo { get; set; }
+ public List<string> FoldersAddedTo { get; set; }
/// <summary>
/// Gets or sets the folders removed from.
/// </summary>
/// <value>The folders removed from.</value>
- public List<Guid> FoldersRemovedFrom { get; set; }
+ public List<string> FoldersRemovedFrom { get; set; }
/// <summary>
/// Gets or sets the items added.
/// </summary>
/// <value>The items added.</value>
- public List<Guid> ItemsAdded { get; set; }
+ public List<string> ItemsAdded { get; set; }
/// <summary>
/// Gets or sets the items removed.
/// </summary>
/// <value>The items removed.</value>
- public List<Guid> ItemsRemoved { get; set; }
+ public List<string> ItemsRemoved { get; set; }
/// <summary>
/// Gets or sets the items updated.
/// </summary>
/// <value>The items updated.</value>
- public List<Guid> ItemsUpdated { get; set; }
+ public List<string> ItemsUpdated { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="LibraryUpdateInfo"/> class.
/// </summary>
public LibraryUpdateInfo()
{
- FoldersAddedTo = new List<Guid>();
- FoldersRemovedFrom = new List<Guid>();
- ItemsAdded = new List<Guid>();
- ItemsRemoved = new List<Guid>();
- ItemsUpdated = new List<Guid>();
+ FoldersAddedTo = new List<string>();
+ FoldersRemovedFrom = new List<string>();
+ ItemsAdded = new List<string>();
+ ItemsRemoved = new List<string>();
+ ItemsUpdated = new List<string>();
}
}
}
diff --git a/MediaBrowser.Common/Events/GenericEventArgs.cs b/MediaBrowser.Model/Events/GenericEventArgs.cs
index e7cf524d4..5a83419e1 100644
--- a/MediaBrowser.Common/Events/GenericEventArgs.cs
+++ b/MediaBrowser.Model/Events/GenericEventArgs.cs
@@ -1,6 +1,6 @@
using System;
-namespace MediaBrowser.Common.Events
+namespace MediaBrowser.Model.Events
{
/// <summary>
/// Provides a generic EventArgs subclass that can hold any kind of object
diff --git a/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs b/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs
index fe6faf363..3fec0ee56 100644
--- a/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs
@@ -39,7 +39,7 @@ namespace MediaBrowser.Model.LiveTv
/// Gets or sets the image tags.
/// </summary>
/// <value>The image tags.</value>
- public Dictionary<ImageType, Guid> ImageTags { get; set; }
+ public Dictionary<ImageType, string> ImageTags { get; set; }
/// <summary>
/// Gets or sets the number.
@@ -113,7 +113,7 @@ namespace MediaBrowser.Model.LiveTv
public ChannelInfoDto()
{
- ImageTags = new Dictionary<ImageType, Guid>();
+ ImageTags = new Dictionary<ImageType, string>();
MediaSources = new List<MediaSourceInfo>();
}
diff --git a/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs b/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs
index f6b343bdb..4e7ab8224 100644
--- a/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs
@@ -45,7 +45,7 @@ namespace MediaBrowser.Model.LiveTv
/// Gets or sets the channel primary image tag.
/// </summary>
/// <value>The channel primary image tag.</value>
- public Guid? ChannelPrimaryImageTag { get; set; }
+ public string ChannelPrimaryImageTag { get; set; }
/// <summary>
/// Gets or sets the play access.
@@ -136,7 +136,7 @@ namespace MediaBrowser.Model.LiveTv
/// Gets or sets the image tags.
/// </summary>
/// <value>The image tags.</value>
- public Dictionary<ImageType, Guid> ImageTags { get; set; }
+ public Dictionary<ImageType, string> ImageTags { get; set; }
/// <summary>
/// Gets or sets the user data.
@@ -211,7 +211,7 @@ namespace MediaBrowser.Model.LiveTv
public ProgramInfoDto()
{
Genres = new List<string>();
- ImageTags = new Dictionary<ImageType, Guid>();
+ ImageTags = new Dictionary<ImageType, string>();
}
public event PropertyChangedEventHandler PropertyChanged;
diff --git a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs
index de07382c0..3705b7a29 100644
--- a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs
@@ -50,7 +50,7 @@ namespace MediaBrowser.Model.LiveTv
/// Gets or sets the channel primary image tag.
/// </summary>
/// <value>The channel primary image tag.</value>
- public Guid? ChannelPrimaryImageTag { get; set; }
+ public string ChannelPrimaryImageTag { get; set; }
/// <summary>
/// ChannelName of the recording.
@@ -224,7 +224,7 @@ namespace MediaBrowser.Model.LiveTv
/// Gets or sets the image tags.
/// </summary>
/// <value>The image tags.</value>
- public Dictionary<ImageType, Guid> ImageTags { get; set; }
+ public Dictionary<ImageType, string> ImageTags { get; set; }
/// <summary>
/// Gets or sets the user data.
@@ -253,7 +253,7 @@ namespace MediaBrowser.Model.LiveTv
public RecordingInfoDto()
{
Genres = new List<string>();
- ImageTags = new Dictionary<ImageType, Guid>();
+ ImageTags = new Dictionary<ImageType, string>();
MediaSources = new List<MediaSourceInfo>();
}
diff --git a/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs b/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs
index 393233c1b..7c590307f 100644
--- a/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs
@@ -43,7 +43,7 @@ namespace MediaBrowser.Model.LiveTv
/// Gets or sets the image tags.
/// </summary>
/// <value>The image tags.</value>
- public Dictionary<ImageType, Guid> ImageTags { get; set; }
+ public Dictionary<ImageType, string> ImageTags { get; set; }
/// <summary>
/// Gets a value indicating whether this instance has primary image.
@@ -57,7 +57,7 @@ namespace MediaBrowser.Model.LiveTv
public SeriesTimerInfoDto()
{
- ImageTags = new Dictionary<ImageType, Guid>();
+ ImageTags = new Dictionary<ImageType, string>();
Days = new List<DayOfWeek>();
}
}
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index aaa29d21c..1f7284422 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -97,6 +97,7 @@
<Compile Include="Dto\RecommendationDto.cs" />
<Compile Include="Dto\MediaVersionInfo.cs" />
<Compile Include="Entities\PackageReviewInfo.cs" />
+ <Compile Include="Events\GenericEventArgs.cs" />
<Compile Include="FileOrganization\FileOrganizationResult.cs" />
<Compile Include="FileOrganization\FileOrganizationQuery.cs" />
<Compile Include="Library\PlayAccess.cs" />
diff --git a/MediaBrowser.Model/Search/SearchHint.cs b/MediaBrowser.Model/Search/SearchHint.cs
index 002200c0f..4eced7706 100644
--- a/MediaBrowser.Model/Search/SearchHint.cs
+++ b/MediaBrowser.Model/Search/SearchHint.cs
@@ -47,13 +47,13 @@ namespace MediaBrowser.Model.Search
/// Gets or sets the image tag.
/// </summary>
/// <value>The image tag.</value>
- public Guid? PrimaryImageTag { get; set; }
+ public string PrimaryImageTag { get; set; }
/// <summary>
/// Gets or sets the thumb image tag.
/// </summary>
/// <value>The thumb image tag.</value>
- public Guid? ThumbImageTag { get; set; }
+ public string ThumbImageTag { get; set; }
/// <summary>
/// Gets or sets the thumb image item identifier.
@@ -65,7 +65,7 @@ namespace MediaBrowser.Model.Search
/// Gets or sets the backdrop image tag.
/// </summary>
/// <value>The backdrop image tag.</value>
- public Guid? BackdropImageTag { get; set; }
+ public string BackdropImageTag { get; set; }
/// <summary>
/// Gets or sets the backdrop image item identifier.
diff --git a/MediaBrowser.Model/Session/GeneralCommand.cs b/MediaBrowser.Model/Session/GeneralCommand.cs
index 071eac954..98b3c50b3 100644
--- a/MediaBrowser.Model/Session/GeneralCommand.cs
+++ b/MediaBrowser.Model/Session/GeneralCommand.cs
@@ -49,6 +49,7 @@ namespace MediaBrowser.Model.Session
SetSubtitleStreamIndex = 24,
ToggleFullscreen = 25,
DisplayContent = 26,
- GoToSearch = 27
+ GoToSearch = 27,
+ DisplayMessage = 28
}
}
diff --git a/MediaBrowser.Model/Session/SessionInfoDto.cs b/MediaBrowser.Model/Session/SessionInfoDto.cs
index cd6ecbbb2..0dc119500 100644
--- a/MediaBrowser.Model/Session/SessionInfoDto.cs
+++ b/MediaBrowser.Model/Session/SessionInfoDto.cs
@@ -55,7 +55,7 @@ namespace MediaBrowser.Model.Session
/// Gets or sets the user primary image tag.
/// </summary>
/// <value>The user primary image tag.</value>
- public Guid? UserPrimaryImageTag { get; set; }
+ public string UserPrimaryImageTag { get; set; }
/// <summary>
/// Gets or sets the name of the user.
diff --git a/MediaBrowser.Model/Tasks/TaskInfo.cs b/MediaBrowser.Model/Tasks/TaskInfo.cs
index 8e795f22f..83ee0b7e6 100644
--- a/MediaBrowser.Model/Tasks/TaskInfo.cs
+++ b/MediaBrowser.Model/Tasks/TaskInfo.cs
@@ -30,7 +30,7 @@ namespace MediaBrowser.Model.Tasks
/// Gets or sets the id.
/// </summary>
/// <value>The id.</value>
- public Guid Id { get; set; }
+ public string Id { get; set; }
/// <summary>
/// Gets or sets the last execution result.
diff --git a/MediaBrowser.Model/Tasks/TaskResult.cs b/MediaBrowser.Model/Tasks/TaskResult.cs
index c04d2f2fe..e73b4c9a1 100644
--- a/MediaBrowser.Model/Tasks/TaskResult.cs
+++ b/MediaBrowser.Model/Tasks/TaskResult.cs
@@ -35,7 +35,7 @@ namespace MediaBrowser.Model.Tasks
/// Gets or sets the id.
/// </summary>
/// <value>The id.</value>
- public Guid Id { get; set; }
+ public string Id { get; set; }
/// <summary>
/// Gets or sets the error message.
diff --git a/MediaBrowser.Model/Updates/InstallationInfo.cs b/MediaBrowser.Model/Updates/InstallationInfo.cs
index 09b4975a8..b904a0e58 100644
--- a/MediaBrowser.Model/Updates/InstallationInfo.cs
+++ b/MediaBrowser.Model/Updates/InstallationInfo.cs
@@ -11,7 +11,7 @@ namespace MediaBrowser.Model.Updates
/// Gets or sets the id.
/// </summary>
/// <value>The id.</value>
- public Guid Id { get; set; }
+ public string Id { get; set; }
/// <summary>
/// Gets or sets the name.
diff --git a/MediaBrowser.Model/Updates/PackageVersionInfo.cs b/MediaBrowser.Model/Updates/PackageVersionInfo.cs
index 3b0a94019..b3d297e8e 100644
--- a/MediaBrowser.Model/Updates/PackageVersionInfo.cs
+++ b/MediaBrowser.Model/Updates/PackageVersionInfo.cs
@@ -47,7 +47,7 @@ namespace MediaBrowser.Model.Updates
/// <param name="str">The STR.</param>
/// <param name="def">The def.</param>
/// <returns>System.String.</returns>
- private static string ValueOrDefault(string str, string def = "")
+ private static string ValueOrDefault(string str, string def)
{
return string.IsNullOrEmpty(str) ? def : str;
}
@@ -80,7 +80,7 @@ namespace MediaBrowser.Model.Updates
/// Gets or sets the source URL.
/// </summary>
/// <value>The source URL.</value>
- public Guid checksum { get; set; }
+ public string checksum { get; set; }
/// <summary>
/// Gets or sets the target filename.
diff --git a/MediaBrowser.Model/Web/QueryStringDictionary.cs b/MediaBrowser.Model/Web/QueryStringDictionary.cs
index 905fbb215..6b035fa45 100644
--- a/MediaBrowser.Model/Web/QueryStringDictionary.cs
+++ b/MediaBrowser.Model/Web/QueryStringDictionary.cs
@@ -128,50 +128,6 @@ namespace MediaBrowser.Model.Web
/// <param name="name">The name.</param>
/// <param name="value">The value.</param>
/// <exception cref="System.ArgumentNullException">value</exception>
- public void Add(string name, Guid value)
- {
- if (value == Guid.Empty)
- {
- throw new ArgumentNullException("value");
- }
-
- Add(name, value.ToString());
- }
-
- /// <summary>
- /// Adds if not empty.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="value">The value.</param>
- public void AddIfNotEmpty(string name, Guid value)
- {
- if (value != Guid.Empty)
- {
- Add(name, value);
- }
-
- Add(name, value);
- }
-
- /// <summary>
- /// Adds if not null.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="value">The value.</param>
- public void AddIfNotNull(string name, Guid? value)
- {
- if (value.HasValue)
- {
- Add(name, value.Value);
- }
- }
-
- /// <summary>
- /// Adds the specified name.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="value">The value.</param>
- /// <exception cref="System.ArgumentNullException">value</exception>
public void Add(string name, IEnumerable<int> value)
{
if (value == null)
diff --git a/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs b/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
index ba241931c..2f1c9fd53 100644
--- a/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
+++ b/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
@@ -91,9 +91,18 @@ namespace MediaBrowser.Providers.MediaInfo
return false;
}
+ var audioStreams = internalMediaStreams.Where(i => i.Type == MediaStreamType.Audio).ToList();
+ var defaultAudioStreams = audioStreams.Where(i => i.IsDefault).ToList();
+
+ // If none are marked as default, just take a guess
+ if (defaultAudioStreams.Count == 0)
+ {
+ defaultAudioStreams = audioStreams.Take(1).ToList();
+ }
+
// There's already a default audio stream for this language
if (skipIfAudioTrackMatches &&
- internalMediaStreams.Any(i => i.Type == MediaStreamType.Audio && i.IsDefault && string.Equals(i.Language, language, StringComparison.OrdinalIgnoreCase)))
+ defaultAudioStreams.Any(i => string.Equals(i.Language, language, StringComparison.OrdinalIgnoreCase)))
{
return false;
}
diff --git a/MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs b/MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs
index 1b53483c4..7b40b5673 100644
--- a/MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs
+++ b/MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs
@@ -1,11 +1,11 @@
-using MediaBrowser.Common.Events;
-using MediaBrowser.Common.Extensions;
+using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Security;
using MediaBrowser.Controller.Subtitles;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Providers;
using OpenSubtitlesHandler;
diff --git a/MediaBrowser.Server.Implementations/Configuration/ServerConfigurationManager.cs b/MediaBrowser.Server.Implementations/Configuration/ServerConfigurationManager.cs
index ab79c6a1a..59267e856 100644
--- a/MediaBrowser.Server.Implementations/Configuration/ServerConfigurationManager.cs
+++ b/MediaBrowser.Server.Implementations/Configuration/ServerConfigurationManager.cs
@@ -4,6 +4,7 @@ using MediaBrowser.Common.Implementations.Configuration;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Model.Configuration;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using System;
diff --git a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
index c6c1ec050..38f812809 100644
--- a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
+++ b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
@@ -649,7 +649,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
/// <param name="image">The image.</param>
/// <returns>Guid.</returns>
/// <exception cref="System.ArgumentNullException">item</exception>
- public Guid GetImageCacheTag(IHasImages item, ItemImageInfo image)
+ public string GetImageCacheTag(IHasImages item, ItemImageInfo image)
{
if (item == null)
{
@@ -676,7 +676,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
/// <param name="imageEnhancers">The image enhancers.</param>
/// <returns>Guid.</returns>
/// <exception cref="System.ArgumentNullException">item</exception>
- public Guid GetImageCacheTag(IHasImages item, ImageType imageType, string originalImagePath, DateTime dateModified, List<IImageEnhancer> imageEnhancers)
+ public string GetImageCacheTag(IHasImages item, ImageType imageType, string originalImagePath, DateTime dateModified, List<IImageEnhancer> imageEnhancers)
{
if (item == null)
{
@@ -696,14 +696,14 @@ namespace MediaBrowser.Server.Implementations.Drawing
// Optimization
if (imageEnhancers.Count == 0)
{
- return (originalImagePath + dateModified.Ticks).GetMD5();
+ return (originalImagePath + dateModified.Ticks).GetMD5().ToString("N");
}
// Cache name is created with supported enhancers combined with the last config change so we pick up new config changes
var cacheKeys = imageEnhancers.Select(i => i.GetConfigurationCacheKey(item, imageType)).ToList();
cacheKeys.Add(originalImagePath + dateModified.Ticks);
- return string.Join("|", cacheKeys.ToArray()).GetMD5();
+ return string.Join("|", cacheKeys.ToArray()).GetMD5().ToString("N");
}
/// <summary>
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index c88cefdb3..8a0d4ca49 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -326,7 +326,7 @@ namespace MediaBrowser.Server.Implementations.Dto
/// </summary>
/// <param name="item">The item.</param>
/// <returns>List{System.String}.</returns>
- private List<Guid> GetBackdropImageTags(BaseItem item)
+ private List<string> GetBackdropImageTags(BaseItem item)
{
return GetCacheTags(item, ImageType.Backdrop).ToList();
}
@@ -336,26 +336,25 @@ namespace MediaBrowser.Server.Implementations.Dto
/// </summary>
/// <param name="item">The item.</param>
/// <returns>List{Guid}.</returns>
- private List<Guid> GetScreenshotImageTags(BaseItem item)
+ private List<string> GetScreenshotImageTags(BaseItem item)
{
var hasScreenshots = item as IHasScreenshots;
if (hasScreenshots == null)
{
- return new List<Guid>();
+ return new List<string>();
}
return GetCacheTags(item, ImageType.Screenshot).ToList();
}
- private IEnumerable<Guid> GetCacheTags(BaseItem item, ImageType type)
+ private IEnumerable<string> GetCacheTags(BaseItem item, ImageType type)
{
return item.GetImages(type)
.Select(p => GetImageCacheTag(item, p))
- .Where(i => i.HasValue)
- .Select(i => i.Value)
+ .Where(i => i != null)
.ToList();
}
- private Guid? GetImageCacheTag(BaseItem item, ImageType type)
+ private string GetImageCacheTag(BaseItem item, ImageType type)
{
try
{
@@ -368,7 +367,7 @@ namespace MediaBrowser.Server.Implementations.Dto
}
}
- private Guid? GetImageCacheTag(BaseItem item, ItemImageInfo image)
+ private string GetImageCacheTag(BaseItem item, ItemImageInfo image)
{
try
{
@@ -677,7 +676,7 @@ namespace MediaBrowser.Server.Implementations.Dto
dto.Genres = item.Genres;
}
- dto.ImageTags = new Dictionary<ImageType, Guid>();
+ dto.ImageTags = new Dictionary<ImageType, string>();
// Prevent implicitly captured closure
var currentItem = item;
@@ -685,9 +684,9 @@ namespace MediaBrowser.Server.Implementations.Dto
{
var tag = GetImageCacheTag(item, image);
- if (tag.HasValue)
+ if (tag != null)
{
- dto.ImageTags[image.Type] = tag.Value;
+ dto.ImageTags[image.Type] = tag;
}
}
@@ -1216,7 +1215,7 @@ namespace MediaBrowser.Server.Implementations.Dto
}
}
- var bitrate = i.TotalBitrate ??
+ var bitrate = i.TotalBitrate ??
info.MediaStreams.Where(m => m.Type != MediaStreamType.Subtitle && !string.Equals(m.Codec, "mjpeg", StringComparison.OrdinalIgnoreCase))
.Select(m => m.BitRate ?? 0)
.Sum();
diff --git a/MediaBrowser.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs b/MediaBrowser.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs
index 59fa78a00..40eeea651 100644
--- a/MediaBrowser.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs
+++ b/MediaBrowser.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs
@@ -252,15 +252,15 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
return new LibraryUpdateInfo
{
- ItemsAdded = itemsAdded.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren)).Select(i => i.Id).Distinct().ToList(),
+ ItemsAdded = itemsAdded.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren)).Select(i => i.Id.ToString("N")).Distinct().ToList(),
- ItemsUpdated = itemsUpdated.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren)).Select(i => i.Id).Distinct().ToList(),
+ ItemsUpdated = itemsUpdated.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren)).Select(i => i.Id.ToString("N")).Distinct().ToList(),
- ItemsRemoved = itemsRemoved.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren, true)).Select(i => i.Id).Distinct().ToList(),
+ ItemsRemoved = itemsRemoved.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren, true)).Select(i => i.Id.ToString("N")).Distinct().ToList(),
- FoldersAddedTo = foldersAddedTo.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren)).Select(i => i.Id).Distinct().ToList(),
+ FoldersAddedTo = foldersAddedTo.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren)).Select(i => i.Id.ToString("N")).Distinct().ToList(),
- FoldersRemovedFrom = foldersRemovedFrom.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren)).Select(i => i.Id).Distinct().ToList()
+ FoldersRemovedFrom = foldersRemovedFrom.SelectMany(i => TranslatePhysicalItemToUserLibrary(i, user, collections, allRecursiveChildren)).Select(i => i.Id.ToString("N")).Distinct().ToList()
};
}
diff --git a/MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifier.cs b/MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifier.cs
index 0081c6243..9d2de0f6d 100644
--- a/MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifier.cs
+++ b/MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifier.cs
@@ -11,6 +11,7 @@ using MediaBrowser.Controller.Plugins;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Notifications;
using MediaBrowser.Model.Tasks;
diff --git a/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs b/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs
index 0925ca86c..773ee24a9 100644
--- a/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs
+++ b/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs
@@ -9,6 +9,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Controller.Session;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Tasks;
using System;
using System.Threading;
diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs
index 2ee843f09..23303c41f 100644
--- a/MediaBrowser.Server.Implementations/Library/UserManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs
index cf7358cce..7bf484689 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs
@@ -241,9 +241,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var imageTag = GetImageTag(recording);
- if (imageTag.HasValue)
+ if (imageTag != null)
{
- dto.ImageTags[ImageType.Primary] = imageTag.Value;
+ dto.ImageTags[ImageType.Primary] = imageTag;
}
if (user != null)
@@ -328,9 +328,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var imageTag = GetImageTag(info);
- if (imageTag.HasValue)
+ if (imageTag != null)
{
- dto.ImageTags[ImageType.Primary] = imageTag.Value;
+ dto.ImageTags[ImageType.Primary] = imageTag;
}
if (currentProgram != null)
@@ -389,9 +389,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var imageTag = GetImageTag(item);
- if (imageTag.HasValue)
+ if (imageTag != null)
{
- dto.ImageTags[ImageType.Primary] = imageTag.Value;
+ dto.ImageTags[ImageType.Primary] = imageTag;
}
if (user != null)
@@ -404,7 +404,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
return dto;
}
- private Guid? GetImageTag(IHasImages info)
+ private string GetImageTag(IHasImages info)
{
try
{
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs
index 9f6ec0f24..0b4d78de3 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs
@@ -111,7 +111,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
{
throw new ArgumentNullException("displayPreferences");
}
- if (displayPreferences.Id == Guid.Empty)
+ if (string.IsNullOrWhiteSpace(displayPreferences.Id))
{
throw new ArgumentNullException("displayPreferences.Id");
}
@@ -132,7 +132,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
{
cmd.CommandText = "replace into userdisplaypreferences (id, userid, client, data) values (@1, @2, @3, @4)";
- cmd.Parameters.Add(cmd, "@1", DbType.Guid).Value = displayPreferences.Id;
+ cmd.Parameters.Add(cmd, "@1", DbType.Guid).Value = new Guid(displayPreferences.Id);
cmd.Parameters.Add(cmd, "@2", DbType.Guid).Value = userId;
cmd.Parameters.Add(cmd, "@3", DbType.String).Value = client;
cmd.Parameters.Add(cmd, "@4", DbType.Binary).Value = serialized;
@@ -183,9 +183,9 @@ namespace MediaBrowser.Server.Implementations.Persistence
/// <param name="client">The client.</param>
/// <returns>Task{DisplayPreferences}.</returns>
/// <exception cref="System.ArgumentNullException">item</exception>
- public DisplayPreferences GetDisplayPreferences(Guid displayPreferencesId, Guid userId, string client)
+ public DisplayPreferences GetDisplayPreferences(string displayPreferencesId, Guid userId, string client)
{
- if (displayPreferencesId == Guid.Empty)
+ if (string.IsNullOrWhiteSpace(displayPreferencesId))
{
throw new ArgumentNullException("displayPreferencesId");
}
@@ -193,7 +193,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
var cmd = _connection.CreateCommand();
cmd.CommandText = "select data from userdisplaypreferences where id = @id and userId=@userId and client=@client";
- cmd.Parameters.Add(cmd, "@id", DbType.Guid).Value = displayPreferencesId;
+ cmd.Parameters.Add(cmd, "@id", DbType.Guid).Value = new Guid(displayPreferencesId);
cmd.Parameters.Add(cmd, "@userId", DbType.Guid).Value = userId;
cmd.Parameters.Add(cmd, "@client", DbType.String).Value = client;
@@ -208,7 +208,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
}
}
- return new DisplayPreferences { Id = displayPreferencesId };
+ return null;
}
/// <summary>
diff --git a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs
index cdaf03fbe..ad9db947a 100644
--- a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs
+++ b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs
@@ -56,16 +56,6 @@ namespace MediaBrowser.Server.Implementations.Roku
return Task.FromResult(true);
}
- public Task SendMessageCommand(MessageCommand command, CancellationToken cancellationToken)
- {
- return SendCommand(new WebSocketMessage<MessageCommand>
- {
- MessageType = "MessageCommand",
- Data = command
-
- }, cancellationToken);
- }
-
public Task SendPlayCommand(PlayRequest command, CancellationToken cancellationToken)
{
return SendCommand(new WebSocketMessage<PlayRequest>
diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs
index b187c8d6b..ea709cd24 100644
--- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs
+++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Events;
+using System.Globalization;
+using MediaBrowser.Common.Events;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Drawing;
@@ -712,12 +713,20 @@ namespace MediaBrowser.Server.Implementations.Session
public Task SendMessageCommand(string controllingSessionId, string sessionId, MessageCommand command, CancellationToken cancellationToken)
{
- var session = GetSessionForRemoteControl(sessionId);
+ var generalCommand = new GeneralCommand
+ {
+ Name = GeneralCommandType.DisplayMessage.ToString()
+ };
- var controllingSession = GetSession(controllingSessionId);
- AssertCanControl(session, controllingSession);
+ generalCommand.Arguments["Header"] = command.Header;
+ generalCommand.Arguments["Text"] = command.Text;
- return session.SessionController.SendMessageCommand(command, cancellationToken);
+ if (command.TimeoutMs.HasValue)
+ {
+ generalCommand.Arguments["TimeoutMs"] = command.TimeoutMs.Value.ToString(CultureInfo.InvariantCulture);
+ }
+
+ return SendGeneralCommand(controllingSessionId, sessionId, generalCommand, cancellationToken);
}
public Task SendGeneralCommand(string controllingSessionId, string sessionId, GeneralCommand command, CancellationToken cancellationToken)
@@ -1199,7 +1208,7 @@ namespace MediaBrowser.Server.Implementations.Session
};
info.PrimaryImageTag = GetImageCacheTag(item, ImageType.Primary);
- if (info.PrimaryImageTag.HasValue)
+ if (info.PrimaryImageTag != null)
{
info.PrimaryImageItemId = GetDtoId(item);
}
@@ -1237,14 +1246,14 @@ namespace MediaBrowser.Server.Implementations.Session
info.Album = audio.Album;
info.Artists = audio.Artists;
- if (!info.PrimaryImageTag.HasValue)
+ if (info.PrimaryImageTag == null)
{
var album = audio.Parents.OfType<MusicAlbum>().FirstOrDefault();
if (album != null && album.HasImage(ImageType.Primary))
{
info.PrimaryImageTag = GetImageCacheTag(album, ImageType.Primary);
- if (info.PrimaryImageTag.HasValue)
+ if (info.PrimaryImageTag != null)
{
info.PrimaryImageItemId = GetDtoId(album);
}
@@ -1345,7 +1354,7 @@ namespace MediaBrowser.Server.Implementations.Session
return info;
}
- private Guid? GetImageCacheTag(BaseItem item, ImageType type)
+ private string GetImageCacheTag(BaseItem item, ImageType type)
{
try
{
diff --git a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs
index 4b0c25a87..3b6ecd21e 100644
--- a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs
+++ b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs
@@ -57,18 +57,6 @@ namespace MediaBrowser.Server.Implementations.Session
return socket;
}
- public Task SendMessageCommand(MessageCommand command, CancellationToken cancellationToken)
- {
- var socket = GetActiveSocket();
-
- return socket.SendAsync(new WebSocketMessage<MessageCommand>
- {
- MessageType = "MessageCommand",
- Data = command
-
- }, cancellationToken);
- }
-
public Task SendPlayCommand(PlayRequest command, CancellationToken cancellationToken)
{
var socket = GetActiveSocket();