renderFrames only collects audio from the first tab, so short clips can be missing with concurrency > 1
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- react, typescript
- Área
- audio-video-rtc, backend
Línea de trabajo
Start at renderFrames, where the issue says audio sources are read from pages[0]; inspect how pages render queued frames and where audioSources is returned. Reproduce with the provided two-frame composition at concurrency 2, then check that sources from all pages are included and duplicate keys collapse. A fix is already being pursued in linked pull request #27.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
After rendering, renderFrames reads window.__RENDIV_AUDIO_SOURCES__ from pages[0] only. Each tab has its own window, and an <Audio> only registers in the tab that rendered a frame where it was mounted. So if a clip only mounts on frames that other tabs rendered, it isn't collected and silently drops out of the mix.
Since every tab pulls frames from the same queue, each one ends up rendering roughly every Nth frame (N = concurrency). In practice that means it mostly hits clips whose <Sequence> is shorter than the concurrency. Longer clips almost always get mounted in the first tab at some point too.
Repro:
const TwoTabs = () => (
<>
<Fill style={{ background: '#123' }} />
<Sequence from={0} durationInFrames={1}><Audio src={staticFile('a.mp3')} /></Sequence>
<Sequence from={1} durationInFrames={1}><Audio src={staticFile('b.mp3')} /></Sequence>
</>
);
// <Composition id="TwoTabs" component={TwoTabs} durationInFrames={2} fps={30} width={320} height={180} />
With renderFrames({ ..., concurrency: 2 }), tab 1 renders frame 0 and tab 2 renders frame 1. On master (6d6aca2) the returned audioSources only has a.mp3.
Reading the map from every page and merging by key fixes it. The keys are already content-based, so duplicates collapse on their own. That's in #27.
- Lenguaje dominante
- TypeScript
- Estrellas
- 159
- Forks
- 32
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de thecodacus/rendiv
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
thecodacus/rendiv#17 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
thecodacus/rendiv#16 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
thecodacus/rendiv#15 ·
-
Feature request: keepFrames option on renderMedia (frames get deleted when the stitch fails)Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
thecodacus/rendiv#24 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
thecodacus/rendiv#23 ·
Todos los issues de thecodacus/rendiv
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 91/100
marimo-team/marimo#11768 ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue priority: high size: XS
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
openclaw/openclaw#195577 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
[Studio feedback] 对话内容向下滚动时执行过程吸顶时,由于背景色是透明的,导致执行过程标题与下面的具体执行内容重叠,导致了两行信息重叠显示;建议执行过程的背景色设置为会话界面的背景Abiertobug from-studio
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
esengine/DeepSeek-Reasonix#15044 ·
Los mantenedores suelen responder en 1 día
-
Web wizard: "Launch without Sandbox" can switch a Structured create to Terminal in the same clickAbiertoarea:web bug needs-triage P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
agent-of-empires/agent-of-empires#5489 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día