aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-06 12:30:44 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-06 12:30:44 -0500
commit1539836ca1ca833715c9bc2b58cfc1efea47bb30 (patch)
tree355de76f26f99f916cf0f72574af3372ab009612
parent6aa106f1b7e5493b821240143f8cea6f0d4baddd (diff)
update didl xml
-rw-r--r--Emby.Dlna/ContentDirectory/ControlHandler.cs14
-rw-r--r--Emby.Dlna/Didl/DidlBuilder.cs55
-rw-r--r--Emby.Dlna/Service/BaseControlHandler.cs8
-rw-r--r--Emby.Dlna/Service/ControlErrorHandler.cs8
-rw-r--r--Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs2
-rw-r--r--MediaBrowser.Controller/Sync/IServerSyncProvider.cs4
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs16
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj4
-rw-r--r--MediaBrowser.Server.Implementations/packages.config2
-rw-r--r--Nuget/MediaBrowser.Common.nuspec2
-rw-r--r--Nuget/MediaBrowser.Server.Core.nuspec4
11 files changed, 68 insertions, 51 deletions
diff --git a/Emby.Dlna/ContentDirectory/ControlHandler.cs b/Emby.Dlna/ContentDirectory/ControlHandler.cs
index dc599b993..8cb59b056 100644
--- a/Emby.Dlna/ContentDirectory/ControlHandler.cs
+++ b/Emby.Dlna/ContentDirectory/ControlHandler.cs
@@ -232,10 +232,7 @@ namespace Emby.Dlna.ContentDirectory
writer.WriteAttributeString("xmlns", "upnp", null, NS_UPNP);
//didl.SetAttribute("xmlns:sec", NS_SEC);
- foreach (var att in _profile.XmlRootAttributes)
- {
- writer.WriteAttributeString(att.Name, att.Value);
- }
+ DidlBuilder.WriteXmlRootAttributes(_profile, writer);
var serverItem = GetItemFromObjectId(id, user);
var item = serverItem.Item;
@@ -282,7 +279,7 @@ namespace Emby.Dlna.ContentDirectory
}
}
}
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
//writer.WriteEndDocument();
}
@@ -345,10 +342,7 @@ namespace Emby.Dlna.ContentDirectory
writer.WriteAttributeString("xmlns", "upnp", null, NS_UPNP);
//didl.SetAttribute("xmlns:sec", NS_SEC);
- foreach (var att in _profile.XmlRootAttributes)
- {
- writer.WriteAttributeString(att.Name, att.Value);
- }
+ DidlBuilder.WriteXmlRootAttributes(_profile, writer);
var serverItem = GetItemFromObjectId(sparams["ContainerID"], user);
@@ -375,7 +369,7 @@ namespace Emby.Dlna.ContentDirectory
}
}
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
//writer.WriteEndDocument();
}
diff --git a/Emby.Dlna/Didl/DidlBuilder.cs b/Emby.Dlna/Didl/DidlBuilder.cs
index ee5c8fecd..3ad33f0fe 100644
--- a/Emby.Dlna/Didl/DidlBuilder.cs
+++ b/Emby.Dlna/Didl/DidlBuilder.cs
@@ -84,28 +84,39 @@ namespace Emby.Dlna.Didl
writer.WriteAttributeString("xmlns", "upnp", null, NS_UPNP);
//didl.SetAttribute("xmlns:sec", NS_SEC);
- foreach (var att in _profile.XmlRootAttributes)
- {
- writer.WriteAttributeString(att.Name, att.Value);
- }
+ WriteXmlRootAttributes(_profile, writer);
WriteItemElement(options, writer, item, context, null, deviceId, filter, streamInfo);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
//writer.WriteEndDocument();
}
return builder.ToString();
}
+ public static void WriteXmlRootAttributes(DeviceProfile profile, XmlWriter writer)
+ {
+ foreach (var att in profile.XmlRootAttributes)
+ {
+ var parts = att.Name.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
+ if (parts.Length == 2)
+ {
+ writer.WriteAttributeString(parts[0], parts[1], null, att.Value);
+ }
+ else
+ {
+ writer.WriteAttributeString(att.Name, att.Value);
+ }
+ }
+ }
+
public void WriteItemElement(DlnaOptions options, XmlWriter writer, BaseItem item, BaseItem context, StubType? contextStubType, string deviceId, Filter filter, StreamInfo streamInfo = null)
{
var clientId = GetClientId(item, null);
writer.WriteStartElement(string.Empty, "item", NS_DIDL);
- AddGeneralProperties(item, null, context, writer, filter);
-
writer.WriteAttributeString("restricted", "1");
writer.WriteAttributeString("id", clientId);
@@ -122,6 +133,8 @@ namespace Emby.Dlna.Didl
}
}
+ AddGeneralProperties(item, null, context, writer, filter);
+
//AddBookmarkInfo(item, user, element);
// refID?
@@ -142,7 +155,7 @@ namespace Emby.Dlna.Didl
}
AddCover(item, context, null, writer);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
private ILogger GetStreamBuilderLogger(DlnaOptions options)
@@ -236,7 +249,7 @@ namespace Emby.Dlna.Didl
writer.WriteAttributeString("sec", "type", null, info.Format.ToLower());
writer.WriteString(info.Url);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
else if (string.Equals(subtitleMode, "smi", StringComparison.OrdinalIgnoreCase))
{
@@ -245,7 +258,7 @@ namespace Emby.Dlna.Didl
writer.WriteAttributeString("protocolInfo", "http-get:*:smi/caption:*");
writer.WriteString(info.Url);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
else
{
@@ -254,7 +267,7 @@ namespace Emby.Dlna.Didl
writer.WriteAttributeString("protocolInfo", protocolInfo);
writer.WriteString(info.Url);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
return true;
@@ -349,7 +362,7 @@ namespace Emby.Dlna.Didl
writer.WriteString(url);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
private string GetDisplayName(BaseItem item, StubType? itemStubType, BaseItem context)
@@ -479,7 +492,7 @@ namespace Emby.Dlna.Didl
writer.WriteString(url);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
public static bool IsIdRoot(string id)
@@ -501,8 +514,6 @@ namespace Emby.Dlna.Didl
{
writer.WriteStartElement(string.Empty, "container", NS_DIDL);
- AddGeneralProperties(folder, stubType, context, writer, filter);
-
writer.WriteAttributeString("restricted", "0");
writer.WriteAttributeString("searchable", "1");
writer.WriteAttributeString("childCount", childCount.ToString(_usCulture));
@@ -536,9 +547,11 @@ namespace Emby.Dlna.Didl
}
}
+ AddGeneralProperties(folder, stubType, context, writer, filter);
+
AddCover(folder, context, stubType, writer);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
//private void AddBookmarkInfo(BaseItem item, User user, XmlElement element)
@@ -698,7 +711,7 @@ namespace Emby.Dlna.Didl
writer.WriteString("object.item");
}
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
private void AddPeople(BaseItem item, XmlWriter writer)
@@ -811,7 +824,7 @@ namespace Emby.Dlna.Didl
writer.WriteString(name);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
catch (XmlException)
{
@@ -897,7 +910,7 @@ namespace Emby.Dlna.Didl
writer.WriteStartElement("upnp", "albumArtURI", NS_UPNP);
writer.WriteAttributeString("dlna", "profileID", NS_DLNA, _profile.AlbumArtPn);
writer.WriteString(albumartUrlInfo.Url);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
// TOOD: Remove these default values
var iconUrlInfo = GetImageUrl(imageInfo, _profile.MaxIconWidth ?? 48, _profile.MaxIconHeight ?? 48, playbackPercentage, unplayedCount, "jpg");
@@ -932,7 +945,7 @@ namespace Emby.Dlna.Didl
writer.WriteStartElement("upnp", "albumArtURI", NS_UPNP);
writer.WriteAttributeString("dlna", "profileID", NS_DLNA, _profile.AlbumArtPn);
writer.WriteString(_serverAddress + "/Dlna/icons/people480.jpg");
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
writer.WriteElementString("upnp", "icon", NS_UPNP, _serverAddress + "/Dlna/icons/people48.jpg");
}
@@ -976,7 +989,7 @@ namespace Emby.Dlna.Didl
writer.WriteString(albumartUrlInfo.Url);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
private ImageDownloadInfo GetImageInfo(BaseItem item)
diff --git a/Emby.Dlna/Service/BaseControlHandler.cs b/Emby.Dlna/Service/BaseControlHandler.cs
index afc66b1d7..35203edae 100644
--- a/Emby.Dlna/Service/BaseControlHandler.cs
+++ b/Emby.Dlna/Service/BaseControlHandler.cs
@@ -99,12 +99,12 @@ namespace Emby.Dlna.Service
{
writer.WriteStartElement(i.Key);
writer.WriteString(i.Value);
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
}
- writer.WriteEndElement();
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
+ writer.WriteFullEndElement();
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
writer.WriteEndDocument();
}
diff --git a/Emby.Dlna/Service/ControlErrorHandler.cs b/Emby.Dlna/Service/ControlErrorHandler.cs
index 07b4dad60..a3cd77f0f 100644
--- a/Emby.Dlna/Service/ControlErrorHandler.cs
+++ b/Emby.Dlna/Service/ControlErrorHandler.cs
@@ -36,12 +36,12 @@ namespace Emby.Dlna.Service
writer.WriteStartElement("detail");
writer.WriteRaw("<UPnPError xmlns=\"urn:schemas-upnp-org:control-1-0\"><errorCode>401</errorCode><errorDescription>Invalid Action</errorDescription></UPnPError>");
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
- writer.WriteEndElement();
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
+ writer.WriteFullEndElement();
- writer.WriteEndElement();
+ writer.WriteFullEndElement();
writer.WriteEndDocument();
}
diff --git a/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs b/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs
index 99996c252..a338ae23a 100644
--- a/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs
+++ b/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs
@@ -33,7 +33,7 @@ namespace Emby.Server.Implementations.LiveTv
Protocol = mediaSource.Protocol,
MediaType = isAudio ? DlnaProfileType.Audio : DlnaProfileType.Video,
ExtractChapters = false,
- AnalyzeDurationSections = 3
+ AnalyzeDurationSections = 2
}, cancellationToken).ConfigureAwait(false);
diff --git a/MediaBrowser.Controller/Sync/IServerSyncProvider.cs b/MediaBrowser.Controller/Sync/IServerSyncProvider.cs
index 1869d6126..3913e86f0 100644
--- a/MediaBrowser.Controller/Sync/IServerSyncProvider.cs
+++ b/MediaBrowser.Controller/Sync/IServerSyncProvider.cs
@@ -40,10 +40,6 @@ namespace MediaBrowser.Controller.Sync
/// <returns>Task&lt;Stream&gt;.</returns>
Task<Stream> GetFile(string id, SyncTarget target, IProgress<double> progress, CancellationToken cancellationToken);
- /// <summary>
- /// Gets the files.
- /// </summary>
- Task<QueryResult<FileSystemMetadata>> GetFiles(string id, SyncTarget target, CancellationToken cancellationToken);
Task<QueryResult<FileSystemMetadata>> GetFiles(string[] pathParts, SyncTarget target, CancellationToken cancellationToken);
Task<QueryResult<FileSystemMetadata>> GetFiles(SyncTarget target, CancellationToken cancellationToken);
}
diff --git a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs
index 20b5eb05d..6acdccf3d 100644
--- a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
+using System.Globalization;
using MediaBrowser.Model.Diagnostics;
using MediaBrowser.Model.Logging;
@@ -40,9 +41,11 @@ namespace MediaBrowser.MediaEncoding.Encoder
{
}
+ output = output ?? string.Empty;
+
if (logOutput)
{
- _logger.Info("ffmpeg info: {0}", output ?? string.Empty);
+ _logger.Info("ffmpeg info: {0}", output);
}
if (string.IsNullOrWhiteSpace(output))
@@ -55,6 +58,17 @@ namespace MediaBrowser.MediaEncoding.Encoder
return false;
}
+ output = " " + output + " ";
+
+ for (var i = 2013; i <= 2015; i++)
+ {
+ var yearString = i.ToString(CultureInfo.InvariantCulture);
+ if (output.IndexOf(" " + yearString + " ", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ return false;
+ }
+ }
+
return true;
}
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
index 10ebe4ea6..780dcb676 100644
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
@@ -76,8 +76,8 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\ThirdParty\SharpCompress\SharpCompress.dll</HintPath>
</Reference>
- <Reference Include="SocketHttpListener, Version=1.0.6109.26162, Culture=neutral, processorArchitecture=MSIL">
- <HintPath>..\packages\SocketHttpListener.1.0.0.40\lib\net45\SocketHttpListener.dll</HintPath>
+ <Reference Include="SocketHttpListener, Version=1.0.6153.41639, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\packages\SocketHttpListener.1.0.0.43\lib\net45\SocketHttpListener.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config
index 5ba04f7a8..415ba1652 100644
--- a/MediaBrowser.Server.Implementations/packages.config
+++ b/MediaBrowser.Server.Implementations/packages.config
@@ -5,6 +5,6 @@
<package id="MediaBrowser.Naming" version="1.0.0.59" targetFramework="net46" />
<package id="Microsoft.IO.RecyclableMemoryStream" version="1.1.0.0" targetFramework="net46" />
<package id="Patterns.Logging" version="1.0.0.6" targetFramework="net46" />
- <package id="SocketHttpListener" version="1.0.0.40" targetFramework="net45" />
+ <package id="SocketHttpListener" version="1.0.0.43" targetFramework="net46" />
<package id="UniversalDetector" version="1.0.1" targetFramework="net46" />
</packages> \ No newline at end of file
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index b94b54736..e813c0a0a 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common</id>
- <version>3.0.683</version>
+ <version>3.0.684</version>
<title>Emby.Common</title>
<authors>Emby Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index c0d5d2705..9b0c10cbb 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Server.Core</id>
- <version>3.0.683</version>
+ <version>3.0.684</version>
<title>Emby.Server.Core</title>
<authors>Emby Team</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Emby Server.</description>
<copyright>Copyright © Emby 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.683" />
+ <dependency id="MediaBrowser.Common" version="3.0.684" />
</dependencies>
</metadata>
<files>