See related Bug 1472, as detected here there first.
commit edf181e8a75f41c7d7e8de5d65c51d66f01fd61c Bug 1473 - ALAudioSink: AV Synchronization Broken, Regression in-between JogAmp Version [2.4.0 - 2.5.0] - Adopt to simplified AudioSink - Add lastBufferedPTS and expose it - Cleanup short* and perf*String() trace/debug presentations to simplify review - Hence drop growBuffers() - Set initial avgFrameDuration to latency, at least a good start +++ dequeueBuffer(..): - Pass releaseBufferCountReq directly, tangible only if wait == true, have enqueueData(..) determine the wait and releaseBufferCountReq value. - Drop dequeueBuffer(..) overload caller, simplifying code - Don't change playingPTS(..) in overload caller, enqueueData(..) takes care of it - Align DEBUG trace with enqueueData(..) to simplify review - Otherwise no semnatic change in dequeueBuffer(..) enqueueData(..): - Dropped growBuffers() - Show DEBUG trace before actual dequeueBuffer(..) to have meanigful output - SOFT (no-wait) dequeueBuffer(..) triggers on 2/3rd full queue - HARD (wait) dequeueBuffer(..) if queue is full - Set playingPTS, either use - old queue-tip (too old) and add (forward) 60% of queue-buffer time - new queue-tail (too young), subtract (delay) 40% of queue-buffer time
Commit e23a4c7fcc0b585c0708be114fa364e391da4843 AudioSink: Just pass a finte buffer size (KISS), add getLastBufferedPTS() to access the last buffered audio pts
Commit d0dd0c04463c6b09b1f15ce6cc3a2c50286c57bf ALAudioSink: AV Synchronization: Adopt to JOAL ALAudioSink changes FFMPEGMediaPlayer: This also effectively reduces the audio buffer size from 3000ms -> 768ms, the new default for audio streams with video.
Resolved, see further fixes in Bug 1472