frame: vrlink: decoder worker stops on `EAGAIN` and takes a second to restart
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- linux
- Ambito
- audio-video-rtc
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 2.6k
- Fork
- 88
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ValveSoftware/SteamOS
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ValveSoftware/SteamOS#2983 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ValveSoftware/SteamOS#2927 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ValveSoftware/SteamOS#2875 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ValveSoftware/SteamOS#2856 ·
-
steam-short-session-tracker: incorrect registry backup path resets settings during automatic repairAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
ValveSoftware/SteamOS#2829 ·
Tutte le issue di ValveSoftware/SteamOS
Issue simili
-
Song reverb HPF is saved but not applied on loadForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaaffects: release/1.3
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
SynthstromAudible/DelugeFirmware#5166 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
WebRTC audio: stop_recording() doesn't flush queued samplesForse già presa @bniladridas l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
pollen-robotics/reachy_mini#1508 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 2 giorni