Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

decodeQueueSize/encodeQueueSize is not updated on the task where dequeue event is fired

Aperta
#724 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
javascript
Ambito
api, web-dev

Direzione di ricerca

Inizia con gli algoritmi di reset, close e dequeue-event di WebCodecs encoder e decoder descritti dall’issue. Traccia quando gli aggiornamenti di queue-size, gli error callbacks e i dequeue tasks sono osservabili da JavaScript, quindi stabilisci il comportamento previsto per AbortError e per le race tra close e reset. Il lavoro è completato quando l’event timing e le state transitions sono specificati in modo coerente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

CR Blocking

The usual pattern is to update a read-only attribute value and synchronously fire the corresponding event.
This is not the case for decoders/encoders, I wonder why. Note this means that the timing where the control messages are run is somehow observable to JS.

Also, now that we execute the error callback synchronously as part of the close encoder/decoder algorithm, the corresponding dequeue event is fired in a task after the error callback execution. This might be a bit surprising to applications.

I wonder whether we could consider something along those lines:

  • In case of reset/close with non AbortError, fire the dequeue event synchronously so that it happens just before the error callback execution.
  • In case of AbortError reset/closure, do not fire the dequeue event (the app triggered reset/close so does not really need a dequeue event).
  • In case of close being called by the web application between the time the dequeue event task is scheduled and the time the task runs, do not fire the dequeue event. The same approach could be useful for reset as well but might require introducing more states.
Lingua principale
HTML
Stelle
1.3k
Fork
192
Merge medio
3h 36m
PR unite (30g)
7

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di w3c/webcodecs

Tutte le issue di w3c/webcodecs

Issue simili

Altre issue su Backend & API Design

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.