diff options
Diffstat (limited to 'services/audioflinger/SpdifStreamOut.cpp')
-rw-r--r-- | services/audioflinger/SpdifStreamOut.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/services/audioflinger/SpdifStreamOut.cpp b/services/audioflinger/SpdifStreamOut.cpp index 6af7bce..6b6f5db 100644 --- a/services/audioflinger/SpdifStreamOut.cpp +++ b/services/audioflinger/SpdifStreamOut.cpp @@ -37,6 +37,9 @@ SpdifStreamOut::SpdifStreamOut(AudioHwDevice *dev, audio_format_t format) : AudioStreamOut(dev,flags) , mSpdifEncoder(this, format) + , mApplicationFormat(AUDIO_FORMAT_DEFAULT) + , mApplicationSampleRate(0) + , mApplicationChannelMask(0) { } @@ -48,6 +51,10 @@ status_t SpdifStreamOut::open( { struct audio_config customConfig = *config; + mApplicationFormat = config->format; + mApplicationSampleRate = config->sample_rate; + mApplicationChannelMask = config->channel_mask; + // Some data bursts run at a higher sample rate. // TODO Move this into the audio_utils as a static method. switch(config->format) { @@ -106,20 +113,15 @@ int SpdifStreamOut::standby() return AudioStreamOut::standby(); } -size_t SpdifStreamOut::getFrameSize() -{ - return sizeof(int8_t); -} - ssize_t SpdifStreamOut::writeDataBurst(const void* buffer, size_t bytes) { return AudioStreamOut::write(buffer, bytes); } -ssize_t SpdifStreamOut::write(const void* buffer, size_t bytes) +ssize_t SpdifStreamOut::write(const void* buffer, size_t numBytes) { // Write to SPDIF wrapper. It will call back to writeDataBurst(). - return mSpdifEncoder.write(buffer, bytes); + return mSpdifEncoder.write(buffer, numBytes); } } // namespace android |