summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/SpdifStreamOut.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/audioflinger/SpdifStreamOut.cpp')
-rw-r--r--services/audioflinger/SpdifStreamOut.cpp47
1 files changed, 0 insertions, 47 deletions
diff --git a/services/audioflinger/SpdifStreamOut.cpp b/services/audioflinger/SpdifStreamOut.cpp
index ac637ef..6af7bce 100644
--- a/services/audioflinger/SpdifStreamOut.cpp
+++ b/services/audioflinger/SpdifStreamOut.cpp
@@ -36,10 +36,7 @@ SpdifStreamOut::SpdifStreamOut(AudioHwDevice *dev,
audio_output_flags_t flags,
audio_format_t format)
: AudioStreamOut(dev,flags)
- , mRateMultiplier(1)
, mSpdifEncoder(this, format)
- , mRenderPositionHal(0)
- , mPreviousHalPosition32(0)
{
}
@@ -97,62 +94,18 @@ status_t SpdifStreamOut::open(
return status;
}
-// Account for possibly higher sample rate.
-status_t SpdifStreamOut::getRenderPosition(uint32_t *frames)
-{
- uint32_t halPosition = 0;
- status_t status = AudioStreamOut::getRenderPosition(&halPosition);
- if (status != NO_ERROR) {
- return status;
- }
-
- // Accumulate a 64-bit position so that we wrap at the right place.
- if (mRateMultiplier != 1) {
- // Maintain a 64-bit render position.
- int32_t deltaHalPosition = (int32_t)(halPosition - mPreviousHalPosition32);
- mPreviousHalPosition32 = halPosition;
- mRenderPositionHal += deltaHalPosition;
-
- // Scale from device sample rate to application rate.
- uint64_t renderPositionApp = mRenderPositionHal / mRateMultiplier;
- ALOGV("SpdifStreamOut::getRenderPosition() "
- "renderPositionAppRate = %llu = %llu / %u\n",
- renderPositionApp, mRenderPositionHal, mRateMultiplier);
-
- *frames = (uint32_t)renderPositionApp;
- } else {
- *frames = halPosition;
- }
- return status;
-}
-
int SpdifStreamOut::flush()
{
mSpdifEncoder.reset();
- mRenderPositionHal = 0;
- mPreviousHalPosition32 = 0;
return AudioStreamOut::flush();
}
int SpdifStreamOut::standby()
{
mSpdifEncoder.reset();
- mRenderPositionHal = 0;
- mPreviousHalPosition32 = 0;
return AudioStreamOut::standby();
}
-// Account for possibly higher sample rate.
-// This is much easier when all the values are 64-bit.
-status_t SpdifStreamOut::getPresentationPosition(uint64_t *frames,
- struct timespec *timestamp)
-{
- uint64_t halFrames = 0;
- status_t status = AudioStreamOut::getPresentationPosition(&halFrames, timestamp);
- *frames = halFrames / mRateMultiplier;
- return status;
-}
-
size_t SpdifStreamOut::getFrameSize()
{
return sizeof(int8_t);