OSDN Git Service

audioflinger: fix static track end detection
authorEric Laurent <elaurent@google.com>
Sat, 21 Dec 2013 01:36:01 +0000 (17:36 -0800)
committerEric Laurent <elaurent@google.com>
Thu, 30 Jan 2014 19:37:52 +0000 (19:37 +0000)
commit745e9a8283b56c7772ee7d72383a3f2e012e1ef9
tree281cab68618b85ac31ccb6c3a436229d9d81a1ce
parent1bf0eecd2ec6a3b3e29ad2c91bcefda76abef2fe
audioflinger: fix static track end detection

If a static track is not a fast track,
prepareTracks_l() must rely on framesReady() to
detect end of buffer and remove the track from the active
track list.
Failing to do so results in the track staying active but
not processed by the mixer because in underrun. This leaves the
mix buffer content uninitialized and causes the effect process
function to accumulate its output onto undefined data.

Bug: 12013676.
Change-Id: Iad72c921fa18d34811abf7d1073890c093a27725
services/audioflinger/Threads.cpp