mirror of
https://github.com/wukko/cobalt.git
synced 2024-11-16 13:19:58 +00:00
6e9f9efa28
- completely reworked vimeo module. - added support for audio downloads from vimeo. - added support for chop type of dash for vimeo. - added ability to choose between progressive and dash vimeo downloads. both to api and settings on frontend. - added support for single m3u8 playlists. will be useful for future additions and is currently used for vimeo. - proper error is now shown if there are no matching vimeo videos found - temporarily disabled douyin support because bytedance killed off old endpoint. - fixed the issue related to periods in tiktok usernames. (closes #96) - fixed error text value patching in match module. - fixed video stream removal for audio only option, wouldn't work in some edge cases. - minor clean up.
32 lines
1 KiB
JavaScript
32 lines
1 KiB
JavaScript
import { apiJSON } from "../sub/utils.js";
|
|
import { verifyStream } from "./manage.js";
|
|
import { streamAudioOnly, streamDefault, streamLiveRender, streamVideoOnly } from "./types.js";
|
|
|
|
export default function(res, ip, id, hmac, exp) {
|
|
try {
|
|
let streamInfo = verifyStream(ip, id, hmac, exp);
|
|
if (streamInfo.error) {
|
|
res.status(streamInfo.status).json(apiJSON(0, { t: streamInfo.error }).body);
|
|
return;
|
|
}
|
|
if (streamInfo.isAudioOnly && streamInfo.type !== "bridge") {
|
|
streamAudioOnly(streamInfo, res);
|
|
return;
|
|
}
|
|
switch (streamInfo.type) {
|
|
case "render":
|
|
streamLiveRender(streamInfo, res);
|
|
break;
|
|
case "videoM3U8":
|
|
case "mute":
|
|
streamVideoOnly(streamInfo, res);
|
|
break;
|
|
default:
|
|
streamDefault(streamInfo, res);
|
|
break;
|
|
}
|
|
} catch (e) {
|
|
res.status(500).json({ status: "error", text: "Internal Server Error" });
|
|
}
|
|
}
|