From 48e6ea95dc23e1c84911f1f907403ac1729c6b78 Mon Sep 17 00:00:00 2001 From: Phil Burk Date: Thu, 18 Jun 2015 15:37:08 -0700 Subject: 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 --- services/audioflinger/SpdifStreamOut.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'services/audioflinger/SpdifStreamOut.cpp') 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 @@ status_t SpdifStreamOut::getRenderPosition(uint32_t *frames) 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::flush() int SpdifStreamOut::standby() { + mSpdifEncoder.reset(); mRenderPositionHal = 0; mPreviousHalPosition32 = 0; return AudioStreamOut::standby(); -- cgit v1.1