Practical guide · verified against the real thing
Lips out of sync? The real causes of audio drift and the fix order that ends it
In one line: Sync drift is almost always one device re-clocking the stream differently from another. The fix order - TV processing first, then the audio path, then the app - isolates which device is the liar.
When lips and sound disagree, something in the chain is adding latency to one stream and not the other. Video processing and audio decoding each take time, and when they take different amounts of time the two arrive apart. The fix is not a setting you guess at; it is isolating which device is the slow one, in an order that starts with the biggest usual offender.
1. The TV's own processing (the usual liar)
A TV applying heavy motion smoothing and noise reduction can lag the picture by tens to over a hundred milliseconds while the audio passes through. The test is the TV's game or PC mode, which strips most processing: if sync snaps right in that mode, the TV's processing was the drift, and you either keep that mode for the source or use the TV's audio-delay setting to re-align the sound to the processed picture.
2. The audio path: passthrough versus decode
Every box that re-decodes audio adds its own latency. A soundbar receiving a raw bitstream (passthrough) and decoding it once typically lags differently than the TV decoding and sending PCM. Mixing the two - TV speakers and soundbar, or an AVR decoding while the TV processes - is the classic recipe for drift. Pick one decoder: set the source or TV to pass the original format to the soundbar and let nothing else touch it. When a device offers an audio-delay or lip-sync number, small corrections here fix the residue.
3. The app or box itself
Only after the TV and audio path are settled do you suspect the source: an overloaded streaming stick, or an app whose own A/V clocks disagree. Rebooting the stick is legitimately first among these; a device at its memory limit stutters video while audio keeps time. If one app drifts and others do not, the app is the liar and its in-app sync offset (where offered) is the repair.
The order, and why it works
TV processing, then audio-path decoding, then the source - because each step down the list is a smaller and rarer contributor, and fixing a big one first often makes the small ones invisible. The same discipline of isolating one device at a time applies to buffering problems, where the shared link is the liar instead - see why streams buffer at night.
Next