summaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authorDavid Wagner <david.wagner@intel.com>2014-04-23 11:47:02 +0200
committerDavid Wagner <david.wagner@intel.com>2014-04-23 14:42:21 +0200
commitcc029e59f7d22f383dfc5b700689db66a941a356 (patch)
tree8bfcd7c509305df83b332fb6f1ffcc1aa62bed7a /audio
parent600898287d579c41b77af309f0ab75dbe40c559b (diff)
downloadhardware_libhardware_legacy-cc029e59f7d22f383dfc5b700689db66a941a356.zip
hardware_libhardware_legacy-cc029e59f7d22f383dfc5b700689db66a941a356.tar.gz
hardware_libhardware_legacy-cc029e59f7d22f383dfc5b700689db66a941a356.tar.bz2
Audio: add an openOutputStreamWithFlags API
The existing openOutputStream API did not allow passing stream flags even though its audio hardware interface's open_output_stream counterpart does take a "flags" argument. This means that, when the audio hw_module is implemented using libhardware_legacy, the output flag was lost. This commit adds an API in libhardware_legacy's audio module, allowing to pass the flag, and updates the default wrapper in order to call this new API instead of the old version that missed the flag. Change-Id: I20c102d32b489f87fabbd7d02aa0b28fae13948b Signed-off-by: David Wagner <david.wagner@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com>
Diffstat (limited to 'audio')
-rw-r--r--audio/AudioHardwareInterface.cpp11
-rw-r--r--audio/audio_hw_hal.cpp3
2 files changed, 13 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) {