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();