diff options
Diffstat (limited to 'audio')
| -rw-r--r-- | audio/AudioHardwareInterface.cpp | 7 | ||||
| -rw-r--r-- | audio/audio_hw_hal.cpp | 9 |
2 files changed, 16 insertions, 0 deletions
diff --git a/audio/AudioHardwareInterface.cpp b/audio/AudioHardwareInterface.cpp index 53c64b5..60cce27 100644 --- a/audio/AudioHardwareInterface.cpp +++ b/audio/AudioHardwareInterface.cpp @@ -70,6 +70,12 @@ AudioStreamOut::~AudioStreamOut() { } +// default implementation is unsupported +status_t AudioStreamOut::getNextWriteTimestamp(int64_t *timestamp) +{ + return INVALID_OPERATION; +} + AudioStreamIn::~AudioStreamIn() {} AudioHardwareBase::AudioHardwareBase() @@ -122,6 +128,7 @@ size_t AudioHardwareBase::getInputBufferSize(uint32_t sampleRate, int format, in return 320; } +// default implementation is unsupported status_t AudioHardwareBase::getMasterVolume(float *volume) { return INVALID_OPERATION; diff --git a/audio/audio_hw_hal.cpp b/audio/audio_hw_hal.cpp index dd66f76..0fc4efa 100644 --- a/audio/audio_hw_hal.cpp +++ b/audio/audio_hw_hal.cpp @@ -163,6 +163,14 @@ static int out_get_render_position(const struct audio_stream_out *stream, return out->legacy_out->getRenderPosition(dsp_frames); } +static int out_get_next_write_timestamp(const struct audio_stream_out *stream, + int64_t *timestamp) +{ + const struct legacy_stream_out *out = + reinterpret_cast<const struct legacy_stream_out *>(stream); + return out->legacy_out->getNextWriteTimestamp(timestamp); +} + static int out_add_audio_effect(const struct audio_stream *stream, effect_handle_t effect) { return 0; @@ -436,6 +444,7 @@ static int adev_open_output_stream(struct audio_hw_device *dev, out->stream.set_volume = out_set_volume; out->stream.write = out_write; out->stream.get_render_position = out_get_render_position; + out->stream.get_next_write_timestamp = out_get_next_write_timestamp; *stream_out = &out->stream; return 0; |
