diff options
Diffstat (limited to 'MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs')
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs index 50929e6f3..94cf984d2 100644 --- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs +++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs @@ -316,17 +316,22 @@ namespace MediaBrowser.Api.Playback.Progressive CancellationToken = cancellationTokenSource.Token }; - var response = await HttpClient.GetResponse(options).ConfigureAwait(false); - - responseHeaders["Accept-Ranges"] = "none"; + if (!string.IsNullOrWhiteSpace(Request.QueryString["Range"])) + { + options.RequestHeaders["Range"] = Request.QueryString["Range"]; + } - var length = response.Headers["Content-Length"]; + var response = await HttpClient.GetResponse(options).ConfigureAwait(false); - if (!string.IsNullOrEmpty(length)) + foreach (var name in new[] { "Content-Length", "Content-Range", "Accept-Ranges" }) { - responseHeaders["Content-Length"] = length; + var val = response.Headers[name]; + if (!string.IsNullOrWhiteSpace(val)) + { + responseHeaders[name] = val; + } } - + if (isHeadRequest) { using (response.Content) |
