VideoFrame.copyTo is manipulating JS objects in a background queue
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
- Área
- api
Línea de trabajo
Start with the WebCodecs specification's VideoFrame.copyTo algorithm and trace where the JS-visible destination is written and where RGB conversion occurs. Compare the four proposed API or specification directions, then define a chosen approach whose completion criteria cover safe destination mutation and the desired handling of RGB conversion.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
As per https://w3c.github.io/webcodecs/#dom-videoframe-copyto, destination which is a JS visible object is written from a background queue task, which is an anti-pattern.
This creates problems (JS observability, destination mutating during the copyTo tasks).
There are various ways to fix this, for instance:
- make
copyToalgorithm synchronous - Expose a new asynchronous API that would transfer the destination buffer and provide the returned value as part of the promise value.
- Extend
copyToAPI surface to implement 2 within it. - Change the spec to write
destinationasynchronously but in an event loop task with additional checks, even if UA may do it in a smarter way.
As a side note, copyTo algorithm is also synchronously converting to RGB.
It would be convenient to do this asynchronously, which is feasible by cloning the VideoFrame synchronously and using the cloned VideoFrame in the remainder of the algorithm.
- Lenguaje dominante
- HTML
- Estrellas
- 1.3k
- Forks
- 191
- Merge medio
- 21 h 7 min
- PR fusionados (30 d)
- 8
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 w3c/webcodecs
-
privacy-needs-resolution
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
editorial
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Automatic publishing for vp9 codec registration doesn't workPosiblemente ocupada @Djuffin la tomó hace 2 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
w3c/webcodecs#974 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
w3c/webcodecs#973 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
w3c/webcodecs#972 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de w3c/webcodecs
Issues similares
-
Object parameters lose their structure when resources is enabledPosiblemente ocupada @asts-top la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
temporalio/sdk-ruby#625 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
registrystack/registry-stack#2168 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 92/100