aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs5
-rw-r--r--MediaBrowser.Api/Playback/Hls/AudioHlsService.cs5
-rw-r--r--MediaBrowser.Api/Playback/Hls/VideoHlsService.cs5
-rw-r--r--MediaBrowser.Api/Playback/Progressive/AudioService.cs7
-rw-r--r--MediaBrowser.Api/Playback/Progressive/VideoService.cs5
5 files changed, 22 insertions, 5 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index b2b37a1ac..7f3c7ca9e 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -426,11 +426,6 @@ namespace MediaBrowser.Api.Playback
{
if (audioStream.Channels > 2 && request.AudioCodec.HasValue)
{
- if (request.AudioCodec.Value == AudioCodecs.Aac)
- {
- // libvo_aacenc currently only supports two channel output
- return 2;
- }
if (request.AudioCodec.Value == AudioCodecs.Wma)
{
// wmav2 currently only supports two channel output
diff --git a/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs b/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs
index f72006a23..a666d4628 100644
--- a/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs
+++ b/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs
@@ -93,6 +93,11 @@ namespace MediaBrowser.Api.Playback.Hls
var args = "-codec:a " + codec;
+ if (string.Equals(codec, "aac", StringComparison.OrdinalIgnoreCase))
+ {
+ args += " -strict experimental";
+ }
+
var channels = GetNumAudioChannelsParam(state.Request, state.AudioStream);
if (channels.HasValue)
diff --git a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs
index 42a1bf839..827333598 100644
--- a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs
+++ b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs
@@ -98,6 +98,11 @@ namespace MediaBrowser.Api.Playback.Hls
if (state.AudioStream != null)
{
+ if (string.Equals(codec, "aac", StringComparison.OrdinalIgnoreCase))
+ {
+ args += " -strict experimental";
+ }
+
var channels = GetNumAudioChannelsParam(state.Request, state.AudioStream);
if (channels.HasValue)
diff --git a/MediaBrowser.Api/Playback/Progressive/AudioService.cs b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
index f5a95d898..b6a7c7204 100644
--- a/MediaBrowser.Api/Playback/Progressive/AudioService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
@@ -3,7 +3,9 @@ using MediaBrowser.Common.MediaInfo;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Library;
using ServiceStack.ServiceHost;
+using System;
using System.Collections.Generic;
+using System.IO;
namespace MediaBrowser.Api.Playback.Progressive
{
@@ -84,6 +86,11 @@ namespace MediaBrowser.Api.Playback.Progressive
var audioTranscodeParams = new List<string>();
+ if (string.Equals(Path.GetExtension(outputPath), ".aac", StringComparison.OrdinalIgnoreCase))
+ {
+ audioTranscodeParams.Add("-strict experimental");
+ }
+
if (request.AudioBitRate.HasValue)
{
audioTranscodeParams.Add("-ab " + request.AudioBitRate.Value);
diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
index 117b6033f..3e92c96ec 100644
--- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
@@ -217,6 +217,11 @@ namespace MediaBrowser.Api.Playback.Progressive
var args = "-acodec " + codec;
+ if (string.Equals(codec, "aac", StringComparison.OrdinalIgnoreCase))
+ {
+ args += " -strict experimental";
+ }
+
// Add the number of audio channels
var channels = GetNumAudioChannelsParam(request, state.AudioStream);