mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
update device discovery
This commit is contained in:
parent
ffbe92e51e
commit
f13ca8f343
@ -132,6 +132,8 @@ namespace MediaBrowser.Dlna.Ssdp
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_ssdpHandler.LogMessageReceived(args, true);
|
||||||
|
|
||||||
TryCreateDevice(args);
|
TryCreateDevice(args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -219,14 +221,6 @@ namespace MediaBrowser.Dlna.Ssdp
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_config.GetDlnaConfiguration().EnableDebugLog)
|
|
||||||
{
|
|
||||||
var headerTexts = args.Headers.Select(i => string.Format("{0}={1}", i.Key, i.Value));
|
|
||||||
var headerText = string.Join(",", headerTexts.ToArray());
|
|
||||||
|
|
||||||
_logger.Debug("{0} Device message received from {1}. Headers: {2}", args.Method, args.EndPoint, headerText);
|
|
||||||
}
|
|
||||||
|
|
||||||
EventHelper.FireEventIfNotNull(DeviceDiscovered, this, args, _logger);
|
EventHelper.FireEventIfNotNull(DeviceDiscovered, this, args, _logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,17 +93,7 @@ namespace MediaBrowser.Dlna.Ssdp
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var enableDebugLogging = _config.GetDlnaConfiguration().EnableDebugLog;
|
LogMessageReceived(args, isMulticast);
|
||||||
|
|
||||||
if (enableDebugLogging)
|
|
||||||
{
|
|
||||||
var headerTexts = args.Headers.Select(i => string.Format("{0}={1}", i.Key, i.Value));
|
|
||||||
var headerText = string.Join(",", headerTexts.ToArray());
|
|
||||||
|
|
||||||
var protocol = isMulticast ? "Multicast" : "Unicast";
|
|
||||||
var localEndPointString = args.LocalEndPoint == null ? "null" : args.LocalEndPoint.ToString();
|
|
||||||
_logger.Debug("{0} message received from {1} on {3}. Protocol: {4} Headers: {2}", args.Method, args.EndPoint, headerText, localEndPointString, protocol);
|
|
||||||
}
|
|
||||||
|
|
||||||
var headers = args.Headers;
|
var headers = args.Headers;
|
||||||
string st;
|
string st;
|
||||||
@ -125,6 +115,21 @@ namespace MediaBrowser.Dlna.Ssdp
|
|||||||
EventHelper.FireEventIfNotNull(MessageReceived, this, args, _logger);
|
EventHelper.FireEventIfNotNull(MessageReceived, this, args, _logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal void LogMessageReceived(SsdpMessageEventArgs args, bool isMulticast)
|
||||||
|
{
|
||||||
|
var enableDebugLogging = _config.GetDlnaConfiguration().EnableDebugLog;
|
||||||
|
|
||||||
|
if (enableDebugLogging)
|
||||||
|
{
|
||||||
|
var headerTexts = args.Headers.Select(i => string.Format("{0}={1}", i.Key, i.Value));
|
||||||
|
var headerText = string.Join(",", headerTexts.ToArray());
|
||||||
|
|
||||||
|
var protocol = isMulticast ? "Multicast" : "Unicast";
|
||||||
|
var localEndPointString = args.LocalEndPoint == null ? "null" : args.LocalEndPoint.ToString();
|
||||||
|
_logger.Debug("{0} message received from {1} on {3}. Protocol: {4} Headers: {2}", args.Method, args.EndPoint, headerText, localEndPointString, protocol);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal bool IgnoreMessage(SsdpMessageEventArgs args, bool isMulticast)
|
internal bool IgnoreMessage(SsdpMessageEventArgs args, bool isMulticast)
|
||||||
{
|
{
|
||||||
string usn;
|
string usn;
|
||||||
@ -298,8 +303,8 @@ namespace MediaBrowser.Dlna.Ssdp
|
|||||||
|
|
||||||
var msg = new SsdpMessageBuilder().BuildMessage(header, values);
|
var msg = new SsdpMessageBuilder().BuildMessage(header, values);
|
||||||
|
|
||||||
SendDatagram(msg, endpoint, null, false, 1);
|
SendDatagram(msg, endpoint, null, false, 2);
|
||||||
SendDatagram(msg, endpoint, new IPEndPoint(d.Address, 0), false, 1);
|
SendDatagram(msg, endpoint, new IPEndPoint(d.Address, 0), false, 2);
|
||||||
//SendDatagram(header, values, endpoint, null, true);
|
//SendDatagram(header, values, endpoint, null, true);
|
||||||
|
|
||||||
if (enableDebugLogging)
|
if (enableDebugLogging)
|
||||||
@ -473,6 +478,7 @@ namespace MediaBrowser.Dlna.Ssdp
|
|||||||
var msg = new SsdpMessageBuilder().BuildMessage(header, values);
|
var msg = new SsdpMessageBuilder().BuildMessage(header, values);
|
||||||
|
|
||||||
SendDatagram(msg, _ssdpEndp, new IPEndPoint(dev.Address, 0), true);
|
SendDatagram(msg, _ssdpEndp, new IPEndPoint(dev.Address, 0), true);
|
||||||
|
//SendUnicastRequest(msg, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterNotification(string uuid, Uri descriptionUri, IPAddress address, IEnumerable<string> services)
|
public void RegisterNotification(string uuid, Uri descriptionUri, IPAddress address, IEnumerable<string> services)
|
||||||
@ -582,7 +588,7 @@ namespace MediaBrowser.Dlna.Ssdp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void SendUnicastRequest(string request)
|
private async void SendUnicastRequest(string request, int sendCount = 3)
|
||||||
{
|
{
|
||||||
if (_unicastClient == null)
|
if (_unicastClient == null)
|
||||||
{
|
{
|
||||||
@ -597,7 +603,7 @@ namespace MediaBrowser.Dlna.Ssdp
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
for (var i = 0; i < 3; i++)
|
for (var i = 0; i < sendCount; i++)
|
||||||
{
|
{
|
||||||
if (i > 0)
|
if (i > 0)
|
||||||
{
|
{
|
||||||
|
@ -42,7 +42,12 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
|
|||||||
void _deviceDiscovery_DeviceDiscovered(object sender, SsdpMessageEventArgs e)
|
void _deviceDiscovery_DeviceDiscovered(object sender, SsdpMessageEventArgs e)
|
||||||
{
|
{
|
||||||
string st = null;
|
string st = null;
|
||||||
if (e.Headers.TryGetValue("ST", out st) && string.Equals(st, "urn:ses-com:device:SatIPServer:1", StringComparison.OrdinalIgnoreCase))
|
string nt = null;
|
||||||
|
e.Headers.TryGetValue("ST", out st);
|
||||||
|
e.Headers.TryGetValue("NT", out nt);
|
||||||
|
|
||||||
|
if (string.Equals(st, "urn:ses-com:device:SatIPServer:1", StringComparison.OrdinalIgnoreCase) ||
|
||||||
|
string.Equals(nt, "urn:ses-com:device:SatIPServer:1", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
string location;
|
string location;
|
||||||
if (e.Headers.TryGetValue("Location", out location) && !string.IsNullOrWhiteSpace(location))
|
if (e.Headers.TryGetValue("Location", out location) && !string.IsNullOrWhiteSpace(location))
|
||||||
|
@ -52,9 +52,9 @@
|
|||||||
<Reference Include="Interfaces.IO">
|
<Reference Include="Interfaces.IO">
|
||||||
<HintPath>..\packages\Interfaces.IO.1.0.0.5\lib\portable-net45+sl4+wp71+win8+wpa81\Interfaces.IO.dll</HintPath>
|
<HintPath>..\packages\Interfaces.IO.1.0.0.5\lib\portable-net45+sl4+wp71+win8+wpa81\Interfaces.IO.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MediaBrowser.Naming, Version=1.0.5884.23751, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="MediaBrowser.Naming, Version=1.0.5891.29179, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\MediaBrowser.Naming.1.0.0.47\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll</HintPath>
|
<HintPath>..\packages\MediaBrowser.Naming.1.0.0.48\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MoreLinq">
|
<Reference Include="MoreLinq">
|
||||||
<HintPath>..\packages\morelinq.1.4.0\lib\net35\MoreLinq.dll</HintPath>
|
<HintPath>..\packages\morelinq.1.4.0\lib\net35\MoreLinq.dll</HintPath>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<package id="CommonIO" version="1.0.0.7" targetFramework="net45" />
|
<package id="CommonIO" version="1.0.0.7" targetFramework="net45" />
|
||||||
<package id="Emby.XmlTv" version="1.0.0.48" targetFramework="net45" />
|
<package id="Emby.XmlTv" version="1.0.0.48" targetFramework="net45" />
|
||||||
<package id="Interfaces.IO" version="1.0.0.5" targetFramework="net45" />
|
<package id="Interfaces.IO" version="1.0.0.5" targetFramework="net45" />
|
||||||
<package id="MediaBrowser.Naming" version="1.0.0.47" targetFramework="net45" />
|
<package id="MediaBrowser.Naming" version="1.0.0.48" targetFramework="net45" />
|
||||||
<package id="Mono.Nat" version="1.2.24.0" targetFramework="net45" />
|
<package id="Mono.Nat" version="1.2.24.0" targetFramework="net45" />
|
||||||
<package id="morelinq" version="1.4.0" targetFramework="net45" />
|
<package id="morelinq" version="1.4.0" targetFramework="net45" />
|
||||||
<package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" />
|
<package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user