Преглед изворни кода

added dlna headers for images

Luke Pulverenti пре 11 година
родитељ
комит
9254c37d52
2 измењених фајлова са 10 додато и 4 уклоњено
  1. 4 3
      MediaBrowser.Api/BaseApiService.cs
  2. 6 1
      MediaBrowser.Api/Images/ImageService.cs

+ 4 - 3
MediaBrowser.Api/BaseApiService.cs

@@ -77,7 +77,7 @@ namespace MediaBrowser.Api
         {
             return ToOptimizedResult(result);
         }
-        
+
         /// <summary>
         /// To the cached result.
         /// </summary>
@@ -87,12 +87,13 @@ namespace MediaBrowser.Api
         /// <param name="cacheDuration">Duration of the cache.</param>
         /// <param name="factoryFn">The factory fn.</param>
         /// <param name="contentType">Type of the content.</param>
+        /// <param name="responseHeaders">The response headers.</param>
         /// <returns>System.Object.</returns>
         /// <exception cref="System.ArgumentNullException">cacheKey</exception>
-        protected object ToCachedResult<T>(Guid cacheKey, DateTime lastDateModified, TimeSpan? cacheDuration, Func<T> factoryFn, string contentType)
+        protected object ToCachedResult<T>(Guid cacheKey, DateTime lastDateModified, TimeSpan? cacheDuration, Func<T> factoryFn, string contentType, IDictionary<string,string> responseHeaders = null)
           where T : class
         {
-            return ResultFactory.GetCachedResult(Request, cacheKey, lastDateModified, cacheDuration, factoryFn, contentType);
+            return ResultFactory.GetCachedResult(Request, cacheKey, lastDateModified, cacheDuration, factoryFn, contentType, responseHeaders);
         }
 
         /// <summary>

+ 6 - 1
MediaBrowser.Api/Images/ImageService.cs

@@ -707,6 +707,11 @@ namespace MediaBrowser.Api.Images
             var currentItem = item;
             var currentRequest = request;
 
+            var responseHeaders = new Dictionary<string, string>();
+
+            responseHeaders.Add("transferMode.dlna.org", "Interactive");
+            responseHeaders.Add("realTimeInfo.dlna.org", "DLNA.ORG_TLAG=*");
+
             return ToCachedResult(cacheGuid, originalFileImageDateModified, cacheDuration, () => new ImageWriter
             {
                 Item = currentItem,
@@ -716,7 +721,7 @@ namespace MediaBrowser.Api.Images
                 OriginalImagePath = imageInfo.Path,
                 ImageProcessor = _imageProcessor
 
-            }, contentType);
+            }, contentType, responseHeaders);
         }
 
         private string GetMimeType(ImageOutputFormat format, string path)