1
0
Fork 0
mirror of https://github.com/Yetangitu/ampache synced 2025-10-03 09:49:30 +02:00

Fix byte range request response

Example range request: "Range: bytes=2582528-"
would return response: "Content-Range: bytes 2582528-0/2583490"
as $end stayed 0.
This commit is contained in:
Joel Klinghed 2014-06-28 17:59:53 +02:00
parent 4f9c971e72
commit 331776e7f0

View file

@ -425,16 +425,16 @@ if (get_class($media) == 'Song') {
$start = 0;
$end = 0;
sscanf($_SERVER['HTTP_RANGE'], "bytes=%d-%d", $start, $end);
$range_values = sscanf($_SERVER['HTTP_RANGE'], "bytes=%d-%d", $start, $end);
if ($start > 0 || $end > 0) {
if ($range_values > 0 && ($start > 0 || $end > 0)) {
// Calculate stream size from byte range
if ($end > 0) {
if ($range_values >= 2) {
$end = min($end, $media->size - 1);
$stream_size = ($end - $start) + 1;
} else {
$stream_size = $media->size - $start;
$end = $media->size - 1;
}
$stream_size = ($end - $start) + 1;
if ($stream_size == null) {
debug_event('play', 'Content-Range header received, which we cannot fulfill due to unknown final length (transcoding?)', 2);