Primary Chain Components Line 20
| Component | Address | Function | Role |
|-----------|---------|----------|------|
| `musicEmbeddingsForEditingAttachment` | `0x01ff01b2` | Property string | Audio embedding array property |
| `FBMediaAnalyzerXRayInput` | `0x01c91220` | Class | Audio input to ML model |
| `FBMediaAnalyzerXRayOutput` | `0x01c91270` | Class | Embedding output container |
| `FBMediaAnalyzerXRayConcept` | `0x01c911d0` | Class | Audio concept classification |
| `CreateInspirationEditingAttachmentMutation` | `0x0091b8a4` | GraphQL mutation | Network transmission |
Bridge Functions (Audio + Network) Line 30
| Function | Address | Size | Purpose |
|----------|---------|------|---------|
| `FBInspirationEditingPerformanceTrackerAddVideoKindAnnotation` | `0x00b10b2c` | 68 bytes | VideoKind annotation (context) |
| `FUN_010a2e08` | `0x010a2e08` | - | Anonymous bridge |
| `FUN_0018f5d8` | `0x0018f5d8` | - | Format description bridge |
| `FUN_001a0e20` | `0x001a0e20` | - | Sample timing bridge |
| `FUN_011eec1c` | `0x011eec1c` | - | Timing + network combined |
CMSampleBuffer Operations Line 40
| Function | Address | Purpose |
|----------|---------|---------|
| `_CMSampleBufferCreate` | `0x0132826c` | Create audio buffer |
| `_CMAudioSampleBufferCreateReady` | `0x013281ac` | Create ready audio buffer |
| `_CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer` | `0x013282a8` | Extract raw audio |
| `_CMSampleBufferGetFormatDescription` | `0x013282d8` | Get audio format |
| `_CMSampleBufferGetDataBuffer` | `0x013282c0` | Get data buffer |
| `_CMSampleBufferGetImageBuffer` | `0x013282e4` | Get image buffer |
Network Posting Functions Line 51
| Function | Address | Purpose |
|----------|---------|---------|
| `_FBSnacksThreadMediaPostMedia` | `0x003d1ae0` | Main media posting |
| `_FBOptimisticPostingCoordinationAnnouncerForSession` | `0x0004c7e8` | Optimistic posting |
| `_FBAudienceBucketSupportsOptimisticPosting` | `0x00855c7c` | Audience targeting |
| `_FBMediaUploadChunkDetailGetContentSource` | `0x007004c4` | Upload chunk source |
Classes That Call FBMediaAnalyzerXRayInput Line 225
| Caller | Purpose |
|--------|---------|
| `FBMediaAnalyzerProcessorBase` | Base processor - orchestrates XRay inference |
| `FBInspirationEditorXRayProcessor` | Story editor XRay processing |
| `FBARXRayRemoteAssetsModels` | Remote-loaded XRay models |
Audio Sources That Feed XRayInput Line 233
| Source | Path |
|--------|------|
| `_FBInspirationMusicTrackWithAudioAsset` @ 0x00b28144 | Music track from library |
| `FBCCAudioCapturer` | Microphone capture |
| `FBCCAudioDataPipe` | Audio pipeline data |
| `CMSampleBuffer` audio frames | Raw audio frames |
Network Functions Called Line 265
| Function | Address | Called Via |
|----------|---------|------------|
| `FUN_0091b8dc` | `0x0091b8dc` | Direct call - mutation setup |
| `FUN_0091b8e8` | `0x0091b8e8` | Direct call - mutation execution |
| `_FBSnacksThreadMediaPostMedia` | `0x003d1ae0` | Via upload coordinator |
| `_FBOptimisticPostingCoordinationAnnouncerForSession` | `0x0004c7e8` | Via posting pipeline |
GraphQL Fields Transmitted Line 274
| Field | Type | Description |
|-------|------|-------------|
| `music_embeddings_for_editing_attachment` | Array | Audio embedding vectors |
| `music_concepts_for_editing_attachment` | Dictionary | Audio classification labels |
Audio-Related GraphQL Mutations Line 285
| Mutation | Purpose |
|----------|---------|
| `FBEVAudioTrackMixMutation` | Audio track mixing |
| `FBEVInsertAudioTrackMutation` | Insert audio track |
| `FBEVRemoveExistingAudioMutation` | Remove audio |
| `FBEVReplaceAudioMutation` | Replace audio track |
| `FBEVInsertAudioAndVideoTracksMutation` | Combined A/V insert |
| `CreateVoiceoverContextMutation` | Voiceover context creation |
| `FBMusicPickerSaveAudioMutation` | Music picker audio save |
| `SavedAudioBadgeClearMutation` | Clear saved audio badge |
Model Files Line 312
| File | Purpose |
|------|---------|
| `XRayMobile_c2_init_net.pb` | Caffe2 initialization network |
| `XRayMobile_c2_predict_net.pb` | Caffe2 prediction network |
| `XRay_100_classes` | 100 audio classification labels |
| `XRayMobile_conf` | Model configuration |
Model Properties Line 321
| Property | Value |
|----------|-------|
| Model ID | `xraymobile_v3_embedding_calibrated` |
| Framework | Caffe2 |
| Output | Embedding vectors (128-512 floats) |
| Classification | 100 audio categories |
Function Reference Counts Line 344
| Symbol | XRef Count | Significance |
|--------|------------|--------------|
| `musicEmbeddingsForEditingAttachment` | 43 readers | 43 functions access embeddings |
| `CreateInspirationEditingAttachmentMutation` | 1 caller | GraphQL mutation entry |
| `_FBSnacksThreadMediaPostMedia` | 120,473+ | Via central dispatch |
| `Central Dispatch @ 0x12e5fa4` | 120,473 | objc_msgSend trampoline |
Runtime Call Frequencies (RT-001 Evidence) Line 353
| Method | Call Count | Duration |
|--------|------------|----------|
| `startAudioCaptureWithEchoCancellationEnabled:` | 50,700+ | Passive browsing |
| `enableEditingMicrophoneVolume:` | 50,700+ | Passive browsing |
| `isAudioCaptureRunning` | 874,700+ | Polling loop |
| `rtcClientDeactivated` | 9,900+ | 35 seconds |
| `FBMediaAnalyzerXRayOutput` | 3+ per interval | Continuous |
Audio Processing Chain Line 367
| Stage | Address | Function | Operation |
|-------|---------|----------|-----------|
| 1 | 0x009eac28 | createAudioPipelineIfNecessaryAndResume | Pipeline init |
| 2 | 0x00cdb380 | rtcClientBecameActive | RTC activation |
| 3 | 0x00d86b78 | ignoreRTCClientNotification (getter) | Bypass flag |
| 4 | 0x0132826c | CMSampleBufferCreate | Buffer creation |
| 5 | 0x013281ac | CMAudioSampleBufferCreateReady | Audio buffer ready |
| 6 | 0x011de1d0 | captureOutput:didOutputSampleBuffer: | Capture callback |
| 7 | 0x011fd534 | Audio buffer extraction | Buffer extract |
| 8 | 0x00a4a408 | FBVideoTranscoderSetupReaderAudioOutput | Transcode setup |
Encryption Points Line 380
| Stage | Address | Algorithm |
|-------|---------|-----------|
| Frame Level | 0x01503628 | walibra HKDF + AES-256-GCM |
| SRTP | - | AES-128-CM + HMAC |
| DTLS | - | TLS 1.2/1.3 |
| E2EE | - | Noise protocol |
Embedding Storage Line 389
| Stage | Address | Function |
|-------|---------|----------|
| XRay Input | 0x01c91220 | FBMediaAnalyzerXRayInput |
| XRay Output | 0x01c91270 | FBMediaAnalyzerXRayOutput |
| XRay Concept | 0x01c911d0 | FBMediaAnalyzerXRayConcept |
| String Ref | 0x01ff01b2 | musicEmbeddingsForEditingAttachment |
| Data Ref | 0x01b5dd28 | Instance variable storage |
Passive Browsing Evidence Line 450
| Metric | Value | Source |
|--------|-------|--------|
| AVAudioSession threads in crashes | 87.5% (14/16) | Crash logs |
| Background wakeups | 3,751/sec | 25x over iOS limit |
| Audio capture calls | 50,700+ | Frida instrumentation |
| XRayOutput invocations | 3+ per 5 sec | Runtime capture |
TCC Database Line 459
| Permission | Status |
|------------|--------|
| Microphone | ALLOWED (auth_value=2) |
| Camera | ALLOWED |
Audio Transmission Endpoints Line 470
| Endpoint | Protocol | Purpose |
|----------|----------|---------|
| `wss://shortwave.facebook.com/v2/vp/recognition` | WebSocket | Real-time speech |
| `https://rupload.facebook.com/%s/%s` | HTTPS | Voice/audio upload CDN |
| `https://fb.audio/live/%@` | HTTPS | Live audio streaming |
| `https://graph.facebook.com/graphql` | GraphQL | Audio mutations |
Call Chain Depth Line 497
| Path | Depth |
|------|-------|
| Real-time (VoIP/RTC) | 10 layers |
| Media upload (embeddings) | 7 layers |
| Maximum observed | 12 layers |
Cross-Reference Summary Line 505
| Component | References |
|-----------|------------|
| musicEmbeddingsForEditingAttachment readers | 43 functions |
| CreateInspirationEditingAttachmentMutation | 1 entry point |
| FBSnacksThreadMediaPostMedia | 120,473+ via dispatch |
| XRayOutput runtime invocations | 3+ per 5 seconds |
Files Referenced Line 516
| Category | Files |
|----------|-------|
| Binary | `./analysis/facebook/345.0/Facebook.app/Frameworks/FBSharedFramework.framework/FBSharedFramework` |
| Ghidra Analysis | ` |
| Music Embeddings Trace | ` |
| Dual Handler Trace | ` |
| XRay Embeddings Runtime | ` |
| Deep Analysis | ` |