summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/AudioHardwareInterface.cpp11
-rw-r--r--audio/audio_hw_hal.cpp3
-rw-r--r--include/hardware_legacy/AudioHardwareInterface.h7
3 files changed, 20 insertions, 1 deletions
diff --git a/audio/AudioHardwareInterface.cpp b/audio/AudioHardwareInterface.cpp
index 60cce27..dbf6f33 100644
--- a/audio/AudioHardwareInterface.cpp
+++ b/audio/AudioHardwareInterface.cpp
@@ -148,6 +148,17 @@ status_t AudioHardwareBase::dumpState(int fd, const Vector<String16>& args)
return NO_ERROR;
}
+// default implementation calls its "without flags" counterpart
+AudioStreamOut* AudioHardwareInterface::openOutputStreamWithFlags(uint32_t devices,
+ audio_output_flags_t flags,
+ int *format,
+ uint32_t *channels,
+ uint32_t *sampleRate,
+ status_t *status)
+{
+ return openOutputStream(devices, format, channels, sampleRate, status);
+}
+
// ----------------------------------------------------------------------------
}; // namespace android
diff --git a/audio/audio_hw_hal.cpp b/audio/audio_hw_hal.cpp
index 07d735d..9b1f1a3 100644
--- a/audio/audio_hw_hal.cpp
+++ b/audio/audio_hw_hal.cpp
@@ -501,7 +501,8 @@ static int adev_open_output_stream(struct audio_hw_device *dev,
devices = convert_audio_device(devices, HAL_API_REV_2_0, HAL_API_REV_1_0);
- out->legacy_out = ladev->hwif->openOutputStream(devices, (int *) &config->format,
+ out->legacy_out = ladev->hwif->openOutputStreamWithFlags(devices, flags,
+ (int *) &config->format,
&config->channel_mask,
&config->sample_rate, &status);
if (!out->legacy_out) {
diff --git a/include/hardware_legacy/AudioHardwareInterface.h b/include/hardware_legacy/AudioHardwareInterface.h
index b466000..f5b38ea 100644
--- a/include/hardware_legacy/AudioHardwareInterface.h
+++ b/include/hardware_legacy/AudioHardwareInterface.h
@@ -250,6 +250,13 @@ public:
uint32_t *channels=0,
uint32_t *sampleRate=0,
status_t *status=0) = 0;
+ virtual AudioStreamOut* openOutputStreamWithFlags(
+ uint32_t devices,
+ audio_output_flags_t flags=(audio_output_flags_t)0,
+ int *format=0,
+ uint32_t *channels=0,
+ uint32_t *sampleRate=0,
+ status_t *status=0);
virtual void closeOutputStream(AudioStreamOut* out) = 0;
/** This method creates and opens the audio hardware input stream */