aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-17 22:52:27 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-17 22:52:27 -0400
commit1279c6d8b5179017efb3fb9503d6937dcd84bc97 (patch)
treedebde9460bb78c725b877b9ff19f51c6bd406881 /MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs
parent78a25d2289fc35b34f2998a7f8c27ee221b83834 (diff)
fix roku live tv stream closing
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs b/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs
index b6441053d..9b46a8057 100644
--- a/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs
@@ -230,7 +230,7 @@ namespace MediaBrowser.Server.Implementations.Library
private void SetKeyProperties(IMediaSourceProvider provider, MediaSourceInfo mediaSource)
{
- var prefix = provider.GetType().FullName.GetMD5().ToString("N") + "|";
+ var prefix = provider.GetType().FullName.GetMD5().ToString("N") + LiveStreamIdDelimeter;
if (!string.IsNullOrWhiteSpace(mediaSource.OpenToken) && !mediaSource.OpenToken.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
{
@@ -463,10 +463,13 @@ namespace MediaBrowser.Server.Implementations.Library
_liveStreamSemaphore.Release();
}
}
+
+ // Do not use a pipe here because Roku http requests to the server will fail, without any explicit error message.
+ private const char LiveStreamIdDelimeter = '_';
private Tuple<IMediaSourceProvider, string> GetProvider(string key)
{
- var keys = key.Split(new[] { '|' }, 2);
+ var keys = key.Split(new[] { LiveStreamIdDelimeter }, 2);
var provider = _providers.FirstOrDefault(i => string.Equals(i.GetType().FullName.GetMD5().ToString("N"), keys[0], StringComparison.OrdinalIgnoreCase));