aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/LiveTv/LiveTvService.cs42
-rw-r--r--MediaBrowser.Api/StartupWizardService.cs2
2 files changed, 8 insertions, 36 deletions
diff --git a/MediaBrowser.Api/LiveTv/LiveTvService.cs b/MediaBrowser.Api/LiveTv/LiveTvService.cs
index 8b5e7075d..ebfced0f4 100644
--- a/MediaBrowser.Api/LiveTv/LiveTvService.cs
+++ b/MediaBrowser.Api/LiveTv/LiveTvService.cs
@@ -19,6 +19,7 @@ using System.Threading.Tasks;
using CommonIO;
using MediaBrowser.Api.Playback.Progressive;
using MediaBrowser.Controller.Configuration;
+using MediaBrowser.Server.Implementations.LiveTv.EmbyTV;
namespace MediaBrowser.Api.LiveTv
{
@@ -674,8 +675,6 @@ namespace MediaBrowser.Api.LiveTv
{
public string Id { get; set; }
public string Container { get; set; }
- public long T { get; set; }
- public long S { get; set; }
}
public class LiveTvService : BaseApiService
@@ -699,45 +698,18 @@ namespace MediaBrowser.Api.LiveTv
_fileSystem = fileSystem;
}
- public object Get(GetLiveStreamFile request)
+ public async Task<object> Get(GetLiveStreamFile request)
{
- var filePath = Path.Combine(_config.ApplicationPaths.TranscodingTempPath, request.Id + ".ts");
-
+ var directStreamProvider = (await EmbyTV.Current.GetLiveStream(request.Id).ConfigureAwait(false)) as IDirectStreamProvider;
var outputHeaders = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- outputHeaders["Content-Type"] = MediaBrowser.Model.Net.MimeTypes.GetMimeType(filePath);
-
- long startPosition = 0;
+ // TODO: Don't hardcode this
+ outputHeaders["Content-Type"] = Model.Net.MimeTypes.GetMimeType("file.ts");
- if (request.T > 0)
+ var streamSource = new ProgressiveFileCopier(directStreamProvider, outputHeaders, null, Logger, CancellationToken.None)
{
- var now = DateTime.UtcNow;
-
- var totalTicks = now.Ticks - request.S;
-
- if (totalTicks > 0)
- {
- double requestedOffset = request.T;
- requestedOffset = Math.Max(0, requestedOffset - TimeSpan.FromSeconds(10).Ticks);
-
- var pct = requestedOffset / totalTicks;
-
- Logger.Info("Live stream offset pct {0}", pct);
-
- var bytes = new FileInfo(filePath).Length;
- Logger.Info("Live stream total bytes {0}", bytes);
- startPosition = Convert.ToInt64(pct * bytes);
- }
- }
-
- Logger.Info("Live stream starting byte position {0}", startPosition);
-
- var streamSource = new ProgressiveFileCopier(_fileSystem, filePath, outputHeaders, null, Logger, CancellationToken.None)
- {
- AllowEndOfFile = false,
- StartPosition = startPosition
+ AllowEndOfFile = false
};
-
return ResultFactory.GetAsyncStreamWriter(streamSource);
}
diff --git a/MediaBrowser.Api/StartupWizardService.cs b/MediaBrowser.Api/StartupWizardService.cs
index 4c5abc996..5caea2b15 100644
--- a/MediaBrowser.Api/StartupWizardService.cs
+++ b/MediaBrowser.Api/StartupWizardService.cs
@@ -114,7 +114,7 @@ namespace MediaBrowser.Api
config.EnableLocalizedGuids = true;
config.EnableStandaloneMusicKeys = true;
config.EnableCaseSensitiveItemIds = true;
- //config.EnableFolderView = true;
+ config.EnableFolderView = true;
config.SchemaVersion = 109;
config.EnableSimpleArtistDetection = true;
}