cobalt/api/src/stream/stream.js

33 lines
842 B
JavaScript

import proxy from "./proxy.js";
import ffmpeg from "./ffmpeg.js";
import { closeResponse } from "./shared.js";
import { internalStream } from "./internal.js";
export default async function(res, streamInfo) {
try {
switch (streamInfo.type) {
case "proxy":
return await proxy(streamInfo, res);
case "internal":
return await internalStream(streamInfo.data, res);
case "merge":
case "remux":
case "mute":
return await ffmpeg.remux(streamInfo, res);
case "audio":
return await ffmpeg.convertAudio(streamInfo, res);
case "gif":
return await ffmpeg.convertGif(streamInfo, res);
}
closeResponse(res);
} catch {
closeResponse(res);
}
}