frame: vrlink: decoder worker stops on `EAGAIN` and takes a second to restart
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- linux
- Área
- audio-video-rtc
Línea de trabajo
The payload names SVLCodecV4L2::MediaThread, SVLCodecV4L2::CheckStuck, SoftReset and HardReset, and the VIDIOC_DQBUF call that returns EAGAIN. This repository is a community tracker, so the source for these is not in it, and the payload does not show where to start reading. The issue asks for no specific change, so a first step would be confirming with maintainers where the code lives and whether a reproduction exists before any edit.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This seems to happen shortly after the headset issues a stream reset, so I think there's a race between decoder reset and the decoder worker dequeueing the output buffer. Here's a log of one such event:
19:12:55.502540 Received frame outside of backtrack window. Resetting.
19:12:55.503863 SVLCodecV4L2::MediaThread: Failed to dequeue output buffer. -1 [11 Resource temporarily unavailable]
19:12:55.880790 SVLCodecV4L2::CheckStuck: > 300ms between our last forward progress. Asking remote side for a new IFrame
...
19:12:56.556407 SVLCodecV4L2::CheckStuck: > 800ms between our last forward progress. Reset.
19:12:56.556424 SVLCodecV4L2::SoftReset: Doing a hard reset.
19:12:56.556437 SVLCodecV4L2::HardReset: Called!
What happens is SVLCodecV4L2::MediaThread gets an EAGAIN on VIDIOC_DQBUF, indicating that there's nothing to dequeue. At which point it exits...
This completely stops frame decoding, the watchdog (SVLCodecV4L2::CheckStuck) notices something went wrong after 300ms (so about 300 years in frame time) and issues another stream reset. Then it waits some more time before deciding to restart the decoder (and issue yet another reset).
So, all in all, a reset can trigger a 1 second freeze.
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 2.6k
- Forks
- 88
- 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 ValveSoftware/SteamOS
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ValveSoftware/SteamOS#2983 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ValveSoftware/SteamOS#2927 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ValveSoftware/SteamOS#2875 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ValveSoftware/SteamOS#2856 ·
-
steam-short-session-tracker: incorrect registry backup path resets settings during automatic repairAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
ValveSoftware/SteamOS#2829 ·
Todos los issues de ValveSoftware/SteamOS
Issues similares
-
affects: release/1.3
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
SynthstromAudible/DelugeFirmware#5166 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
bug confirmed issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
open-webui/open-webui#33232 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
WebRTC audio: stop_recording() doesn't flush queued samplesPosiblemente ocupada @bniladridas la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
pollen-robotics/reachy_mini#1508 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 2 días