Compare commits
2 Commits
3737edab72
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef7c24c884 | ||
|
|
f47ca67dae |
@@ -112,7 +112,7 @@ const maybeResetForInactivity = () => {
|
|||||||
resetLiveCaptionState();
|
resetLiveCaptionState();
|
||||||
};
|
};
|
||||||
|
|
||||||
router.get("/stream", sessionChecker, async (req, res) => {
|
router.get("/stream", async (req, res) => {
|
||||||
try {
|
try {
|
||||||
maybeResetForInactivity();
|
maybeResetForInactivity();
|
||||||
const sinceSequence = Number.parseInt(req.query?.sinceSequence, 10);
|
const sinceSequence = Number.parseInt(req.query?.sinceSequence, 10);
|
||||||
@@ -210,4 +210,38 @@ router.post("/reset", async (_, res) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.get("/public/stream", async (req, res) => {
|
||||||
|
try {
|
||||||
|
maybeResetForInactivity();
|
||||||
|
const sinceSequence = Number.parseInt(req.query?.sinceSequence, 10);
|
||||||
|
const requestedLimit = Number.parseInt(req.query?.limit, 10);
|
||||||
|
const initialLimit = Number.isFinite(requestedLimit)
|
||||||
|
? Math.max(1, Math.min(requestedLimit, MAX_INITIAL_LIMIT))
|
||||||
|
: DEFAULT_INITIAL_LIMIT;
|
||||||
|
|
||||||
|
let captions = [];
|
||||||
|
if (Number.isFinite(sinceSequence) && sinceSequence >= 0) {
|
||||||
|
captions = liveCaptionState.captions.filter((item) => item.sequence > sinceSequence);
|
||||||
|
} else {
|
||||||
|
captions = liveCaptionState.captions.slice(-initialLimit);
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.json({
|
||||||
|
status: "ok",
|
||||||
|
latestSequence: liveCaptionState.latestSequence,
|
||||||
|
startedAt: new Date(liveCaptionState.startedAt).toISOString(),
|
||||||
|
availableLanguages: getAvailableLanguages(),
|
||||||
|
captions,
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error getting public live captions stream", error);
|
||||||
|
return res.status(500).json({
|
||||||
|
status: "Internal server error",
|
||||||
|
latestSequence: liveCaptionState.latestSequence,
|
||||||
|
captions: [],
|
||||||
|
availableLanguages: [],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
|||||||
Reference in New Issue
Block a user