commit
ca76a22343
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -272,106 +272,114 @@
|
|||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-700.svg">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-700.svg</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-regular.svg">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-regular.svg</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\images\explorer_icons.png">
|
||||
<Link>swagger-ui\images\explorer_icons.png</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\images\logo_small.png">
|
||||
<Link>swagger-ui\images\logo_small.png</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\images\pet_store_api.png">
|
||||
<Link>swagger-ui\images\pet_store_api.png</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\images\throbber.gif">
|
||||
<Link>swagger-ui\images\throbber.gif</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\images\wordnik_api.png">
|
||||
<Link>swagger-ui\images\wordnik_api.png</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\index.html">
|
||||
<Link>swagger-ui\index.html</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\backbone-min.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\backbone-min.js">
|
||||
<Link>swagger-ui\lib\backbone-min.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\handlebars-2.0.0.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\handlebars-2.0.0.js">
|
||||
<Link>swagger-ui\lib\handlebars-2.0.0.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\highlight.7.3.pack.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\highlight.7.3.pack.js">
|
||||
<Link>swagger-ui\lib\highlight.7.3.pack.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\jquery-1.8.0.min.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\jquery-1.8.0.min.js">
|
||||
<Link>swagger-ui\lib\jquery-1.8.0.min.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\jquery.ba-bbq.min.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\jquery.ba-bbq.min.js">
|
||||
<Link>swagger-ui\lib\jquery.ba-bbq.min.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\jquery.slideto.min.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\jquery.slideto.min.js">
|
||||
<Link>swagger-ui\lib\jquery.slideto.min.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\jquery.wiggle.min.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\jquery.wiggle.min.js">
|
||||
<Link>swagger-ui\lib\jquery.wiggle.min.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\marked.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\marked.js">
|
||||
<Link>swagger-ui\lib\marked.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\shred.bundle.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\shred.bundle.js">
|
||||
<Link>swagger-ui\lib\shred.bundle.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\shred\content.js">
|
||||
<Link>swagger-ui\lib\shred\content.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\swagger-client.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\swagger-client.js">
|
||||
<Link>swagger-ui\lib\swagger-client.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\swagger-oauth.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\swagger-oauth.js">
|
||||
<Link>swagger-ui\lib\swagger-oauth.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\lib\underscore-min.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\underscore-min.js">
|
||||
<Link>swagger-ui\lib\underscore-min.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\o2c.html">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\o2c.html">
|
||||
<Link>swagger-ui\o2c.html</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\patch.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\patch.js">
|
||||
<Link>swagger-ui\patch.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\swagger-ui.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\swagger-ui.js">
|
||||
<Link>swagger-ui\swagger-ui.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\swagger-ui.min.js">
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\swagger-ui.min.js">
|
||||
<Link>swagger-ui\swagger-ui.min.js</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-700.eot">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-700.eot</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-700.ttf">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-700.ttf</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-700.woff">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-700.woff</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-700.woff2">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-700.woff2</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-regular.eot">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-regular.eot</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-regular.ttf">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-regular.ttf</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-regular.woff">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-regular.woff</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-regular.woff2">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-regular.woff2</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\css\reset.css">
|
||||
<Link>swagger-ui\css\reset.css</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\css\screen.css">
|
||||
<Link>swagger-ui\css\screen.css</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\ThirdParty\ServiceStack\swagger-ui\css\typography.css">
|
||||
<Link>swagger-ui\css\typography.css</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<EmbeddedResource Include="Localization\Core\ar.json" />
|
||||
<EmbeddedResource Include="Localization\Core\bg-BG.json" />
|
||||
<EmbeddedResource Include="Localization\Core\ca.json" />
|
||||
|
@ -413,38 +421,6 @@
|
|||
<EmbeddedResource Include="Localization\Core\zh-HK.json" />
|
||||
<EmbeddedResource Include="Localization\Core\zh-TW.json" />
|
||||
<EmbeddedResource Include="Localization\countries.json" />
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-700.eot">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-700.eot</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-700.ttf">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-700.ttf</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-700.woff">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-700.woff</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-700.woff2">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-700.woff2</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-regular.eot">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-regular.eot</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-regular.ttf">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-regular.ttf</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-regular.woff">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-regular.woff</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\fonts\droid-sans-v6-latin-regular.woff2">
|
||||
<Link>swagger-ui\fonts\droid-sans-v6-latin-regular.woff2</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
@ -498,20 +474,6 @@
|
|||
<ItemGroup>
|
||||
<EmbeddedResource Include="Localization\Ratings\us.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\css\reset.css">
|
||||
<Link>swagger-ui\css\reset.css</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\css\screen.css">
|
||||
<Link>swagger-ui\css\screen.css</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="..\thirdparty\servicestack\swagger-ui\css\typography.css">
|
||||
<Link>swagger-ui\css\typography.css</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -40,10 +40,6 @@ namespace MediaBrowser.Controller.Sync
|
|||
/// <returns>Task<Stream>.</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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -37,10 +37,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DvdLib", "DvdLib\DvdLib.csp
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.Photos", "Emby.Photos\Emby.Photos.csproj", "{89AB4548-770D-41FD-A891-8DAFF44F452C}"
|
||||
EndProject
|
||||
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Emby.Common.Implementations", "Emby.Common.Implementations\Emby.Common.Implementations.xproj", "{5A27010A-09C6-4E86-93EA-437484C10917}"
|
||||
EndProject
|
||||
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Mono.Nat", "Mono.Nat\Mono.Nat.xproj", "{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.Server.Implementations", "Emby.Server.Implementations\Emby.Server.Implementations.csproj", "{E383961B-9356-4D5D-8233-9A1079D03055}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RSSDP", "RSSDP\RSSDP.csproj", "{21002819-C39A-4D3E-BE83-2A276A77FB1F}"
|
||||
|
@ -232,28 +228,6 @@ Global
|
|||
{89AB4548-770D-41FD-A891-8DAFF44F452C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{89AB4548-770D-41FD-A891-8DAFF44F452C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{89AB4548-770D-41FD-A891-8DAFF44F452C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Release Mono|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Release Mono|x86.ActiveCfg = Release|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Release Mono|x86.Build.0 = Release|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5A27010A-09C6-4E86-93EA-437484C10917}.Release|x86.Build.0 = Release|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Release Mono|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Release Mono|x86.ActiveCfg = Release|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Release Mono|x86.Build.0 = Release|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4ACAB6A2-AC9A-4B50-BAEC-1FE4A1F3B8BC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E383961B-9356-4D5D-8233-9A1079D03055}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E383961B-9356-4D5D-8233-9A1079D03055}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E383961B-9356-4D5D-8233-9A1079D03055}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
|
|
|
@ -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.6154.22657, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SocketHttpListener.1.0.0.44\lib\net45\SocketHttpListener.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
|
|
|
@ -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.44" targetFramework="net46" />
|
||||
<package id="UniversalDetector" version="1.0.1" targetFramework="net46" />
|
||||
</packages>
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue
Block a user