fix(audio): rename TCI TX inputFrames48k/input48k= soak telemetry (#3914). Principle I.#3924
Merged
Merged
Conversation
). Principle I. #3892 switched the TCI TX resampler from a hardcoded 48 kHz source rate to each frame's client-declared rate (hdr.sampleRate) but left the `48k` naming in place. The per-session counter now accumulates source-rate input frames, so for a client negotiating 8/12/24 kHz the `input48k=N` soak diagnostic implies the wrong wall-clock duration (a 24 kHz client reads ~2x its real input duration). Pure telemetry-label fix — no audio or timing impact. - inputFrames48k -> inputFramesSrcRate (decl + 3 layout branches + increment) - soak log field `input48k=` -> `inputFramesSrc=` m_txInputFrames is diagnostic-only: consumers are the reset in startTxChrono, the increment here, and the soak line. Nothing in the audio/timing path reads it. The 48k-anchored sibling fields (requested48k=, effective48k=, output24k=) are genuinely correct and left unchanged. Principle I: the soak diagnostic must label what it actually counts (source-rate frames), not a stale 48k assumption. Blast radius: not applicable — change is a function-local variable rename plus a log-string literal inside one member function; touches no signature, member decl, header, or public symbol. The PreToolUse hook's risk_score=0.180 / 11 high-risk figure is TciServer.cpp's ambient file-level connectivity, not this diff; none of the flagged callers can reference a stack-local variable. Refs #3892, #3306. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
Author
There was a problem hiding this comment.
Reviewed the diff — this is a clean, correct rename and the change looks good.
What's right:
- All six sites are updated consistently: the local declaration, all three layout branches (duplicated-stereo / mono / explicit-stereo), the
m_txInputFramesaccumulator, and the soak log field. No site left on the old48kname, so the build stays consistent. m_txInputFramesis diagnostic-only (reset in the chrono start, incremented here, emitted inlogTxAudioSummary), so this is a pure telemetry-label fix with no audio/timing impact — correctly motivated by #3892 having switched the resampler to the client-declared rate while leaving the48knaming behind.- The sibling fields left untouched (
requested48k=,output24k=,effective48k=) are genuinely still rate-correct, so the narrow scope is the right call. - The added inline comment makes the rate-relative semantics explicit, which is the whole point of the rename.
No conventions, null-safety, resource, or boundary concerns — it's a contained identifier rename.
One heads-up for the maintainer: PR #3919 (@jensenpat) targets the same issue #3914 with the identical rename (inputFrames48k → inputFramesSrcRate, input48k= → inputFramesSrc=). These two are duplicates — only one should land, and they'll conflict otherwise. Worth coordinating which to merge before this goes in via auto-merge.
Thanks for the tidy, well-explained change!
🤖 aethersdr-agent · cost: $4.0980 · model: claude-opus-4-8
ten9876
added a commit
that referenced
this pull request
Jul 2, 2026
#3961) ## Release documentation prep for **v26.7.1** (2026-07-02) 29 commits since v26.6.5. Docs-only + version bump — no code behavior change. ### Version bump 26.6.5 → 26.7.1 The three canonical locations (per `AGENTS.md`): - `CMakeLists.txt:2` — `project(AetherSDR VERSION 26.7.1)` → `AETHERSDR_VERSION` (the app's version string) - `README.md` — Current version line - `AGENTS.md` — Current version line ### `CHANGELOG.md` Promoted `[Unreleased]` → **`## [v26.7.1] — 2026-07-02`** in house style (v-prefix, em-dash, "N commits since…" opener + headline), authored from all merged PRs and categorized: - **Added:** 3D stacked-trace spectrum (#3899), 3D dBm scale (#3937), in-process NVIDIA BNR + AFX download-on-demand (#3902), TX meter mouse-over readouts (#3936), SWR manual sweep range (#3885), CW sidetone capture (#3895), KiwiSDR metadata scaffolding (#3898), bridge verbs (#3920) - **Changed:** BNR container/NIM backend removed, 60 fps + per-pixel GPU FFT trace (#3958), FlexLib-sourced model capabilities (#3954/#2177), RX speaker-latency cut (#3897), Display pane sections (#3935) - **Fixed:** #3922, #3926, #3941, #3940, #3942, #3921, #3903, #3892, #3924, #3891, #3890, #3900, #3947 - Fresh empty `[Unreleased]` restored above the release block. Internal/CI/docs/self-fix PRs (#3931/#3916/#3934/#3929) omitted per house style. ### `ROADMAP.md` - Cycle header → "post-v26.7.1" - NVIDIA BNR removed from **In flight** (shipped this cycle) - Five v26.7.1 highlights prepended to **Recently shipped** ### `README.md` - Highlights: GPU spectrum bullet now notes the **per-pixel FFT trace at up to 60 fps** and the **3D stacked-trace** spectrum mode ### Reviewer notes - Touches protected paths (`*.md` + `AGENTS.md` Tier-1 + `CMakeLists.txt`) — needs `@aethersdr/infrastructure` sign-off. - Tagging `v26.7.1` and cutting the release build are **not** part of this PR (docs prep only). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #3914
What was changed
fix(audio): rename TCI TX inputFrames48k/input48k= soak telemetry (#3914). Principle I.
Files modified
src/core/TciServer.cppGenerated by AetherClaude (automated agent for AetherSDR)
🤖 aethersdr-agent · cost: $1.3357 · model: claude-opus-4-8