Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

frame: vrlink: decoder worker stops on `EAGAIN` and takes a second to restart

Abierto
#2,940 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ValveSoftware/SteamOS

Todos los issues de ValveSoftware/SteamOS

Issues similares

Más issues de Audio/Video & RTC

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.