diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index ffbb5229b0..ea7eaa9471 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -14,7 +14,6 @@ using ServiceStack.Text.Controller;
using ServiceStack.Web;
using System;
using System.Collections.Generic;
-using System.Globalization;
using System.IO;
using System.Linq;
using System.Threading;
@@ -341,7 +340,7 @@ namespace MediaBrowser.Api.Images
ImageIndex = imageIndex,
ImageType = info.Type,
ImageTag = _imageProcessor.GetImageCacheTag(item, info),
- Size = info.Length ?? fileInfo.Length,
+ Size = fileInfo.Length,
Width = Convert.ToInt32(size.Width),
Height = Convert.ToInt32(size.Height)
};
@@ -365,7 +364,21 @@ namespace MediaBrowser.Api.Images
_libraryManager.RootFolder :
_libraryManager.GetItemById(request.Id);
- return GetImage(request, item);
+ return GetImage(request, item, false);
+ }
+
+ ///
+ /// Gets the specified request.
+ ///
+ /// The request.
+ /// System.Object.
+ public object Head(GetItemImage request)
+ {
+ var item = string.IsNullOrEmpty(request.Id) ?
+ _libraryManager.RootFolder :
+ _libraryManager.GetItemById(request.Id);
+
+ return GetImage(request, item, true);
}
///
@@ -377,7 +390,7 @@ namespace MediaBrowser.Api.Images
{
var item = _userManager.Users.First(i => i.Id == request.Id);
- return GetImage(request, item);
+ return GetImage(request, item, false);
}
public object Get(GetItemByNameImage request)
@@ -387,7 +400,7 @@ namespace MediaBrowser.Api.Images
var item = GetItemByName(request.Name, type, _libraryManager);
- return GetImage(request, item);
+ return GetImage(request, item, false);
}
///
@@ -484,10 +497,10 @@ namespace MediaBrowser.Api.Images
///
/// The request.
/// The item.
+ /// if set to true [is head request].
/// System.Object.
- ///
- ///
- public object GetImage(ImageRequest request, IHasImages item)
+ ///
+ public object GetImage(ImageRequest request, IHasImages item, bool isHeadRequest)
{
var imageInfo = GetImageInfo(request, item);
@@ -534,7 +547,8 @@ namespace MediaBrowser.Api.Images
supportedImageEnhancers,
contentType,
cacheDuration,
- responseHeaders)
+ responseHeaders,
+ isHeadRequest)
.Result;
}
@@ -544,7 +558,8 @@ namespace MediaBrowser.Api.Images
List enhancers,
string contentType,
TimeSpan? cacheDuration,
- IDictionary headers)
+ IDictionary headers,
+ bool isHeadRequest)
{
var cropwhitespace = request.Type == ImageType.Logo || request.Type == ImageType.Art;
@@ -574,7 +589,7 @@ namespace MediaBrowser.Api.Images
var file = await _imageProcessor.ProcessImage(options).ConfigureAwait(false);
- return ResultFactory.GetStaticFileResult(Request, file, contentType, cacheDuration, FileShare.Read, headers);
+ return ResultFactory.GetStaticFileResult(Request, file, contentType, cacheDuration, FileShare.Read, headers, isHeadRequest);
}
private string GetMimeType(ImageOutputFormat format, string path)
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 34056c240d..fdffa60d0a 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -1309,8 +1309,7 @@ namespace MediaBrowser.Controller.Entities
{
Path = file.FullName,
Type = type,
- DateModified = FileSystem.GetLastWriteTimeUtc(file),
- Length = ((FileInfo)file).Length
+ DateModified = FileSystem.GetLastWriteTimeUtc(file)
});
}
else
@@ -1421,14 +1420,11 @@ namespace MediaBrowser.Controller.Entities
return null;
}
- var info = new FileInfo(path);
-
return new ItemImageInfo
{
Path = path,
- DateModified = FileSystem.GetLastWriteTimeUtc(info),
- Type = imageType,
- Length = info.Length
+ DateModified = FileSystem.GetLastWriteTimeUtc(path),
+ Type = imageType
};
}
diff --git a/MediaBrowser.Controller/Entities/ItemImageInfo.cs b/MediaBrowser.Controller/Entities/ItemImageInfo.cs
index fe8193c5fe..80aec64824 100644
--- a/MediaBrowser.Controller/Entities/ItemImageInfo.cs
+++ b/MediaBrowser.Controller/Entities/ItemImageInfo.cs
@@ -10,7 +10,5 @@ namespace MediaBrowser.Controller.Entities
public ImageType Type { get; set; }
public DateTime DateModified { get; set; }
-
- public long? Length { get; set; }
}
}
diff --git a/MediaBrowser.Dlna/Didl/DidlBuilder.cs b/MediaBrowser.Dlna/Didl/DidlBuilder.cs
index 595e0e00d9..279a40a73c 100644
--- a/MediaBrowser.Dlna/Didl/DidlBuilder.cs
+++ b/MediaBrowser.Dlna/Didl/DidlBuilder.cs
@@ -636,18 +636,26 @@ namespace MediaBrowser.Dlna.Didl
if (!_profile.EnableAlbumArtInDidl)
{
- return;
+ if (!(item is Photo) && !(item is Video))
+ {
+ return;
+ }
}
- AddImageResElement(item, element, 4096, 4096, "jpg");
- AddImageResElement(item, element, 4096, 4096, "png");
- AddImageResElement(item, element, 1024, 768, "jpg");
- AddImageResElement(item, element, 640, 480, "jpg");
- AddImageResElement(item, element, 160, 160, "jpg");
- AddImageResElement(item, element, 160, 160, "png");
+ AddImageResElement(item, element, 4096, 4096, "jpg", "JPEG_LRG");
+ AddImageResElement(item, element, 4096, 4096, "png", "PNG_LRG");
+ AddImageResElement(item, element, 1024, 768, "jpg", "JPEG_MED");
+ AddImageResElement(item, element, 640, 480, "jpg", "JPEG_SM");
+ AddImageResElement(item, element, 160, 160, "jpg", "JPEG_TN");
+ AddImageResElement(item, element, 160, 160, "png", "PNG_TN");
}
- private void AddImageResElement(BaseItem item, XmlElement element, int maxWidth, int maxHeight, string format)
+ private void AddImageResElement(BaseItem item,
+ XmlElement element,
+ int maxWidth,
+ int maxHeight,
+ string format,
+ string org_Pn)
{
var imageInfo = GetImageInfo(item);
@@ -667,7 +675,8 @@ namespace MediaBrowser.Dlna.Didl
var width = albumartUrlInfo.Width;
var height = albumartUrlInfo.Height;
- var contentFeatures = new ContentFeatureBuilder(_profile).BuildImageHeader(format, width, height, imageInfo.IsDirectStream);
+ var contentFeatures = new ContentFeatureBuilder(_profile)
+ .BuildImageHeader(format, width, height, imageInfo.IsDirectStream, org_Pn);
res.SetAttribute("protocolInfo", String.Format(
"http-get:*:{0}:{1}",
@@ -675,14 +684,6 @@ namespace MediaBrowser.Dlna.Didl
contentFeatures
));
- res.SetAttribute("colorDepth", "24");
-
- if (imageInfo.IsDirectStream)
- {
- var length = imageInfo.ItemImageInfo.Length ?? new FileInfo(imageInfo.File).Length;
- res.SetAttribute("size", length.ToString(_usCulture));
- }
-
if (width.HasValue && height.HasValue)
{
res.SetAttribute("resolution", string.Format("{0}x{1}", width.Value, height.Value));
diff --git a/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs b/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs
index b89d8b73b6..98ebfcdf2a 100644
--- a/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs
+++ b/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs
@@ -15,15 +15,15 @@ namespace MediaBrowser.Model.Dlna
public string BuildImageHeader(string container,
int? width,
int? height,
- bool isDirectStream)
+ bool isDirectStream,
+ string orgPn = null)
{
string orgOp = ";DLNA.ORG_OP=" + DlnaMaps.GetImageOrgOpValue();
// 0 = native, 1 = transcoded
var orgCi = isDirectStream ? ";DLNA.ORG_CI=0" : ";DLNA.ORG_CI=1";
- DlnaFlags flagValue = DlnaFlags.StreamingTransferMode |
- DlnaFlags.BackgroundTransferMode |
+ DlnaFlags flagValue = DlnaFlags.BackgroundTransferMode |
DlnaFlags.InteractiveTransferMode |
DlnaFlags.DlnaV15;
@@ -34,7 +34,10 @@ namespace MediaBrowser.Model.Dlna
width,
height);
- string orgPn = mediaProfile == null ? null : mediaProfile.OrgPn;
+ if (string.IsNullOrEmpty(orgPn))
+ {
+ orgPn = mediaProfile == null ? null : mediaProfile.OrgPn;
+ }
if (string.IsNullOrEmpty(orgPn))
{
@@ -66,10 +69,10 @@ namespace MediaBrowser.Model.Dlna
DlnaFlags.InteractiveTransferMode |
DlnaFlags.DlnaV15;
- if (isDirectStream)
- {
- flagValue = flagValue | DlnaFlags.ByteBasedSeek;
- }
+ //if (isDirectStream)
+ //{
+ // flagValue = flagValue | DlnaFlags.ByteBasedSeek;
+ //}
//else if (runtimeTicks.HasValue)
//{
// flagValue = flagValue | DlnaFlags.TimeBasedSeek;
@@ -125,10 +128,10 @@ namespace MediaBrowser.Model.Dlna
DlnaFlags.InteractiveTransferMode |
DlnaFlags.DlnaV15;
- if (isDirectStream)
- {
- flagValue = flagValue | DlnaFlags.ByteBasedSeek;
- }
+ //if (isDirectStream)
+ //{
+ // flagValue = flagValue | DlnaFlags.ByteBasedSeek;
+ //}
//else if (runtimeTicks.HasValue)
//{
// flagValue = flagValue | DlnaFlags.TimeBasedSeek;
diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
index b3ddcee79d..576f83d2ee 100644
--- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
+++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
@@ -123,7 +123,8 @@
"HeaderMyViews": "My Views",
"HeaderLibraryFolders": "Media Folders",
"HeaderLatestMedia": "Latest Media",
- "ButtonMore": "More...",
+ "ButtonMoreItems": "More...",
+ "ButtonMore": "More",
"HeaderFavoriteMovies": "Favorite Movies",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderFavoriteEpisodes": "Favorite Episodes",
diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json
index a88ba85922..605bbea0d8 100644
--- a/MediaBrowser.Server.Implementations/Localization/Server/server.json
+++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json
@@ -964,5 +964,6 @@
"OptionReportBooks": "Books",
"OptionReportArtists": "Artists",
"OptionReportAlbums": "Albums",
- "OptionReportAdultVideos": "Adult videos"
+ "OptionReportAdultVideos": "Adult videos",
+ "ButtonMore": "More"
}
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index a3343b7e63..03fc888db0 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/Nuget/MediaBrowser.Common.Internal.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Common.Internal
- 3.0.424
+ 3.0.425
MediaBrowser.Common.Internal
Luke
ebr,Luke,scottisafool
@@ -12,7 +12,7 @@
Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.
Copyright © Media Browser 2013
-
+
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index 398f74d6a1..7048a961d1 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Common
- 3.0.424
+ 3.0.425
MediaBrowser.Common
Media Browser Team
ebr,Luke,scottisafool
diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec
index 016fbc4251..aa7bec8fd9 100644
--- a/Nuget/MediaBrowser.Model.Signed.nuspec
+++ b/Nuget/MediaBrowser.Model.Signed.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Model.Signed
- 3.0.424
+ 3.0.425
MediaBrowser.Model - Signed Edition
Media Browser Team
ebr,Luke,scottisafool
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index 703103ed38..52523d8bb9 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Server.Core
- 3.0.424
+ 3.0.425
Media Browser.Server.Core
Media Browser Team
ebr,Luke,scottisafool
@@ -12,7 +12,7 @@
Contains core components required to build plugins for Media Browser Server.
Copyright © Media Browser 2013
-
+