AudioFlinger: tell HAL the PCM is non-audio
Add a bit to tell the HAL that the PCM data is really encoded audio
wrapped in a data burst.
Otherwise the device may try to play the encoded data directly
which will sound like modulated white noise.
Bug: 22576112
Change-Id: Ib140da96876e849023858fe2510612310501d1ee
Signed-off-by: Phil Burk <philburk@google.com>
diff --git a/services/audioflinger/SpdifStreamOut.cpp b/services/audioflinger/SpdifStreamOut.cpp
index 6b6f5db..004a068 100644
--- a/services/audioflinger/SpdifStreamOut.cpp
+++ b/services/audioflinger/SpdifStreamOut.cpp
@@ -35,7 +35,8 @@
SpdifStreamOut::SpdifStreamOut(AudioHwDevice *dev,
audio_output_flags_t flags,
audio_format_t format)
- : AudioStreamOut(dev,flags)
+ // Tell the HAL that the data will be compressed audio wrapped in a data burst.
+ : AudioStreamOut(dev, (audio_output_flags_t) (flags | AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO))
, mSpdifEncoder(this, format)
, mApplicationFormat(AUDIO_FORMAT_DEFAULT)
, mApplicationSampleRate(0)