Issue Description
During interactive streaming or live video calling sessions on iOS, the synchronized media pipeline encounters distinct audio and video out-of-sync lip-sync defects. This streaming desynchronization becomes highly acute under adverse network boundary conditions characterized by temporary bandwidth constraints or fluctuating packet transport capacities.
Platform and SDK Context
Host Operating System: iOS Mobile Ecosystem
Software Core Framework: Agora Real Time Communication Native SDK versions prior to Build 4.5.3
Target Network Profile: Variable and Bandwidth Constrained Transport Environments
Root Cause Analysis
The persistent media desynchronization originates from an internal logic scheduling redundancy where two separate pacer modules concurrently attempt to throttle the outgoing video frame transmission rate under constrained network conditions.
When localized bandwidth drops, the media pacer component introduces artificial scheduling gaps to regulate packet pacing. However, within the affected legacy SDK versions, this module remained active even when the automated unified transmission pacer layer was actively functioning.
This dual pacing constraint forces massive cumulative timing delays onto the video pipeline frames without altering the real time audio processing queue. Consequently, the receiver end renders the decoded video track several seconds behind the corresponding audio stream until a manual connection refresh occurs.
Solution and Resolution Steps
Execute Core Framework Baseline Upgrade
Upgrade the target production application workspace to the optimized Agora RTC SDK version 4.5.3 or subsequent releases. The refactored baseline implements an independent stream translation architecture that automatically reconciles pacer execution states and decouples audio video dependencies under severe network fluctuations.
Implement Manual Media Pacer Deactivation
If business restrictions prevent an immediate SDK baseline migration, introduce a defensive parameter patch into the engine initialization matrix. Manually bypass the redundant pacing pipeline by reassigning the designated paced sender configuration key to a disabled state before joining the channel:
setParameters("{\"rtc.paced_sender_enabled\": false}");Audit Bandwidth Allocation Metrics
Ensure the client deployment environment maintains a stable upstream network profile. Isolate the local hardware endpoint from multi device network congestion to confirm that sufficient transmission bandwidth remains available for real-time media encoding layers.
References
CSD-77823