aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Playback/BaseStreamingService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/Playback/BaseStreamingService.cs')
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs30
1 files changed, 22 insertions, 8 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index 718c142a4..450c0c681 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -888,11 +888,18 @@ namespace MediaBrowser.Api.Playback
}
else
{
- state.MediaPath = string.Format("http://localhost:{0}/mediabrowser/LiveTv/Recordings/{1}/Stream",
- ServerConfigurationManager.Configuration.HttpServerPortNumber,
- request.Id);
+ var streamInfo = await LiveTvManager.GetRecordingStream(request.Id, cancellationToken).ConfigureAwait(false);
- state.IsRemote = true;
+ if (!string.IsNullOrEmpty(streamInfo.Path) && File.Exists(streamInfo.Path))
+ {
+ state.MediaPath = streamInfo.Path;
+ state.IsRemote = false;
+ }
+ else if (!string.IsNullOrEmpty(streamInfo.Url))
+ {
+ state.MediaPath = streamInfo.Url;
+ state.IsRemote = true;
+ }
}
itemId = recording.Id;
@@ -905,11 +912,18 @@ namespace MediaBrowser.Api.Playback
state.IsInputVideo = string.Equals(channel.MediaType, MediaType.Video, StringComparison.OrdinalIgnoreCase);
state.PlayableStreamFileNames = new List<string>();
- state.MediaPath = string.Format("http://localhost:{0}/mediabrowser/LiveTv/Channels/{1}/Stream",
- ServerConfigurationManager.Configuration.HttpServerPortNumber,
- request.Id);
+ var streamInfo = await LiveTvManager.GetChannelStream(request.Id, cancellationToken).ConfigureAwait(false);
- state.IsRemote = true;
+ if (!string.IsNullOrEmpty(streamInfo.Path) && File.Exists(streamInfo.Path))
+ {
+ state.MediaPath = streamInfo.Path;
+ state.IsRemote = false;
+ }
+ else if (!string.IsNullOrEmpty(streamInfo.Url))
+ {
+ state.MediaPath = streamInfo.Url;
+ state.IsRemote = true;
+ }
itemId = channel.Id;
}