aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-04-04 15:35:29 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-04-04 15:35:29 -0400
commit2b7a80cfb5b9212260734c095a5b3439af7d64e2 (patch)
treeab746cd05a2244b4c8c8432a30090b85c9d4d986 /MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
parent8c61abf6d23510da8eaddf3894f9e14f88dc5f22 (diff)
improve direct play of live streams
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs')
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs19
1 files changed, 13 insertions, 6 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
index 425889807..18d9ccece 100644
--- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.Session;
+using MediaBrowser.MediaEncoding.Probing;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
@@ -103,15 +104,17 @@ namespace MediaBrowser.MediaEncoding.Encoder
/// Gets the media info.
/// </summary>
/// <param name="inputFiles">The input files.</param>
+ /// <param name="primaryPath">The primary path.</param>
/// <param name="protocol">The protocol.</param>
/// <param name="isAudio">if set to <c>true</c> [is audio].</param>
+ /// <param name="extractChapters">if set to <c>true</c> [extract chapters].</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- public Task<InternalMediaInfoResult> GetMediaInfo(string[] inputFiles, MediaProtocol protocol, bool isAudio,
- CancellationToken cancellationToken)
+ public Task<Model.Entities.MediaInfo> GetMediaInfo(string[] inputFiles, string primaryPath, MediaProtocol protocol, bool isAudio,
+ bool extractChapters, CancellationToken cancellationToken)
{
- return GetMediaInfoInternal(GetInputArgument(inputFiles, protocol), !isAudio,
- GetProbeSizeArgument(inputFiles, protocol), cancellationToken);
+ return GetMediaInfoInternal(GetInputArgument(inputFiles, protocol), primaryPath, protocol, !isAudio && extractChapters,
+ GetProbeSizeArgument(inputFiles, protocol), isAudio, cancellationToken);
}
/// <summary>
@@ -141,13 +144,17 @@ namespace MediaBrowser.MediaEncoding.Encoder
/// Gets the media info internal.
/// </summary>
/// <param name="inputPath">The input path.</param>
+ /// <param name="primaryPath">The primary path.</param>
+ /// <param name="protocol">The protocol.</param>
/// <param name="extractChapters">if set to <c>true</c> [extract chapters].</param>
/// <param name="probeSizeArgument">The probe size argument.</param>
+ /// <param name="isAudio">if set to <c>true</c> [is audio].</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{MediaInfoResult}.</returns>
/// <exception cref="System.ApplicationException"></exception>
- private async Task<InternalMediaInfoResult> GetMediaInfoInternal(string inputPath, bool extractChapters,
+ private async Task<Model.Entities.MediaInfo> GetMediaInfoInternal(string inputPath, string primaryPath, MediaProtocol protocol, bool extractChapters,
string probeSizeArgument,
+ bool isAudio,
CancellationToken cancellationToken)
{
var args = extractChapters
@@ -244,7 +251,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
}
}
- return result;
+ return new ProbeResultNormalizer(_logger, FileSystem).GetMediaInfo(result, isAudio, primaryPath, protocol);
}
/// <summary>