jamulussoftware / jamulussoftware/jamulus
Add Local- and Server- buffererror detection in CChannel
- Lingua principale
- C
- Stelle
- 1.1k
- Fork
- 248
- Merge medio
- 2g 3h
- PR unite (30g)
- 9
Descrizione
**What is the current behaviour and why should it be changed?**
Adding JitterBuffer error detection for both client and server side errors in CChannel.
(Preparation for issue #2524. As discussed in issue #2524)
At this moment there is only a jitterbuffer error detection for the client side, implemented in CClient.
A better way of detection can be implemented in CChannel and also the protocol will be extended (fully backwards compatible, no new messages.) to provide jitterbuffer error flags for both client and server on the client side.
**Describe possible approaches**
See the discussion in issue #2524.
Pro's:
- Client can now indicate Local buffer underuns as well as Server buffer underruns, making manual buffer setting easier for most users.
- Fully backwards compatible.
Cons:
- Still no server-side buffer underrun indication when connected to old servers (But in this case the client will hide the Server Jitter Buffer Status LED.).
We will use the PROTMESSID_JITT_BUF_SIZE message with buffersize=0 to send buffer underrun information from server to client. (The other way around would also be possible, but I don't see any use for it at the server side.)
The server will always explicitly send a "buffer underrun" message during connection setup, so the client will know that the server supports this new message (since old servers never send it.).
CChannel will have Get-And-Reset functions for both flags for use by CClient.
**Has this feature been discussed and generally agreed?**
See the discussion in issue #2524.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia leggendo il rilevamento esistente degli errori del jitter-buffer in CClient e la gestione in CChannel relativa a PROTMESSID_JITT_BUF_SIZE; consulta l’issue #2524 per il comportamento concordato. Implementa i flag di buffer-underrun locale e del server e il loro utilizzo da parte di CClient tramite Get-And-Reset, preservando la compatibilità con i server meno recenti. Il lavoro è completato quando entrambi gli stati vengono segnalati correttamente e la capacità del server viene rilevata durante la configurazione della connessione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c
- Ambito
- audio-video-rtc, networking
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100