Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Oboe: input copy is bounded after the copy, not before

Aberta
#3,958 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
76/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
cpp
Domínio
audio-video-rtc

Direção de pesquisa

Start in src/sound/oboe/sound.cpp at CSound::onAudioInput and read Init around the cited buffer sizing. Trace the requested and received frame counts through the callback, especially the copy and following comparison. Done means an oversized numFrames cannot write beyond vecsTmpInputAudioSndCrdStereo and the existing mismatch handling remains appropriate.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

🤖 AI: CSound::onAudioInput copies the driver's buffer into a fixed-size vector, then compares the frame count it was handed with the one it asked for.

The copy writes numFrames * getChannelCount() samples into vecsTmpInputAudioSndCrdStereo, which Init sizes once to iOboeBufferSizeStereo. The comparison that would catch numFrames exceeding iOboeBufferSizeMono sits on the next line and only logs.

The resize above it is not a bound: it runs only while mCountCallbacksToDrain is above zero — the discard period right after start — and it sizes from getBytesPerFrame() rather than from a sample count. Once the drain ends, nothing resizes and nothing checks before the copy.

It has not been seen firing. Thirteen stream transitions on a Galaxy S22 produced no mismatch log, so Oboe honoured the requested size throughout that run. What is missing is anything that makes it so.

Raised as asked on #3873, after re-measuring all five findings on current main: three did not survive as written, one belongs to #3798, and this is the remainder.


🤖 This message was written by AI and reviewed by @mcfnord.

Linguagem predominante
C
Estrelas
1.1k
Forks
250
Merge médio
9d 18h
PRs com merge (30d)
4

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de jamulussoftware/jamulus

Todas as issues de jamulussoftware/jamulus

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.