Per-track decoded audio sink (audioTrackFrames) — darwin + web #1

Merged
brenno merged 12 commits from sink/base into main 2026-10-26 19:52:40 +00:00
Owner

Adds the audioTrackFrames API used by OciDeck #2527. Upstream: flutter-webrtc/flutter-webrtc#2250.

Adds the audioTrackFrames API used by OciDeck #2527. Upstream: flutter-webrtc/flutter-webrtc#2250.
audioTrackFrames(track) streams s16le PCM per track: local via
AudioSourceInterface::AddSink, remote via AudioTrackInterface::AddSink,
web via MediaStreamAudioSourceNode + ScriptProcessor (zero-gain tap).
Basis for OciDeck call recording (#2527).
The SDK only drives RTCAudioTrack renderers from the remote decode path;
local tracks get their PCM through FlutterRTCAudioSink (capture-side
AudioSourceInterface::AddSink), enabled on macOS via the vendored C++
shims and .mm sources.
AudioSourceInterface::AddSink never delivers OnData for local tracks in
this SDK build, so use the plugin's own LocalAudioTrack.addRenderer:
(capturePostProcessingAdapter on RTCDefaultAudioProcessingModule), which
is pure ObjC and needs no C++ shims. renderPCMBuffer: now also handles
non-interleaved int16 buffers produced by the APM adapter.
chore(darwin): drop temporary capture diagnostics
Some checks failed
Build / WebRTC-SDK Version Consistency (pull_request) Failing after 18s
Build / Build for Flutter Linux (pull_request) Failing after 19s
Build / Build for Flutter Android (pull_request) Failing after 19s
Build / Dart Format Check (pull_request) Failing after 20s
Build / Build for Flutter Embedded Linux (pull_request) Failing after 13s
Build / Build for Flutter Web (pull_request) Failing after 14s
Build / Build for Flutter iOS (cocoapods) (pull_request) Has been cancelled
Build / Build for Flutter iOS (spm) (pull_request) Has been cancelled
Build / Build for Flutter Windows (pull_request) Has been cancelled
Build / Build for Flutter macOS (cocoapods) (pull_request) Has been cancelled
Build / Build for Flutter macOS (spm) (pull_request) Has been cancelled
b82f0db567
brenno merged commit 74fdfd6ddf into main 2026-10-26 19:52:40 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/flutter_webrtc!1
No description provided.