Show only recent streams

This commit is contained in:
Kieran 2023-06-22 20:47:21 +01:00
parent 64ddb87cc3
commit 15ac0cacb3
Signed by: Kieran
GPG Key ID: DE71CEB3925BE941
2 changed files with 25 additions and 18 deletions

View File

@ -13,22 +13,27 @@ export function LiveVideoPlayer(props: HTMLProps<HTMLVideoElement> & { stream?:
useEffect(() => {
if (streamCached && video.current && !video.current.src && Hls.isSupported()) {
const hls = new Hls();
hls.loadSource(streamCached);
hls.attachMedia(video.current);
hls.on(Hls.Events.ERROR, (event, data) => {
console.debug(event, data);
const errorType = data.type;
if (errorType === Hls.ErrorTypes.NETWORK_ERROR) {
hls.stopLoad();
hls.detachMedia();
setStatus(VideoStatus.Offline);
}
})
hls.on(Hls.Events.MANIFEST_PARSED, () => {
setStatus(VideoStatus.Online);
})
return () => hls.destroy();
try {
const hls = new Hls();
hls.loadSource(streamCached);
hls.attachMedia(video.current);
hls.on(Hls.Events.ERROR, (event, data) => {
console.debug(event, data);
const errorType = data.type;
if (errorType === Hls.ErrorTypes.NETWORK_ERROR) {
hls.stopLoad();
hls.detachMedia();
setStatus(VideoStatus.Offline);
}
})
hls.on(Hls.Events.MANIFEST_PARSED, () => {
setStatus(VideoStatus.Online);
})
return () => hls.destroy();
} catch (e) {
console.error(e);
setStatus(VideoStatus.Offline);
}
}
}, [video, streamCached]);
return (

View File

@ -1,16 +1,18 @@
import "./root.css";
import { useMemo } from "react";
import { unixNow } from "@snort/shared";
import { EventKind, ParameterizedReplaceableNoteStore, RequestBuilder } from "@snort/system";
import { useRequestBuilder } from "@snort/system-react";
import { System } from "..";
import { VideoTile } from "../element/video-tile";
import { findTag } from "utils";
export function RootPage() {
export function RootPage() {
const rb = new RequestBuilder("root");
rb.withFilter()
.kinds([30_311 as EventKind]);
.kinds([30_311 as EventKind])
.since(unixNow() - 86400);
const feed = useRequestBuilder<ParameterizedReplaceableNoteStore>(System, ParameterizedReplaceableNoteStore, rb);
const feedSorted = useMemo(() => {