fix: handle missing frame params in simple playback path

Problem: LibraryView calls VideoPlayer without frame params, causing:
- startFrame=0, endFrame=undefined passed to API
- Backend returns error or malformed stream
- Video playback error: MEDIA_ELEMENT_ERROR: Format error

Solution: Only pass frame params when both startFrame and endFrame are defined.
If missing, play full video (no frame params to API).

Fixes regression from commit 1fd6312 (frame-based positioning)
This commit is contained in:
2026-07-24 22:00:35 +08:00
parent 55d0216083
commit 76c6ec183d

View File

@@ -888,17 +888,17 @@ onMounted(async () => {
emit('trace-change', currentTraceIdx.value)
} else {
try {
const stFrame = props.startFrame ?? 0
const enFrame = props.endFrame
const data = await apiCall('get_video_stream', {
const params: any = {
uuid: props.fileUuid,
startTime: null,
endTime: null,
startFrame: stFrame,
endFrame: enFrame,
original: props.useOriginal,
})
}
if (props.startFrame != null && props.endFrame != null) {
params.startFrame = props.startFrame
params.endFrame = props.endFrame
}
const data = await apiCall('get_video_stream', params)
if (typeof data === 'string') {
videoSrc.value = data
} else {