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.cs20
1 files changed, 12 insertions, 8 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index d1c3de427..e561b3f46 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -126,14 +126,10 @@ namespace MediaBrowser.Api.Playback
/// <summary>
/// Gets the output file path.
/// </summary>
- /// <param name="state">The state.</param>
- /// <returns>System.String.</returns>
- private string GetOutputFilePath(StreamState state)
+ private string GetOutputFilePath(StreamState state, string outputFileExtension)
{
var folder = ServerConfigurationManager.ApplicationPaths.TranscodingTempPath;
- var outputFileExtension = GetOutputFileExtension(state);
-
var data = GetCommandLineArguments("dummy\\dummy", state, false);
data += "-" + (state.Request.DeviceId ?? string.Empty);
@@ -802,7 +798,7 @@ namespace MediaBrowser.Api.Playback
{
state.User = UserManager.GetUserById(auth.UserId);
}
-
+
//if ((Request.UserAgent ?? string.Empty).IndexOf("iphone", StringComparison.OrdinalIgnoreCase) != -1 ||
// (Request.UserAgent ?? string.Empty).IndexOf("ipad", StringComparison.OrdinalIgnoreCase) != -1 ||
// (Request.UserAgent ?? string.Empty).IndexOf("ipod", StringComparison.OrdinalIgnoreCase) != -1)
@@ -878,9 +874,14 @@ namespace MediaBrowser.Api.Playback
if (string.IsNullOrEmpty(container))
{
+ container = request.Container;
+ }
+
+ if (string.IsNullOrEmpty(container))
+ {
container = request.Static ?
state.InputContainer :
- (Path.GetExtension(GetOutputFilePath(state)) ?? string.Empty).TrimStart('.');
+ GetOutputFileExtension(state);
}
state.OutputContainer = (container ?? string.Empty).TrimStart('.');
@@ -923,7 +924,10 @@ namespace MediaBrowser.Api.Playback
ApplyDeviceProfileSettings(state);
}
- state.OutputFilePath = GetOutputFilePath(state);
+ var ext = string.IsNullOrWhiteSpace(state.OutputContainer)
+ ? GetOutputFileExtension(state)
+ : ("." + state.OutputContainer);
+ state.OutputFilePath = GetOutputFilePath(state, ext);
return state;
}