fix: enforce frame-based positioning across all video playback
Core Principle: Frame is the only standard Changes: - VideoPlayer: Add startFrame/endFrame props - VideoPlayer: Use frame parameters in simple playback path - SearchView: Remove frame/time conversion (stop using fps = 24) - PeopleView: Pass frames directly instead of time - PersonDetailView: Pass frames directly instead of time All video streams now use startFrame/endFrame API parameters. Time conversion only happens in VideoPlayer internals for UI display. Ref: frame-based positioning standards research
This commit is contained in:
@@ -161,6 +161,8 @@ const props = withDefaults(defineProps<{
|
||||
fileUuid: string
|
||||
startTime?: number
|
||||
endTime?: number
|
||||
startFrame?: number
|
||||
endFrame?: number
|
||||
allTraces?: any[]
|
||||
mergedSegments?: any[]
|
||||
initialTraceIdx?: number
|
||||
@@ -886,10 +888,15 @@ onMounted(async () => {
|
||||
emit('trace-change', currentTraceIdx.value)
|
||||
} else {
|
||||
try {
|
||||
const st = props.startTime ?? 0
|
||||
pendingSeekTime.value = st
|
||||
const stFrame = props.startFrame ?? 0
|
||||
const enFrame = props.endFrame
|
||||
|
||||
const data = await apiCall('get_video_stream', {
|
||||
uuid: props.fileUuid,
|
||||
startTime: null,
|
||||
endTime: null,
|
||||
startFrame: stFrame,
|
||||
endFrame: enFrame,
|
||||
original: props.useOriginal,
|
||||
})
|
||||
if (typeof data === 'string') {
|
||||
|
||||
Reference in New Issue
Block a user