Oboe: input copy is bounded after the copy, not before
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
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de jamulussoftware/jamulus
-
Move translation checker (and potentially other runners) to ARM runnerTalvez já em andamento @ann0see assumiu há 41 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
jamulussoftware/jamulus#3953 · 2 comentários ·
-
AI
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
jamulussoftware/jamulus#3846 ·
-
Qt6 moving towards cmakeAbertafeature request
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
jamulussoftware/jamulus#3964 · 3 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
jamulussoftware/jamulus#3961 ·
-
Update the C-like style check to an ARM-compatible clang-format versionTalvez livre de novo @ann0see assumiu há 40 dias e não há nenhum pull request aberto. Abertarefactoring
jamulussoftware/jamulus#3955 · 1 comentário · 1 responsável ·
Todas as issues de jamulussoftware/jamulus
Issues semelhantes
-
Add `CPC_TAKE_TILL_CHARS`Abertadifficulty: easy
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
performance solver
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
ChefKissInc/Inferno#319 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 91/100
FreeJoy-Team/FreeJoy#275 ·