aboutsummaryrefslogtreecommitdiff
path: root/Emby.Dlna
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2019-11-13 16:40:34 +0100
committerBond-009 <bond.009@outlook.com>2019-11-13 16:40:34 +0100
commitd161b9cbfcb9e149a2d4c9acfb5bae0b7ee333e3 (patch)
tree97d2e65afeb483c5d4d2a95ac0a03c8996773225 /Emby.Dlna
parentaea4ef94713cc6806dc3bfc2bb31b8f05160e4e7 (diff)
Fix GetPathValue function for DLNA service
Diffstat (limited to 'Emby.Dlna')
-rw-r--r--Emby.Dlna/Api/DlnaServerService.cs33
1 files changed, 25 insertions, 8 deletions
diff --git a/Emby.Dlna/Api/DlnaServerService.cs b/Emby.Dlna/Api/DlnaServerService.cs
index 8bf3797f8..2c9be4bff 100644
--- a/Emby.Dlna/Api/DlnaServerService.cs
+++ b/Emby.Dlna/Api/DlnaServerService.cs
@@ -6,6 +6,7 @@ using System.Text;
using System.Threading.Tasks;
using Emby.Dlna.Main;
using MediaBrowser.Common.Extensions;
+using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Services;
@@ -108,12 +109,13 @@ namespace Emby.Dlna.Api
public class DlnaServerService : IService, IRequiresRequest
{
- private readonly IDlnaManager _dlnaManager;
-
private const string XMLContentType = "text/xml; charset=UTF-8";
+ private readonly IDlnaManager _dlnaManager;
+ private readonly IHttpResultFactory _resultFactory;
+ private readonly IServerConfigurationManager _configurationManager;
+
public IRequest Request { get; set; }
- private IHttpResultFactory _resultFactory;
private IContentDirectory ContentDirectory => DlnaEntryPoint.Current.ContentDirectory;
@@ -121,10 +123,14 @@ namespace Emby.Dlna.Api
private IMediaReceiverRegistrar MediaReceiverRegistrar => DlnaEntryPoint.Current.MediaReceiverRegistrar;
- public DlnaServerService(IDlnaManager dlnaManager, IHttpResultFactory httpResultFactory)
+ public DlnaServerService(
+ IDlnaManager dlnaManager,
+ IHttpResultFactory httpResultFactory,
+ IServerConfigurationManager configurationManager)
{
_dlnaManager = dlnaManager;
_resultFactory = httpResultFactory;
+ _configurationManager = configurationManager;
}
private string GetHeader(string name)
@@ -205,14 +211,25 @@ namespace Emby.Dlna.Api
var pathInfo = Parse(Request.PathInfo);
var first = pathInfo[0];
+ string baseUrl = _configurationManager.Configuration.BaseUrl;
+
// backwards compatibility
- // TODO: Work out what this is doing.
- if (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase) ||
- string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase) ||
- string.Equals(first, "jellyfin", StringComparison.OrdinalIgnoreCase))
+ if (baseUrl.Length == 0
+ && (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase)
+ || string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase)))
{
index++;
}
+ else if (string.Equals(first, baseUrl))
+ {
+ index++;
+ var second = pathInfo[1];
+ if (string.Equals(second, "mediabrowser", StringComparison.OrdinalIgnoreCase)
+ || string.Equals(second, "emby", StringComparison.OrdinalIgnoreCase))
+ {
+ index++;
+ }
+ }
return pathInfo[index];
}