fix: validate stream_url and clear stale session on error
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -60,6 +60,10 @@ pub fn resolve(url: &str, cookie_source: &CookieSource) -> Result<VideoMetadata,
|
|||||||
.trim()
|
.trim()
|
||||||
.to_string();
|
.to_string();
|
||||||
|
|
||||||
|
if stream_url.is_empty() {
|
||||||
|
return Err("yt-dlp returned an empty stream URL".to_string());
|
||||||
|
}
|
||||||
|
|
||||||
Ok(VideoMetadata {
|
Ok(VideoMetadata {
|
||||||
url: url.to_string(),
|
url: url.to_string(),
|
||||||
title: meta.title,
|
title: meta.title,
|
||||||
|
|||||||
@@ -38,19 +38,7 @@ export function setMetadata(meta: VideoMetadata) {
|
|||||||
session.thumbnailSpritesheets = [];
|
session.thumbnailSpritesheets = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setError(msg: string) {
|
function clearMediaFields() {
|
||||||
session.status = 'error';
|
|
||||||
session.error = msg;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setResolving() {
|
|
||||||
session.status = 'resolving';
|
|
||||||
session.error = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function reset() {
|
|
||||||
session.status = 'idle';
|
|
||||||
session.error = null;
|
|
||||||
session.url = '';
|
session.url = '';
|
||||||
session.title = '';
|
session.title = '';
|
||||||
session.duration = 0;
|
session.duration = 0;
|
||||||
@@ -65,3 +53,21 @@ export function reset() {
|
|||||||
session.waveformPeaks = [];
|
session.waveformPeaks = [];
|
||||||
session.thumbnailSpritesheets = [];
|
session.thumbnailSpritesheets = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function setError(msg: string) {
|
||||||
|
reset();
|
||||||
|
session.status = 'error';
|
||||||
|
session.error = msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setResolving() {
|
||||||
|
clearMediaFields();
|
||||||
|
session.status = 'resolving';
|
||||||
|
session.error = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function reset() {
|
||||||
|
clearMediaFields();
|
||||||
|
session.status = 'idle';
|
||||||
|
session.error = null;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user