mirror of
https://github.com/koel/koel
synced 2025-02-17 13:58:28 +00:00
fix: direct streaming with PHP not working for Safari (#1630)
This commit is contained in:
parent
66e1ee411c
commit
cb84f14f34
1 changed files with 7 additions and 2 deletions
|
@ -19,8 +19,13 @@ class PhpStreamer extends Streamer implements DirectStreamerInterface
|
|||
public function stream(): void
|
||||
{
|
||||
try {
|
||||
$rangeSet = RangeSet::createFromHeader(get_request_header('Range'));
|
||||
$resource = new FileResource($this->song->path);
|
||||
$rangeHeader = get_request_header('Range');
|
||||
|
||||
// On Safari, "Range" header value can be "bytes=0-1" which breaks streaming.
|
||||
$rangeHeader = $rangeHeader === 'bytes=0-1' ? 'bytes=0-' : $rangeHeader;
|
||||
|
||||
$rangeSet = RangeSet::createFromHeader($rangeHeader);
|
||||
$resource = new FileResource($this->song->path, mime_content_type($this->song->path));
|
||||
(new ResourceServlet($resource))->sendResource($rangeSet);
|
||||
} catch (InvalidRangeHeaderException) {
|
||||
abort(Response::HTTP_BAD_REQUEST);
|
||||
|
|
Loading…
Add table
Reference in a new issue