Merged some fixes from private.coffee

This commit is contained in:
genuineparts 2025-05-01 12:38:49 +02:00
parent adbc9d29d9
commit 912aa99054
3 changed files with 21 additions and 5 deletions

View file

@ -44,7 +44,13 @@ class DownloadController extends BaseController
{
$url = $this->getVideoPageUrl($request);
$this->video = $this->downloader->getVideo($url, $this->getFormat($request), $this->getPassword($request));
$format = $this->getFormat($request);
if ($this->config->remux && $request->getQueryParam('remux')) {
$this->video = $this->downloader->getVideo($url, $format . "+bestaudio", $this->getPassword($request));
} else {
$this->video = $this->downloader->getVideo($url, $format, $this->getPassword($request));
}
try {
if ($this->config->convert && $request->getQueryParam('audio')) {
@ -106,6 +112,8 @@ class DownloadController extends BaseController
$to = $request->getQueryParam('to');
}
assert((is_string($from) || is_null($from)) && (is_string($to) || is_null($to)));
$response = $response->withHeader(
'Content-Disposition',
'attachment; filename="' .
@ -270,12 +278,12 @@ class DownloadController extends BaseController
$videoUrls = $this->video->getUrl();
} catch (EmptyUrlException $e) {
/*
If this happens it is probably a playlist
so it will either be handled by getStream() or throw an exception anyway.
* If this happens it is probably a playlist
* so it will either be handled by getStream() or throw an exception anyway.
*/
$videoUrls = [];
}
if (count($videoUrls) > 1) {
if (count($videoUrls) > 1 && !isset($this->video->entries)) {
return $this->getRemuxStream($request, $response);
} elseif ($this->config->stream && (isset($this->video->entries) || $request->getQueryParam('stream'))) {
return $this->getStream($request, $response);
@ -305,6 +313,9 @@ class DownloadController extends BaseController
*/
private function getConvertedResponse(Request $request, Response $response): Response
{
assert(is_string($request->getQueryParam('customFormat')));
assert(is_int($request->getQueryParam('customBitrate')));
$response = $response->withHeader(
'Content-Disposition',
'attachment; filename="' .
@ -316,7 +327,7 @@ class DownloadController extends BaseController
$process = $this->downloader->getConvertedStream(
$this->video,
$request->getQueryParam('customBitrate'),
$request->getQueryParam('customFormat')
$request->getQueryParam('customFormat')
);
$response = $response->withBody(new Stream($process));
}