aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Dlna
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Dlna')
-rw-r--r--MediaBrowser.Dlna/ContentDirectory/ContentDirectory.cs4
-rw-r--r--MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs4
-rw-r--r--MediaBrowser.Dlna/Didl/DidlBuilder.cs10
-rw-r--r--MediaBrowser.Dlna/PlayTo/PlayToController.cs26
-rw-r--r--MediaBrowser.Dlna/PlayTo/PlayToManager.cs2
5 files changed, 26 insertions, 20 deletions
diff --git a/MediaBrowser.Dlna/ContentDirectory/ContentDirectory.cs b/MediaBrowser.Dlna/ContentDirectory/ContentDirectory.cs
index d4be1b2f4e..75f1579ac4 100644
--- a/MediaBrowser.Dlna/ContentDirectory/ContentDirectory.cs
+++ b/MediaBrowser.Dlna/ContentDirectory/ContentDirectory.cs
@@ -67,7 +67,8 @@ namespace MediaBrowser.Dlna.ContentDirectory
_dlna.GetDefaultProfile();
var serverAddress = request.RequestedUrl.Substring(0, request.RequestedUrl.IndexOf("/dlna", StringComparison.OrdinalIgnoreCase));
-
+ string accessToken = null;
+
var user = GetUser(profile);
return new ControlHandler(
@@ -75,6 +76,7 @@ namespace MediaBrowser.Dlna.ContentDirectory
_libraryManager,
profile,
serverAddress,
+ accessToken,
_imageProcessor,
_userDataManager,
user,
diff --git a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs
index e480326e9b..5d6ee5c73e 100644
--- a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs
+++ b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs
@@ -45,7 +45,7 @@ namespace MediaBrowser.Dlna.ContentDirectory
private readonly DeviceProfile _profile;
- public ControlHandler(ILogger logger, ILibraryManager libraryManager, DeviceProfile profile, string serverAddress, IImageProcessor imageProcessor, IUserDataManager userDataManager, User user, int systemUpdateId, IServerConfigurationManager config, ILocalizationManager localization, IChannelManager channelManager)
+ public ControlHandler(ILogger logger, ILibraryManager libraryManager, DeviceProfile profile, string serverAddress, string accessToken, IImageProcessor imageProcessor, IUserDataManager userDataManager, User user, int systemUpdateId, IServerConfigurationManager config, ILocalizationManager localization, IChannelManager channelManager)
: base(config, logger)
{
_libraryManager = libraryManager;
@@ -55,7 +55,7 @@ namespace MediaBrowser.Dlna.ContentDirectory
_channelManager = channelManager;
_profile = profile;
- _didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, userDataManager, localization);
+ _didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, accessToken, userDataManager, localization);
}
protected override IEnumerable<KeyValuePair<string, string>> GetResult(string methodName, Headers methodParams)
diff --git a/MediaBrowser.Dlna/Didl/DidlBuilder.cs b/MediaBrowser.Dlna/Didl/DidlBuilder.cs
index 59dcbdecbb..af7c8dbed0 100644
--- a/MediaBrowser.Dlna/Didl/DidlBuilder.cs
+++ b/MediaBrowser.Dlna/Didl/DidlBuilder.cs
@@ -33,17 +33,19 @@ namespace MediaBrowser.Dlna.Didl
private readonly DeviceProfile _profile;
private readonly IImageProcessor _imageProcessor;
private readonly string _serverAddress;
+ private readonly string _accessToken;
private readonly User _user;
private readonly IUserDataManager _userDataManager;
private readonly ILocalizationManager _localization;
- public DidlBuilder(DeviceProfile profile, User user, IImageProcessor imageProcessor, string serverAddress, IUserDataManager userDataManager, ILocalizationManager localization)
+ public DidlBuilder(DeviceProfile profile, User user, IImageProcessor imageProcessor, string serverAddress, string accessToken, IUserDataManager userDataManager, ILocalizationManager localization)
{
_profile = profile;
_imageProcessor = imageProcessor;
_serverAddress = serverAddress;
_userDataManager = userDataManager;
_localization = localization;
+ _accessToken = accessToken;
_user = user;
}
@@ -161,7 +163,7 @@ namespace MediaBrowser.Dlna.Didl
AddVideoResource(container, video, deviceId, filter, contentFeature, streamInfo);
}
- foreach (var subtitle in streamInfo.GetExternalSubtitles(_serverAddress, false))
+ foreach (var subtitle in streamInfo.GetExternalSubtitles(_serverAddress, _accessToken, false))
{
AddSubtitleElement(container, subtitle);
}
@@ -206,7 +208,7 @@ namespace MediaBrowser.Dlna.Didl
{
var res = container.OwnerDocument.CreateElement(string.Empty, "res", NS_DIDL);
- var url = streamInfo.ToDlnaUrl(_serverAddress);
+ var url = streamInfo.ToDlnaUrl(_serverAddress, _accessToken);
res.InnerText = url;
@@ -351,7 +353,7 @@ namespace MediaBrowser.Dlna.Didl
});
}
- var url = streamInfo.ToDlnaUrl(_serverAddress);
+ var url = streamInfo.ToDlnaUrl(_serverAddress, _accessToken);
res.InnerText = url;
diff --git a/MediaBrowser.Dlna/PlayTo/PlayToController.cs b/MediaBrowser.Dlna/PlayTo/PlayToController.cs
index bd2b169ad9..5746231618 100644
--- a/MediaBrowser.Dlna/PlayTo/PlayToController.cs
+++ b/MediaBrowser.Dlna/PlayTo/PlayToController.cs
@@ -38,6 +38,7 @@ namespace MediaBrowser.Dlna.PlayTo
private readonly DeviceDiscovery _deviceDiscovery;
private readonly string _serverAddress;
+ private readonly string _accessToken;
public bool IsSessionActive
{
@@ -54,7 +55,7 @@ namespace MediaBrowser.Dlna.PlayTo
private Timer _updateTimer;
- public PlayToController(SessionInfo session, ISessionManager sessionManager, IItemRepository itemRepository, ILibraryManager libraryManager, ILogger logger, IDlnaManager dlnaManager, IUserManager userManager, IImageProcessor imageProcessor, string serverAddress, DeviceDiscovery deviceDiscovery, IUserDataManager userDataManager, ILocalizationManager localization)
+ public PlayToController(SessionInfo session, ISessionManager sessionManager, IItemRepository itemRepository, ILibraryManager libraryManager, ILogger logger, IDlnaManager dlnaManager, IUserManager userManager, IImageProcessor imageProcessor, string serverAddress, string accessToken, DeviceDiscovery deviceDiscovery, IUserDataManager userDataManager, ILocalizationManager localization)
{
_session = session;
_itemRepository = itemRepository;
@@ -67,6 +68,7 @@ namespace MediaBrowser.Dlna.PlayTo
_deviceDiscovery = deviceDiscovery;
_userDataManager = userDataManager;
_localization = localization;
+ _accessToken = accessToken;
_logger = logger;
}
@@ -306,18 +308,16 @@ namespace MediaBrowser.Dlna.PlayTo
var playlist = new List<PlaylistItem>();
var isFirst = true;
- var serverAddress = GetServerAddress();
-
foreach (var item in items)
{
if (isFirst && command.StartPositionTicks.HasValue)
{
- playlist.Add(CreatePlaylistItem(item, user, command.StartPositionTicks.Value, serverAddress));
+ playlist.Add(CreatePlaylistItem(item, user, command.StartPositionTicks.Value));
isFirst = false;
}
else
{
- playlist.Add(CreatePlaylistItem(item, user, 0, serverAddress));
+ playlist.Add(CreatePlaylistItem(item, user, 0));
}
}
@@ -381,7 +381,7 @@ namespace MediaBrowser.Dlna.PlayTo
if (info.Item != null && !info.IsDirectStream)
{
var user = _session.UserId.HasValue ? _userManager.GetUserById(_session.UserId.Value) : null;
- var newItem = CreatePlaylistItem(info.Item, user, newPosition, GetServerAddress(), info.MediaSourceId, info.AudioStreamIndex, info.SubtitleStreamIndex);
+ var newItem = CreatePlaylistItem(info.Item, user, newPosition, info.MediaSourceId, info.AudioStreamIndex, info.SubtitleStreamIndex);
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl).ConfigureAwait(false);
@@ -458,12 +458,12 @@ namespace MediaBrowser.Dlna.PlayTo
}
}
- private PlaylistItem CreatePlaylistItem(BaseItem item, User user, long startPostionTicks, string serverAddress)
+ private PlaylistItem CreatePlaylistItem(BaseItem item, User user, long startPostionTicks)
{
- return CreatePlaylistItem(item, user, startPostionTicks, serverAddress, null, null, null);
+ return CreatePlaylistItem(item, user, startPostionTicks, null, null, null);
}
- private PlaylistItem CreatePlaylistItem(BaseItem item, User user, long startPostionTicks, string serverAddress, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex)
+ private PlaylistItem CreatePlaylistItem(BaseItem item, User user, long startPostionTicks, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex)
{
var deviceInfo = _device.Properties;
@@ -478,9 +478,9 @@ namespace MediaBrowser.Dlna.PlayTo
var playlistItem = GetPlaylistItem(item, mediaSources, profile, _session.DeviceId, mediaSourceId, audioStreamIndex, subtitleStreamIndex);
playlistItem.StreamInfo.StartPositionTicks = startPostionTicks;
- playlistItem.StreamUrl = playlistItem.StreamInfo.ToUrl(serverAddress);
+ playlistItem.StreamUrl = playlistItem.StreamInfo.ToUrl(_serverAddress, _accessToken);
- var itemXml = new DidlBuilder(profile, user, _imageProcessor, serverAddress, _userDataManager, _localization)
+ var itemXml = new DidlBuilder(profile, user, _imageProcessor, _serverAddress, _accessToken, _userDataManager, _localization)
.GetItemDidl(item, null, _session.DeviceId, new Filter(), playlistItem.StreamInfo);
playlistItem.Didl = itemXml;
@@ -745,7 +745,7 @@ namespace MediaBrowser.Dlna.PlayTo
var newPosition = progress.PositionTicks ?? 0;
var user = _session.UserId.HasValue ? _userManager.GetUserById(_session.UserId.Value) : null;
- var newItem = CreatePlaylistItem(info.Item, user, newPosition, GetServerAddress(), info.MediaSourceId, newIndex, info.SubtitleStreamIndex);
+ var newItem = CreatePlaylistItem(info.Item, user, newPosition, info.MediaSourceId, newIndex, info.SubtitleStreamIndex);
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl).ConfigureAwait(false);
@@ -771,7 +771,7 @@ namespace MediaBrowser.Dlna.PlayTo
var newPosition = progress.PositionTicks ?? 0;
var user = _session.UserId.HasValue ? _userManager.GetUserById(_session.UserId.Value) : null;
- var newItem = CreatePlaylistItem(info.Item, user, newPosition, GetServerAddress(), info.MediaSourceId, info.AudioStreamIndex, newIndex);
+ var newItem = CreatePlaylistItem(info.Item, user, newPosition, info.MediaSourceId, info.AudioStreamIndex, newIndex);
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl).ConfigureAwait(false);
diff --git a/MediaBrowser.Dlna/PlayTo/PlayToManager.cs b/MediaBrowser.Dlna/PlayTo/PlayToManager.cs
index 7c73406b97..9a9a976d35 100644
--- a/MediaBrowser.Dlna/PlayTo/PlayToManager.cs
+++ b/MediaBrowser.Dlna/PlayTo/PlayToManager.cs
@@ -98,6 +98,7 @@ namespace MediaBrowser.Dlna.PlayTo
if (controller == null)
{
var serverAddress = GetServerAddress(localIp);
+ string accessToken = null;
sessionInfo.SessionController = controller = new PlayToController(sessionInfo,
_sessionManager,
@@ -108,6 +109,7 @@ namespace MediaBrowser.Dlna.PlayTo
_userManager,
_imageProcessor,
serverAddress,
+ accessToken,
_deviceDiscovery,
_userDataManager,
_localization);