aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-09-26 13:09:42 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-09-26 13:09:42 -0400
commita0d82a02c8059dbacacac727d334b3d39c052a48 (patch)
treeb38ab176ecb55d0ec7c5a611d697c3b49e8d1a35
parent099b823f2f65f24216a511e2fc8f6e20c36bd2d0 (diff)
update param encoding
-rw-r--r--Emby.Server.Implementations/Emby.Server.Implementations.csproj2
-rw-r--r--Emby.Server.Implementations/HttpServer/HttpListenerHost.cs6
-rw-r--r--Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs5
-rw-r--r--Emby.Server.Implementations/LiveTv/TunerHosts/MulticastStream.cs81
-rw-r--r--Emby.Server.Implementations/LiveTv/TunerHosts/QueueStream.cs45
-rw-r--r--MediaBrowser.Model/Dlna/StreamInfo.cs4
-rw-r--r--SharedVersion.cs2
7 files changed, 13 insertions, 132 deletions
diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
index 41a62a417..2a74817c2 100644
--- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj
+++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
@@ -427,8 +427,6 @@
<Compile Include="LiveTv\TunerHosts\HdHomerun\HdHomerunUdpStream.cs" />
<Compile Include="LiveTv\TunerHosts\M3uParser.cs" />
<Compile Include="LiveTv\TunerHosts\M3UTunerHost.cs" />
- <Compile Include="LiveTv\TunerHosts\MulticastStream.cs" />
- <Compile Include="LiveTv\TunerHosts\QueueStream.cs" />
<Compile Include="Localization\LocalizationManager.cs" />
<Compile Include="Localization\TextLocalizer.cs" />
<Compile Include="Logging\ConsoleLogger.cs" />
diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs
index 0e68389da..031d1d90b 100644
--- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs
+++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs
@@ -731,6 +731,12 @@ namespace Emby.Server.Implementations.HttpServer
public object DeserializeJson(Type type, Stream stream)
{
+ //using (var reader = new StreamReader(stream))
+ //{
+ // var json = reader.ReadToEnd();
+ // Logger.Info(json);
+ // return _jsonSerializer.DeserializeFromString(json, type);
+ //}
return _jsonSerializer.DeserializeFromStream(stream, type);
}
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs
index 17b3713c4..0ae7098b1 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs
+++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs
@@ -39,7 +39,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
_tempFilePath = Path.Combine(appPaths.TranscodingTempPath, UniqueId + ".ts");
}
- protected override async Task OpenInternal(CancellationToken openCancellationToken)
+ protected override Task OpenInternal(CancellationToken openCancellationToken)
{
_liveStreamCancellationTokenSource.Token.ThrowIfCancellationRequested();
@@ -66,7 +66,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
//OpenedMediaSource.SupportsDirectStream = true;
//OpenedMediaSource.SupportsTranscoding = true;
- await taskCompletionSource.Task.ConfigureAwait(false);
+ return taskCompletionSource.Task;
//await Task.Delay(5000).ConfigureAwait(false);
}
@@ -160,6 +160,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
while (!cancellationToken.IsCancellationRequested)
{
StreamHelper.CopyTo(inputStream, stream, 81920, cancellationToken);
+ //await inputStream.CopyToAsync(stream, 81920, cancellationToken).ConfigureAwait(false);
//var position = fs.Position;
//_logger.Debug("Streamed {0} bytes to position {1} from file {2}", bytesRead, position, path);
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/MulticastStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/MulticastStream.cs
deleted file mode 100644
index 45a0c348e..000000000
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/MulticastStream.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-using System;
-using System.Collections.Concurrent;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Net;
-
-namespace Emby.Server.Implementations.LiveTv.TunerHosts
-{
- public class MulticastStream
- {
- private readonly ConcurrentDictionary<Guid, QueueStream> _outputStreams = new ConcurrentDictionary<Guid, QueueStream>();
- private const int BufferSize = 81920;
- private readonly ILogger _logger;
-
- public MulticastStream(ILogger logger)
- {
- _logger = logger;
- }
-
- public async Task CopyUntilCancelled(Stream source, Action onStarted, CancellationToken cancellationToken)
- {
- if (source == null)
- {
- throw new ArgumentNullException("source");
- }
-
- while (true)
- {
- cancellationToken.ThrowIfCancellationRequested();
-
- byte[] buffer = new byte[BufferSize];
-
- var bytesRead = source.Read(buffer, 0, buffer.Length);
-
- if (bytesRead > 0)
- {
- foreach (var stream in _outputStreams)
- {
- stream.Value.Queue(buffer, 0, bytesRead);
- }
-
- if (onStarted != null)
- {
- var onStartedCopy = onStarted;
- onStarted = null;
- Task.Run(onStartedCopy);
- }
- }
-
- else
- {
- await Task.Delay(100).ConfigureAwait(false);
- }
- }
- }
-
- public Task CopyToAsync(Stream stream, CancellationToken cancellationToken)
- {
- var queueStream = new QueueStream(stream, _logger);
-
- _outputStreams.TryAdd(queueStream.Id, queueStream);
-
- try
- {
- queueStream.Start(cancellationToken);
- }
- finally
- {
- _outputStreams.TryRemove(queueStream.Id, out queueStream);
- GC.Collect();
- }
-
- return Task.FromResult(true);
- }
- }
-}
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/QueueStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/QueueStream.cs
deleted file mode 100644
index 07a4daa87..000000000
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/QueueStream.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using System;
-using System.Collections.Concurrent;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Model.Logging;
-
-namespace Emby.Server.Implementations.LiveTv.TunerHosts
-{
- public class QueueStream
- {
- private readonly Stream _outputStream;
- private readonly BlockingCollection<Tuple<byte[], int, int>> _queue = new BlockingCollection<Tuple<byte[], int, int>>();
-
- private readonly ILogger _logger;
- public Guid Id = Guid.NewGuid();
-
- public QueueStream(Stream outputStream, ILogger logger)
- {
- _outputStream = outputStream;
- _logger = logger;
- }
-
- public void Queue(byte[] bytes, int offset, int count)
- {
- _queue.Add(new Tuple<byte[], int, int>(bytes, offset, count));
- }
-
- public void Start(CancellationToken cancellationToken)
- {
- while (true)
- {
- foreach (var result in _queue.GetConsumingEnumerable())
- {
- cancellationToken.ThrowIfCancellationRequested();
-
- _outputStream.Write(result.Item1, result.Item2, result.Item3);
- }
- }
- }
- }
-}
diff --git a/MediaBrowser.Model/Dlna/StreamInfo.cs b/MediaBrowser.Model/Dlna/StreamInfo.cs
index fe5aaa739..2019acd0d 100644
--- a/MediaBrowser.Model/Dlna/StreamInfo.cs
+++ b/MediaBrowser.Model/Dlna/StreamInfo.cs
@@ -169,7 +169,9 @@ namespace MediaBrowser.Model.Dlna
continue;
}
- list.Add(string.Format("{0}={1}", pair.Name, pair.Value));
+ var encodedValue = pair.Value.Replace(" ", "%20");
+
+ list.Add(string.Format("{0}={1}", pair.Name, encodedValue));
}
string queryString = string.Join("&", list.ToArray(list.Count));
diff --git a/SharedVersion.cs b/SharedVersion.cs
index 53f824397..f48c78f88 100644
--- a/SharedVersion.cs
+++ b/SharedVersion.cs
@@ -1,3 +1,3 @@
using System.Reflection;
-[assembly: AssemblyVersion("3.2.32.7")]
+[assembly: AssemblyVersion("3.2.32.8")]