aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs3
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs3
-rw-r--r--MediaBrowser.Server.Implementations/Library/ResolverHelper.cs25
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj4
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs81
-rw-r--r--MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs21
-rw-r--r--MediaBrowser.Server.Implementations/packages.config2
7 files changed, 70 insertions, 69 deletions
diff --git a/MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs b/MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs
index 7ac92408b..71cd20743 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs
@@ -28,8 +28,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
public Action OnComplete { get; set; }
private readonly ILogger _logger;
- // 256k
- private const int BufferSize = 262144;
+ private const int BufferSize = 81920;
/// <summary>
/// The _options
diff --git a/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs b/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs
index f5906f6b7..ae408f8d6 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs
@@ -75,8 +75,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
{
}
- // 256k
- private const int BufferSize = 262144;
+ private const int BufferSize = 81920;
/// <summary>
/// Writes to.
diff --git a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs b/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
index 60e7e2df3..9f949db92 100644
--- a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
+++ b/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
@@ -44,7 +44,6 @@ namespace MediaBrowser.Server.Implementations.Library
// Make sure DateCreated and DateModified have values
var fileInfo = directoryService.GetFile(item.Path);
- item.DateModified = fileSystem.GetLastWriteTimeUtc(fileInfo);
SetDateCreated(item, fileSystem, fileInfo);
EnsureName(item, fileInfo);
@@ -80,7 +79,7 @@ namespace MediaBrowser.Server.Implementations.Library
item.GetParents().Any(i => i.IsLocked);
// Make sure DateCreated and DateModified have values
- EnsureDates(fileSystem, item, args, true);
+ EnsureDates(fileSystem, item, args);
}
/// <summary>
@@ -125,8 +124,7 @@ namespace MediaBrowser.Server.Implementations.Library
/// <param name="fileSystem">The file system.</param>
/// <param name="item">The item.</param>
/// <param name="args">The args.</param>
- /// <param name="includeCreationTime">if set to <c>true</c> [include creation time].</param>
- private static void EnsureDates(IFileSystem fileSystem, BaseItem item, ItemResolveArgs args, bool includeCreationTime)
+ private static void EnsureDates(IFileSystem fileSystem, BaseItem item, ItemResolveArgs args)
{
if (fileSystem == null)
{
@@ -148,12 +146,7 @@ namespace MediaBrowser.Server.Implementations.Library
if (childData != null)
{
- if (includeCreationTime)
- {
- SetDateCreated(item, fileSystem, childData);
- }
-
- item.DateModified = fileSystem.GetLastWriteTimeUtc(childData);
+ SetDateCreated(item, fileSystem, childData);
}
else
{
@@ -161,21 +154,13 @@ namespace MediaBrowser.Server.Implementations.Library
if (fileData.Exists)
{
- if (includeCreationTime)
- {
- SetDateCreated(item, fileSystem, fileData);
- }
- item.DateModified = fileSystem.GetLastWriteTimeUtc(fileData);
+ SetDateCreated(item, fileSystem, fileData);
}
}
}
else
{
- if (includeCreationTime)
- {
- SetDateCreated(item, fileSystem, args.FileInfo);
- }
- item.DateModified = fileSystem.GetLastWriteTimeUtc(args.FileInfo);
+ SetDateCreated(item, fileSystem, args.FileInfo);
}
}
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
index 0f91d5285..2c4c74b35 100644
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
@@ -56,8 +56,8 @@
<Reference Include="Interfaces.IO">
<HintPath>..\packages\Interfaces.IO.1.0.0.5\lib\portable-net45+sl4+wp71+win8+wpa81\Interfaces.IO.dll</HintPath>
</Reference>
- <Reference Include="MediaBrowser.Naming, Version=1.0.6046.32295, Culture=neutral, processorArchitecture=MSIL">
- <HintPath>..\packages\MediaBrowser.Naming.1.0.0.53\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll</HintPath>
+ <Reference Include="MediaBrowser.Naming, Version=1.0.6046.41603, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\packages\MediaBrowser.Naming.1.0.0.54\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MoreLinq">
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index 7f556cfb0..63dd29e0d 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
@@ -257,7 +257,6 @@ namespace MediaBrowser.Server.Implementations.Persistence
_connection.AddColumn(Logger, "TypedBaseItems", "TrailerTypes", "Text");
_connection.AddColumn(Logger, "TypedBaseItems", "CriticRating", "Float");
_connection.AddColumn(Logger, "TypedBaseItems", "CriticRatingSummary", "Text");
- _connection.AddColumn(Logger, "TypedBaseItems", "DateModifiedDuringLastRefresh", "DATETIME");
_connection.AddColumn(Logger, "TypedBaseItems", "InheritedTags", "Text");
_connection.AddColumn(Logger, "TypedBaseItems", "CleanName", "Text");
_connection.AddColumn(Logger, "TypedBaseItems", "PresentationUniqueKey", "Text");
@@ -402,7 +401,6 @@ namespace MediaBrowser.Server.Implementations.Persistence
"Tags",
"SourceType",
"TrailerTypes",
- "DateModifiedDuringLastRefresh",
"OriginalTitle",
"PrimaryVersionId",
"DateLastMediaAdded",
@@ -523,7 +521,6 @@ namespace MediaBrowser.Server.Implementations.Persistence
"TrailerTypes",
"CriticRating",
"CriticRatingSummary",
- "DateModifiedDuringLastRefresh",
"InheritedTags",
"CleanName",
"PresentationUniqueKey",
@@ -902,15 +899,6 @@ namespace MediaBrowser.Server.Implementations.Persistence
_saveItemCommand.GetParameter(index++).Value = item.CriticRating;
_saveItemCommand.GetParameter(index++).Value = item.CriticRatingSummary;
- if (!item.DateModifiedDuringLastRefresh.HasValue || item.DateModifiedDuringLastRefresh.Value == default(DateTime))
- {
- _saveItemCommand.GetParameter(index++).Value = null;
- }
- else
- {
- _saveItemCommand.GetParameter(index++).Value = item.DateModifiedDuringLastRefresh.Value;
- }
-
var inheritedTags = item.GetInheritedTags();
if (inheritedTags.Count > 0)
{
@@ -1370,88 +1358,101 @@ namespace MediaBrowser.Server.Implementations.Persistence
}
}
- if (!reader.IsDBNull(51))
- {
- item.DateModifiedDuringLastRefresh = reader.GetDateTime(51).ToUniversalTime();
- }
+ var index = 51;
- if (!reader.IsDBNull(52))
+ if (!reader.IsDBNull(index))
{
- item.OriginalTitle = reader.GetString(52);
+ item.OriginalTitle = reader.GetString(index);
}
+ index++;
var video = item as Video;
if (video != null)
{
- if (!reader.IsDBNull(53))
+ if (!reader.IsDBNull(index))
{
- video.PrimaryVersionId = reader.GetString(53);
+ video.PrimaryVersionId = reader.GetString(index);
}
}
+ index++;
var folder = item as Folder;
- if (folder != null && !reader.IsDBNull(54))
+ if (folder != null && !reader.IsDBNull(index))
{
- folder.DateLastMediaAdded = reader.GetDateTime(54).ToUniversalTime();
+ folder.DateLastMediaAdded = reader.GetDateTime(index).ToUniversalTime();
}
+ index++;
- if (!reader.IsDBNull(55))
+ if (!reader.IsDBNull(index))
{
- item.Album = reader.GetString(55);
+ item.Album = reader.GetString(index);
}
+ index++;
- if (!reader.IsDBNull(56))
+ if (!reader.IsDBNull(index))
{
- item.CriticRating = reader.GetFloat(56);
+ item.CriticRating = reader.GetFloat(index);
}
+ index++;
- if (!reader.IsDBNull(57))
+ if (!reader.IsDBNull(index))
{
- item.CriticRatingSummary = reader.GetString(57);
+ item.CriticRatingSummary = reader.GetString(index);
}
+ index++;
- if (!reader.IsDBNull(58))
+ if (!reader.IsDBNull(index))
{
- item.IsVirtualItem = reader.GetBoolean(58);
+ item.IsVirtualItem = reader.GetBoolean(index);
}
+ index++;
var hasSeries = item as IHasSeries;
if (hasSeries != null)
{
- if (!reader.IsDBNull(59))
+ if (!reader.IsDBNull(index))
{
- hasSeries.SeriesName = reader.GetString(59);
+ hasSeries.SeriesName = reader.GetString(index);
}
}
+ index++;
var episode = item as Episode;
if (episode != null)
{
- if (!reader.IsDBNull(60))
+ if (!reader.IsDBNull(index))
{
- episode.SeasonName = reader.GetString(60);
+ episode.SeasonName = reader.GetString(index);
}
- if (!reader.IsDBNull(61))
+ index++;
+ if (!reader.IsDBNull(index))
{
- episode.SeasonId = reader.GetGuid(61);
+ episode.SeasonId = reader.GetGuid(index);
}
}
+ else
+ {
+ index++;
+ }
+ index++;
if (hasSeries != null)
{
- if (!reader.IsDBNull(62))
+ if (!reader.IsDBNull(index))
{
- hasSeries.SeriesId = reader.GetGuid(62);
+ hasSeries.SeriesId = reader.GetGuid(index);
}
}
+ index++;
if (hasSeries != null)
{
- if (!reader.IsDBNull(63))
+ if (!reader.IsDBNull(index))
{
- hasSeries.SeriesSortName = reader.GetString(63);
+ hasSeries.SeriesSortName = reader.GetString(index);
}
}
+ index++;
return item;
}
diff --git a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
index c2a4339f0..ddc1de9cd 100644
--- a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
+++ b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
@@ -119,12 +119,29 @@ namespace MediaBrowser.Server.Implementations.TV
// Avoid implicitly captured closure
var currentUser = user;
- return series
+ var allNextUp = series
.Select(i => GetNextUp(i, currentUser))
+ .Where(i => i.Item1 != null)
// Include if an episode was found, and either the series is not unwatched or the specific series was requested
- .Where(i => i.Item1 != null && (!i.Item3 || !string.IsNullOrWhiteSpace(request.SeriesId)))
.OrderByDescending(i => i.Item2)
.ThenByDescending(i => i.Item1.PremiereDate ?? DateTime.MinValue)
+ .ToList();
+
+ // If viewing all next up for all series, remove first episodes
+ if (string.IsNullOrWhiteSpace(request.SeriesId))
+ {
+ var withoutFirstEpisode = allNextUp
+ .Where(i => !i.Item3)
+ .ToList();
+
+ // But if that returns empty, keep those first episodes (avoid completely empty view)
+ if (withoutFirstEpisode.Count > 0)
+ {
+ allNextUp = withoutFirstEpisode;
+ }
+ }
+
+ return allNextUp
.Select(i => i.Item1)
.Take(request.Limit ?? int.MaxValue);
}
diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config
index 9ae0a126a..03f7160ae 100644
--- a/MediaBrowser.Server.Implementations/packages.config
+++ b/MediaBrowser.Server.Implementations/packages.config
@@ -4,7 +4,7 @@
<package id="Emby.XmlTv" version="1.0.0.55" targetFramework="net45" />
<package id="ini-parser" version="2.3.0" targetFramework="net45" />
<package id="Interfaces.IO" version="1.0.0.5" targetFramework="net45" />
- <package id="MediaBrowser.Naming" version="1.0.0.53" targetFramework="net45" />
+ <package id="MediaBrowser.Naming" version="1.0.0.54" targetFramework="net45" />
<package id="Mono.Nat" version="1.2.24.0" targetFramework="net45" />
<package id="morelinq" version="1.4.0" targetFramework="net45" />
<package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" />