AudioFlinger: reset SPDIF encoder on flush
This may prevent corrupt data from reaching the AVR.
Bug: 19604395
Change-Id: I3dbdd002326917b9f14dda46a3e5170e1ec799bb
Signed-off-by: Phil Burk <philburk@google.com>
diff --git a/services/audioflinger/SpdifStreamOut.cpp b/services/audioflinger/SpdifStreamOut.cpp
index 45b541a..ac637ef 100644
--- a/services/audioflinger/SpdifStreamOut.cpp
+++ b/services/audioflinger/SpdifStreamOut.cpp
@@ -128,7 +128,7 @@
int SpdifStreamOut::flush()
{
- // FIXME Is there an issue here with flush being asynchronous?
+ mSpdifEncoder.reset();
mRenderPositionHal = 0;
mPreviousHalPosition32 = 0;
return AudioStreamOut::flush();
@@ -136,6 +136,7 @@
int SpdifStreamOut::standby()
{
+ mSpdifEncoder.reset();
mRenderPositionHal = 0;
mPreviousHalPosition32 = 0;
return AudioStreamOut::standby();