aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs5
-rw-r--r--MediaBrowser.Controller/Entities/CollectionFolder.cs15
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs2
-rw-r--r--MediaBrowser.Controller/IO/StreamHelper.cs23
4 files changed, 24 insertions, 21 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 5b4cd5900..7f6949feb 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -1376,11 +1376,6 @@ namespace MediaBrowser.Controller.Entities
return list;
}
- internal virtual bool IsValidFromResolver(BaseItem newItem)
- {
- return true;
- }
-
internal virtual ItemUpdateType UpdateFromResolvedItem(BaseItem newItem)
{
var updateType = ItemUpdateType.None;
diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs
index 5fb9e517c..03fca60c8 100644
--- a/MediaBrowser.Controller/Entities/CollectionFolder.cs
+++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs
@@ -265,21 +265,6 @@ namespace MediaBrowser.Controller.Entities
return changed;
}
- internal override bool IsValidFromResolver(BaseItem newItem)
- {
- var newCollectionFolder = newItem as CollectionFolder;
-
- if (newCollectionFolder != null)
- {
- if (!string.Equals(CollectionType, newCollectionFolder.CollectionType, StringComparison.OrdinalIgnoreCase))
- {
- return false;
- }
- }
-
- return base.IsValidFromResolver(newItem);
- }
-
private ItemResolveArgs CreateResolveArgs(IDirectoryService directoryService, bool setPhysicalLocations)
{
var path = ContainingFolderPath;
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 12183aec2..fb283067f 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -416,7 +416,7 @@ namespace MediaBrowser.Controller.Entities
{
BaseItem currentChild;
- if (currentChildren.TryGetValue(child.Id, out currentChild) && currentChild.IsValidFromResolver(child))
+ if (currentChildren.TryGetValue(child.Id, out currentChild))
{
validChildren.Add(currentChild);
diff --git a/MediaBrowser.Controller/IO/StreamHelper.cs b/MediaBrowser.Controller/IO/StreamHelper.cs
index 106fec41f..5aec9a182 100644
--- a/MediaBrowser.Controller/IO/StreamHelper.cs
+++ b/MediaBrowser.Controller/IO/StreamHelper.cs
@@ -1,6 +1,7 @@
using System.IO;
using System.Threading;
using System;
+using System.Threading.Tasks;
namespace MediaBrowser.Controller.IO
{
@@ -23,5 +24,27 @@ namespace MediaBrowser.Controller.IO
}
}
}
+
+ public static async Task CopyToAsync(Stream source, Stream destination, int bufferSize, IProgress<double> progress, long contentLength, CancellationToken cancellationToken)
+ {
+ byte[] buffer = new byte[bufferSize];
+ int read;
+ long totalRead = 0;
+
+ while ((read = source.Read(buffer, 0, buffer.Length)) != 0)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+
+ destination.Write(buffer, 0, read);
+
+ totalRead += read;
+
+ double pct = totalRead;
+ pct /= contentLength;
+ pct *= 100;
+
+ progress.Report(pct);
+ }
+ }
}
}