**Agent ID:** a3b76ce **Date:** 2025-12-30 **Status:** Completed **Grade:** B-
Binary Analyzed
`./analysis/facebook/345.0/Facebook.app/Frameworks/FBSharedFramework.framework/FBSharedFramework`
Encoding Formats Found
| Format | Sample Rate | Bit Rate | Use Case |
|---|---|---|---|
| **AAC** | Configurable | `audio_bit_rate_bps`, `transcode_bit_rate_bps` | Primary video audio |
| **xHE-AAC** | Dynamic | `Audio xHE-AAC Params: DRC:%d Loudness:%.2f` | Adaptive streaming |
| **Opus** | Configurable | `stitchAudioLowQualityBitrate`, `stitchAudioOtherBitrate` | Low-latency/voice |
| **A_OPUS** | Configurable | Low bitrate capable | WebM container |
Low-Quality Audio Bitrate Parameters
- undefined
Transcoder Functions
| Function | Address | Input | Output | Purpose |
|---|---|---|---|---|
| `FBVideoTranscoderSetupReaderAudioOutput` | 0x00a4a408 | AVAsset, NSURL, FBVideoEdits | AVAudioMix + error | Audio output pipeline setup |
| `FBVideoTranscoderCreateAACAudioStreamBasicDescription` | - | Two `long long` params | AudioStreamBasicDescription | AAC format description |
| `FBVideoTranscoderCreateFormatDescription` | - | AudioStreamBasicDescription | CMFormatDescription | Core Media format |
| `FBAudioChannelsForTranscode` | - | FBAudioConfig, AVAsset | Channel count | Transcoding channel config |
| `FBAudioConfigForChannelsAndBitrate` | - | N/A | FBAudioConfig | **Key**: Audio config with bitrate control |
| `FBVideoSegmentedTranscoder` | - | Video settings, float | Segmented output | `shouldSkipEncodeAudio` option |
Processing Taps (Audio Interception Points)
| Tap | Source | Purpose |
|---|---|---|
| `MTAudioProcessingTapCreate` | MediaToolbox (Apple) | Low-level audio processing tap |
| `MTAudioProcessingTapGetSourceAudio` | MediaToolbox | Retrieves source audio from pipeline |
| `MTAudioProcessingTapGetStorage` | MediaToolbox | Gets tap storage for custom data |
| `FBAudioProcessingTapCreate` | Facebook wrapper | **Facebook-specific audio tap creation** |
**Critical**: `FBAudioProcessingTapCreate` wraps Apple's `MTAudioProcessingTapCreate`, indicating custom audio interception infrastructure that can intercept/modify audio data in real-time.
Audio Capture Infrastructure
| Component | Purpose |
|---|---|
| `FBCaptureManager` | Central capture manager with `systemAudioCaptureSessionInteractor` |
| `FBAudioBufferHandler` | Handles audio buffer callbacks |
| `FBAudioSessionManager` | iOS audio session configuration |
| `FBAudioEchoCanceller` | Echo cancellation (real-time processing) |
| `FBAudioConfig` | Audio configuration container |
| `FNFOpusDecoder` | Opus codec decoder |
| `FNF360AudioEngine` | 360 spatial audio processing |
Capture Flow
- undefined
AudioStreamBasicDescription Structure
{AudioStreamBasicDescription=
"mSampleRate"d // double - sample rate
"mFormatID"I // uint32 - format identifier
"mFormatFlags"I // uint32 - format flags
"mBytesPerPacket"I // uint32
"mFramesPerPacket"I // uint32
"mBytesPerFrame"I // uint32
"mChannelsPerFrame"I // uint32 - mono=1, stereo=2
"mBitsPerChannel"I // uint32
"mReserved"I // uint32
}
Helper: `audioStreamBasicDescriptionWithFormatId:channelCount:sampleRateIndex:framesPerPacket:objectType:`
Multiple Encoding Paths
Legitimate Path
- undefined
Concerning Elements
1. Overlay Audio System
- undefined
2. Muted Segment Handling
- undefined
3. Low Quality Audio Bitrate Controls
- undefined
4. Audio Source Tracking
- undefined
FNFDashConfig - Complete Audio Parameters
"enableOpus"B // Opus codec enable
"stitchAudioLowQualityBitrate"q // Low quality bitrate
"stitchAudioOtherBitrate"q // Alternative bitrate
"stitchAudioBitrateBoostFactor"d // Boost factor
"stitchAudioRiskFactor"d // Quality selection risk
"stitchAudioLowMosRiskFactor"d // Low MOS risk factor
"enableAudioQualitySelectionLogging"B // Logs audio quality selection
"enableStitchSelectorForAudio"B // Audio stitching selector
"lazyLoadAudioTrack"B // Lazy load audio
"abrIncludeAudioBitrate"B // Include audio in ABR
"enableAudioStallOnly"B // Audio-only stall mode
Evidence of Covert Encoding Potential
Supporting Evidence
- undefined
Missing Direct Evidence
- undefined
Key Target Function Analysis
FBVideoTranscoderSetupReaderAudioOutput (0x00a4a408)
**Parameters**:
- undefined
Orchestrates audio output setup for transcoding pipeline.
Conclusion
The infrastructure is **capable** but not conclusively malicious:
**Capable of surveillance:**
- undefined
**Also serves legitimate purposes:**
- undefined
The same infrastructure supporting creative tools COULD support audio surveillance, but no definitive proof of malicious use found in transcoding layer alone.
*Audio Transcoding Infrastructure Analysis - Generated 2025-12-30*