jamulussoftware / jamulussoftware/jamulus
Improve the jitter buffer
- Lenguaje dominante
- C
- Estrellas
- 1.1k
- Forks
- 248
- Merge medio
- 2 d 3 h
- PR fusionados (30 d)
- 9
Descripción
The idea is:
A new jitter buffer uses a timing histogram to compute the actual jitter relative to the audio device or system clock timer.
A bit sequence will be added to all transmitted frames to improve the jitter histogram computation.
Open issues:
- What about compatibility to old Jamulus servers and clients?
- How does the new auto jitter buffer algorithm behave? For what situation is it optimized? See, e.g., https://github.com/corrados/jamulus/issues/417.
- The old algorithm was designed to measure the block error rate for different jitter buffer sizes. What is the metric for the new auto jitter buffer algorithm to set the buffer size?
- We are using an unused bit in the OPUS bit stream. Question: Why is this bit not used? Is it a reserved bit? Do we have a reference to the OPUS specification document, where this bit is mentioned? Is there a risk that at a later version of OPUS that this bit is then used by OPUS and we cannot upgrade Jamulus to a new OPUS version?
- A documentation of the algorithm should be added so that others can understand what's going on and can improve/tune the new algorithm.
A first patch is already available: https://github.com/corrados/jamulus/pull/539.
See also the discussion in the pull request: https://github.com/corrados/jamulus/pull/529#issuecomment-678292903
Guía de contribución
Línea de trabajo
Comienza revisando el primer parche de pull request #539 y la discusión de pull request #529. Examina el histograma de tiempos propuesto, la secuencia de bits del frame transmitido, la compatibilidad con clientes y servidores antiguos y el uso de bits de OPUS. Para darlo por terminado, debe haber un algoritmo y una métrica establecidos, las cuestiones de compatibilidad y especificación resueltas y el algoritmo documentado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- c
- Área
- audio-video-rtc
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 20/100