From 1279c6d8b5179017efb3fb9503d6937dcd84bc97 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 17 Jul 2015 22:52:27 -0400 Subject: fix roku live tv stream closing --- MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs') 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 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)); -- cgit v1.2.3