aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-10-02 02:20:16 -0400
committerGitHub <noreply@github.com>2016-10-02 02:20:16 -0400
commit696cdf27377013cc9237f0ad0ac0614f2ff1cd59 (patch)
tree39f835c844b44ce43ad5a967ce4854c5263d83ed /MediaBrowser.Server.Implementations
parent8d486444c9b72704f35153f07affd41c67df19a8 (diff)
parentcf4f5039bffa504b65569e2be5b2711e803e105b (diff)
Merge pull request #2207 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/HttpResultFactory.cs8
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs27
-rw-r--r--MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs4
-rw-r--r--MediaBrowser.Server.Implementations/MediaEncoder/EncodingManager.cs26
-rw-r--r--MediaBrowser.Server.Implementations/Session/SessionManager.cs34
5 files changed, 39 insertions, 60 deletions
diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpResultFactory.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpResultFactory.cs
index c55e98388..04085d3c7 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/HttpResultFactory.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/HttpResultFactory.cs
@@ -93,12 +93,14 @@ namespace MediaBrowser.Server.Implementations.HttpServer
}
}
}
-
- if (responseHeaders != null)
+ if (responseHeaders == null)
{
- AddResponseHeaders(result, responseHeaders);
+ responseHeaders = new Dictionary<string, string>();
}
+ responseHeaders["Expires"] = "-1";
+ AddResponseHeaders(result, responseHeaders);
+
return result;
}
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index f6fb158ae..93ee91c21 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -1216,12 +1216,7 @@ namespace MediaBrowser.Server.Implementations.Library
if (libraryFolder != null)
{
info.ItemId = libraryFolder.Id.ToString("N");
- }
-
- var collectionFolder = libraryFolder as CollectionFolder;
- if (collectionFolder != null)
- {
- info.LibraryOptions = collectionFolder.GetLibraryOptions();
+ info.LibraryOptions = GetLibraryOptions(libraryFolder);
}
return info;
@@ -1889,11 +1884,23 @@ namespace MediaBrowser.Server.Implementations.Library
public LibraryOptions GetLibraryOptions(BaseItem item)
{
- var collectionFolder = GetCollectionFolders(item)
- .OfType<CollectionFolder>()
- .FirstOrDefault();
+ var collectionFolder = item as CollectionFolder;
+ if (collectionFolder == null)
+ {
+ collectionFolder = GetCollectionFolders(item)
+ .OfType<CollectionFolder>()
+ .FirstOrDefault();
+ }
+
+ var options = collectionFolder == null ? new LibraryOptions() : collectionFolder.GetLibraryOptions();
+
+ if (options.SchemaVersion < 3)
+ {
+ options.SaveLocalMetadata = ConfigurationManager.Configuration.SaveLocalMeta;
+ options.EnableInternetProviders = ConfigurationManager.Configuration.EnableInternetProviders;
+ }
- return collectionFolder == null ? new LibraryOptions() : collectionFolder.GetLibraryOptions();
+ return options;
}
public string GetContentType(BaseItem item)
diff --git a/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs b/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs
index c7650102f..ae32bdaf7 100644
--- a/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs
@@ -456,7 +456,7 @@ namespace MediaBrowser.Server.Implementations.Library
}
else
{
- _logger.Error("Failed to update MediaSource timestamp for {0}", id);
+ _logger.Error("Failed to ping live stream {0}", id);
}
}
finally
@@ -540,7 +540,7 @@ namespace MediaBrowser.Server.Implementations.Library
}
private Timer _closeTimer;
- private readonly TimeSpan _openStreamMaxAge = TimeSpan.FromSeconds(60);
+ private readonly TimeSpan _openStreamMaxAge = TimeSpan.FromSeconds(180);
private void StartCloseTimer()
{
diff --git a/MediaBrowser.Server.Implementations/MediaEncoder/EncodingManager.cs b/MediaBrowser.Server.Implementations/MediaEncoder/EncodingManager.cs
index 06c109dfc..21e847c68 100644
--- a/MediaBrowser.Server.Implementations/MediaEncoder/EncodingManager.cs
+++ b/MediaBrowser.Server.Implementations/MediaEncoder/EncodingManager.cs
@@ -61,7 +61,7 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder
}
var libraryOptions = _libraryManager.GetLibraryOptions(video);
- if (libraryOptions != null && libraryOptions.SchemaVersion >= 2)
+ if (libraryOptions != null)
{
if (!libraryOptions.EnableChapterImageExtraction)
{
@@ -70,29 +70,7 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder
}
else
{
- var options = _chapterManager.GetConfiguration();
-
- if (video is Movie)
- {
- if (!options.EnableMovieChapterImageExtraction)
- {
- return false;
- }
- }
- else if (video is Episode)
- {
- if (!options.EnableEpisodeChapterImageExtraction)
- {
- return false;
- }
- }
- else
- {
- if (!options.EnableOtherVideoChapterImageExtraction)
- {
- return false;
- }
- }
+ return false;
}
// Can't extract images if there are no video streams
diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs
index 5857e9dbc..2fcc76588 100644
--- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs
+++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs
@@ -41,12 +41,7 @@ namespace MediaBrowser.Server.Implementations.Session
/// <summary>
/// The _user data repository
/// </summary>
- private readonly IUserDataManager _userDataRepository;
-
- /// <summary>
- /// The _user repository
- /// </summary>
- private readonly IUserRepository _userRepository;
+ private readonly IUserDataManager _userDataManager;
/// <summary>
/// The _logger
@@ -99,11 +94,10 @@ namespace MediaBrowser.Server.Implementations.Session
private readonly SemaphoreSlim _sessionLock = new SemaphoreSlim(1, 1);
- public SessionManager(IUserDataManager userDataRepository, ILogger logger, IUserRepository userRepository, ILibraryManager libraryManager, IUserManager userManager, IMusicManager musicManager, IDtoService dtoService, IImageProcessor imageProcessor, IJsonSerializer jsonSerializer, IServerApplicationHost appHost, IHttpClient httpClient, IAuthenticationRepository authRepo, IDeviceManager deviceManager, IMediaSourceManager mediaSourceManager)
+ public SessionManager(IUserDataManager userDataManager, ILogger logger, ILibraryManager libraryManager, IUserManager userManager, IMusicManager musicManager, IDtoService dtoService, IImageProcessor imageProcessor, IJsonSerializer jsonSerializer, IServerApplicationHost appHost, IHttpClient httpClient, IAuthenticationRepository authRepo, IDeviceManager deviceManager, IMediaSourceManager mediaSourceManager)
{
- _userDataRepository = userDataRepository;
+ _userDataManager = userDataManager;
_logger = logger;
- _userRepository = userRepository;
_libraryManager = libraryManager;
_userManager = userManager;
_musicManager = musicManager;
@@ -248,13 +242,11 @@ namespace MediaBrowser.Server.Implementations.Session
var userLastActivityDate = user.LastActivityDate ?? DateTime.MinValue;
user.LastActivityDate = activityDate;
- // Don't log in the db anymore frequently than 10 seconds
- if ((activityDate - userLastActivityDate).TotalSeconds > 10)
+ if ((activityDate - userLastActivityDate).TotalSeconds > 60)
{
try
{
- // Save this directly. No need to fire off all the events for this.
- await _userRepository.SaveUser(user, CancellationToken.None).ConfigureAwait(false);
+ await _userManager.UpdateUser(user).ConfigureAwait(false);
}
catch (Exception ex)
{
@@ -636,7 +628,7 @@ namespace MediaBrowser.Server.Implementations.Session
/// <returns>Task.</returns>
private async Task OnPlaybackStart(Guid userId, IHasUserData item)
{
- var data = _userDataRepository.GetUserData(userId, item);
+ var data = _userDataManager.GetUserData(userId, item);
data.PlayCount++;
data.LastPlayedDate = DateTime.UtcNow;
@@ -646,7 +638,7 @@ namespace MediaBrowser.Server.Implementations.Session
data.Played = true;
}
- await _userDataRepository.SaveUserData(userId, item, data, UserDataSaveReason.PlaybackStart, CancellationToken.None).ConfigureAwait(false);
+ await _userDataManager.SaveUserData(userId, item, data, UserDataSaveReason.PlaybackStart, CancellationToken.None).ConfigureAwait(false);
}
/// <summary>
@@ -713,17 +705,17 @@ namespace MediaBrowser.Server.Implementations.Session
private async Task OnPlaybackProgress(User user, BaseItem item, PlaybackProgressInfo info)
{
- var data = _userDataRepository.GetUserData(user.Id, item);
+ var data = _userDataManager.GetUserData(user.Id, item);
var positionTicks = info.PositionTicks;
if (positionTicks.HasValue)
{
- _userDataRepository.UpdatePlayState(item, data, positionTicks.Value);
+ _userDataManager.UpdatePlayState(item, data, positionTicks.Value);
UpdatePlaybackSettings(user, info, data);
- await _userDataRepository.SaveUserData(user.Id, item, data, UserDataSaveReason.PlaybackProgress, CancellationToken.None).ConfigureAwait(false);
+ await _userDataManager.SaveUserData(user.Id, item, data, UserDataSaveReason.PlaybackProgress, CancellationToken.None).ConfigureAwait(false);
}
}
@@ -849,11 +841,11 @@ namespace MediaBrowser.Server.Implementations.Session
if (!playbackFailed)
{
- var data = _userDataRepository.GetUserData(userId, item);
+ var data = _userDataManager.GetUserData(userId, item);
if (positionTicks.HasValue)
{
- playedToCompletion = _userDataRepository.UpdatePlayState(item, data, positionTicks.Value);
+ playedToCompletion = _userDataManager.UpdatePlayState(item, data, positionTicks.Value);
}
else
{
@@ -864,7 +856,7 @@ namespace MediaBrowser.Server.Implementations.Session
playedToCompletion = true;
}
- await _userDataRepository.SaveUserData(userId, item, data, UserDataSaveReason.PlaybackFinished, CancellationToken.None).ConfigureAwait(false);
+ await _userDataManager.SaveUserData(userId, item, data, UserDataSaveReason.PlaybackFinished, CancellationToken.None).ConfigureAwait(false);
}
return playedToCompletion;