change controller project targeting
This commit is contained in:
parent
23d7afdf68
commit
675b643115
|
@ -1,7 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Net;
|
|
||||||
using MediaBrowser.Model.Events;
|
using MediaBrowser.Model.Events;
|
||||||
|
using MediaBrowser.Model.Net;
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Dlna
|
namespace MediaBrowser.Controller.Dlna
|
||||||
{
|
{
|
||||||
|
@ -15,6 +15,7 @@ namespace MediaBrowser.Controller.Dlna
|
||||||
{
|
{
|
||||||
public Uri Location { get; set; }
|
public Uri Location { get; set; }
|
||||||
public Dictionary<string, string> Headers { get; set; }
|
public Dictionary<string, string> Headers { get; set; }
|
||||||
public IPEndPoint LocalEndPoint { get; set; }
|
public IpAddressInfo LocalIpAddress { get; set; }
|
||||||
|
public int LocalPort { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using MediaBrowser.Model.Net;
|
||||||
|
|
||||||
namespace MediaBrowser.Controller
|
namespace MediaBrowser.Controller
|
||||||
{
|
{
|
||||||
|
@ -66,7 +67,7 @@ namespace MediaBrowser.Controller
|
||||||
/// Gets the local ip address.
|
/// Gets the local ip address.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value>The local ip address.</value>
|
/// <value>The local ip address.</value>
|
||||||
Task<List<IPAddress>> GetLocalIpAddresses();
|
Task<List<IpAddressInfo>> GetLocalIpAddresses();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the local API URL.
|
/// Gets the local API URL.
|
||||||
|
@ -84,9 +85,7 @@ namespace MediaBrowser.Controller
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the local API URL.
|
/// Gets the local API URL.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ipAddress">The ip address.</param>
|
string GetLocalApiUrl(string ipAddress, bool isIpv6);
|
||||||
/// <returns>System.String.</returns>
|
|
||||||
string GetLocalApiUrl(IPAddress ipAddress);
|
|
||||||
|
|
||||||
void LaunchUrl(string url);
|
void LaunchUrl(string url);
|
||||||
|
|
||||||
|
|
|
@ -12,9 +12,8 @@
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>Profile7</TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||||
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
|
|
@ -1,16 +1,7 @@
|
||||||
{
|
{
|
||||||
"supports": {
|
"supports": {},
|
||||||
"net46.app": {},
|
"dependencies": {},
|
||||||
"uwp.10.0.app": {},
|
|
||||||
"dnxcore50.app": {}
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore": "5.0.0",
|
|
||||||
"Microsoft.NETCore.Portable.Compatibility": "1.0.0"
|
|
||||||
},
|
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
"dotnet": {
|
".NETPortable,Version=v4.5,Profile=Profile7": {}
|
||||||
"imports": "portable-net452+win81"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -249,7 +249,7 @@ namespace MediaBrowser.Dlna.Main
|
||||||
_logger.Info("Registering publisher for {0} on {1}", fullService, addressString);
|
_logger.Info("Registering publisher for {0} on {1}", fullService, addressString);
|
||||||
|
|
||||||
var descriptorUri = "/dlna/" + udn + "/description.xml";
|
var descriptorUri = "/dlna/" + udn + "/description.xml";
|
||||||
var uri = new Uri(_appHost.GetLocalApiUrl(address) + descriptorUri);
|
var uri = new Uri(_appHost.GetLocalApiUrl(addressString, address.IsIpv6) + descriptorUri);
|
||||||
|
|
||||||
var device = new SsdpRootDevice
|
var device = new SsdpRootDevice
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,6 +11,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using System.Net.Sockets;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Controller.MediaEncoding;
|
using MediaBrowser.Controller.MediaEncoding;
|
||||||
using MediaBrowser.Model.Events;
|
using MediaBrowser.Model.Events;
|
||||||
|
@ -124,7 +125,16 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
|
|
||||||
if (controller == null)
|
if (controller == null)
|
||||||
{
|
{
|
||||||
var serverAddress = await GetServerAddress(info.LocalEndPoint == null ? null : info.LocalEndPoint.Address).ConfigureAwait(false);
|
string serverAddress;
|
||||||
|
if (info.LocalIpAddress == null)
|
||||||
|
{
|
||||||
|
serverAddress = await GetServerAddress(null, false).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
serverAddress = await GetServerAddress(info.LocalIpAddress.Address, info.LocalIpAddress.IsIpv6).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
string accessToken = null;
|
string accessToken = null;
|
||||||
|
|
||||||
sessionInfo.SessionController = controller = new PlayToController(sessionInfo,
|
sessionInfo.SessionController = controller = new PlayToController(sessionInfo,
|
||||||
|
@ -176,14 +186,14 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task<string> GetServerAddress(IPAddress localIp)
|
private Task<string> GetServerAddress(string ipAddress, bool isIpv6)
|
||||||
{
|
{
|
||||||
if (localIp == null)
|
if (string.IsNullOrWhiteSpace(ipAddress))
|
||||||
{
|
{
|
||||||
return _appHost.GetLocalApiUrl();
|
return _appHost.GetLocalApiUrl();
|
||||||
}
|
}
|
||||||
|
|
||||||
return Task.FromResult(_appHost.GetLocalApiUrl(localIp));
|
return Task.FromResult(_appHost.GetLocalApiUrl(ipAddress, isIpv6));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
|
|
|
@ -166,6 +166,7 @@
|
||||||
<Compile Include="MediaInfo\SubtitleTrackInfo.cs" />
|
<Compile Include="MediaInfo\SubtitleTrackInfo.cs" />
|
||||||
<Compile Include="Net\EndPointInfo.cs" />
|
<Compile Include="Net\EndPointInfo.cs" />
|
||||||
<Compile Include="Net\HttpResponse.cs" />
|
<Compile Include="Net\HttpResponse.cs" />
|
||||||
|
<Compile Include="Net\IpAddressInfo.cs" />
|
||||||
<Compile Include="Services\ApiMemberAttribute.cs" />
|
<Compile Include="Services\ApiMemberAttribute.cs" />
|
||||||
<Compile Include="Services\IAsyncStreamWriter.cs" />
|
<Compile Include="Services\IAsyncStreamWriter.cs" />
|
||||||
<Compile Include="Services\IHasHeaders.cs" />
|
<Compile Include="Services\IHasHeaders.cs" />
|
||||||
|
|
15
MediaBrowser.Model/Net/IpAddressInfo.cs
Normal file
15
MediaBrowser.Model/Net/IpAddressInfo.cs
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Model.Net
|
||||||
|
{
|
||||||
|
public class IpAddressInfo
|
||||||
|
{
|
||||||
|
public string Address { get; set; }
|
||||||
|
public bool IsIpv6 { get; set; }
|
||||||
|
|
||||||
|
public override String ToString()
|
||||||
|
{
|
||||||
|
return Address;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -109,6 +109,7 @@ using MediaBrowser.Controller.Extensions;
|
||||||
using MediaBrowser.Controller.IO;
|
using MediaBrowser.Controller.IO;
|
||||||
using MediaBrowser.Model.Activity;
|
using MediaBrowser.Model.Activity;
|
||||||
using MediaBrowser.Model.Globalization;
|
using MediaBrowser.Model.Globalization;
|
||||||
|
using MediaBrowser.Model.Net;
|
||||||
using MediaBrowser.Model.News;
|
using MediaBrowser.Model.News;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Model.Social;
|
using MediaBrowser.Model.Social;
|
||||||
|
@ -1333,7 +1334,7 @@ namespace MediaBrowser.Server.Startup.Common
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Return the first matched address, if found, or the first known local address
|
// Return the first matched address, if found, or the first known local address
|
||||||
var address = (await GetLocalIpAddresses().ConfigureAwait(false)).FirstOrDefault(i => !IPAddress.IsLoopback(i));
|
var address = (await GetLocalIpAddressesInternal().ConfigureAwait(false)).FirstOrDefault(i => !IPAddress.IsLoopback(i));
|
||||||
|
|
||||||
if (address != null)
|
if (address != null)
|
||||||
{
|
{
|
||||||
|
@ -1352,12 +1353,17 @@ namespace MediaBrowser.Server.Startup.Common
|
||||||
|
|
||||||
public string GetLocalApiUrl(IPAddress ipAddress)
|
public string GetLocalApiUrl(IPAddress ipAddress)
|
||||||
{
|
{
|
||||||
if (ipAddress.AddressFamily == AddressFamily.InterNetworkV6)
|
return GetLocalApiUrl(ipAddress.ToString(), ipAddress.AddressFamily == AddressFamily.InterNetworkV6);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetLocalApiUrl(string ipAddress, bool isIpv6)
|
||||||
|
{
|
||||||
|
if (isIpv6)
|
||||||
{
|
{
|
||||||
return GetLocalApiUrl("[" + ipAddress + "]");
|
return GetLocalApiUrl("[" + ipAddress + "]");
|
||||||
}
|
}
|
||||||
|
|
||||||
return GetLocalApiUrl(ipAddress.ToString());
|
return GetLocalApiUrl(ipAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetLocalApiUrl(string host)
|
public string GetLocalApiUrl(string host)
|
||||||
|
@ -1367,7 +1373,19 @@ namespace MediaBrowser.Server.Startup.Common
|
||||||
HttpPort.ToString(CultureInfo.InvariantCulture));
|
HttpPort.ToString(CultureInfo.InvariantCulture));
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<IPAddress>> GetLocalIpAddresses()
|
public async Task<List<IpAddressInfo>> GetLocalIpAddresses()
|
||||||
|
{
|
||||||
|
var list = await GetLocalIpAddressesInternal().ConfigureAwait(false);
|
||||||
|
|
||||||
|
return list.Select(i => new IpAddressInfo
|
||||||
|
{
|
||||||
|
Address = i.ToString(),
|
||||||
|
IsIpv6 = i.AddressFamily == AddressFamily.InterNetworkV6
|
||||||
|
|
||||||
|
}).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task<List<IPAddress>> GetLocalIpAddressesInternal()
|
||||||
{
|
{
|
||||||
// Need to do this until Common will compile with this method
|
// Need to do this until Common will compile with this method
|
||||||
var nativeNetworkManager = (BaseNetworkManager)NetworkManager;
|
var nativeNetworkManager = (BaseNetworkManager)NetworkManager;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user