Loading media/libaudiohal/impl/DeviceHalHidl.cpp +26 −1 Original line number Original line Diff line number Diff line Loading @@ -354,7 +354,8 @@ status_t DeviceHalHidl::releaseAudioPatch(audio_patch_handle_t patch) { return processReturn("releaseAudioPatch", mDevice->releaseAudioPatch(patch)); return processReturn("releaseAudioPatch", mDevice->releaseAudioPatch(patch)); } } status_t DeviceHalHidl::getAudioPort(struct audio_port *port) { template <typename HalPort> status_t DeviceHalHidl::getAudioPortImpl(HalPort *port) { if (mDevice == 0) return NO_INIT; if (mDevice == 0) return NO_INIT; AudioPort hidlPort; AudioPort hidlPort; HidlUtils::audioPortFromHal(*port, &hidlPort); HidlUtils::audioPortFromHal(*port, &hidlPort); Loading @@ -370,6 +371,30 @@ status_t DeviceHalHidl::getAudioPort(struct audio_port *port) { return processReturn("getAudioPort", ret, retval); return processReturn("getAudioPort", ret, retval); } } status_t DeviceHalHidl::getAudioPort(struct audio_port *port) { return getAudioPortImpl(port); } status_t DeviceHalHidl::getAudioPort(struct audio_port_v7 *port) { #if MAJOR_VERSION >= 7 return getAudioPortImpl(port); #else struct audio_port audioPort = {}; status_t result = NO_ERROR; if (!audio_populate_audio_port(port, &audioPort)) { ALOGE("Failed to populate legacy audio port from audio_port_v7"); result = BAD_VALUE; } status_t status = getAudioPort(&audioPort); if (status == NO_ERROR) { audio_populate_audio_port_v7(&audioPort, port); } else { result = status; } return result; #endif } status_t DeviceHalHidl::setAudioPortConfig(const struct audio_port_config *config) { status_t DeviceHalHidl::setAudioPortConfig(const struct audio_port_config *config) { if (mDevice == 0) return NO_INIT; if (mDevice == 0) return NO_INIT; AudioPortConfig hidlConfig; AudioPortConfig hidlConfig; Loading media/libaudiohal/impl/DeviceHalHidl.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -107,6 +107,9 @@ class DeviceHalHidl : public DeviceHalInterface, public ConversionHelperHidl // Fills the list of supported attributes for a given audio port. // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port *port); virtual status_t getAudioPort(struct audio_port *port); // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port_v7 *port); // Set audio port configuration. // Set audio port configuration. virtual status_t setAudioPortConfig(const struct audio_port_config *config); virtual status_t setAudioPortConfig(const struct audio_port_config *config); Loading @@ -128,6 +131,8 @@ class DeviceHalHidl : public DeviceHalInterface, public ConversionHelperHidl // The destructor automatically closes the device. // The destructor automatically closes the device. virtual ~DeviceHalHidl(); virtual ~DeviceHalHidl(); template <typename HalPort> status_t getAudioPortImpl(HalPort *port); }; }; } // namespace CPP_VERSION } // namespace CPP_VERSION Loading media/libaudiohal/impl/DeviceHalLocal.cpp +16 −0 Original line number Original line Diff line number Diff line Loading @@ -180,6 +180,22 @@ status_t DeviceHalLocal::getAudioPort(struct audio_port *port) { return mDev->get_audio_port(mDev, port); return mDev->get_audio_port(mDev, port); } } status_t DeviceHalLocal::getAudioPort(struct audio_port_v7 *port) { #if MAJOR_VERSION >= 7 if (version() >= AUDIO_DEVICE_API_VERSION_3_2) { // get_audio_port_v7 is mandatory if legacy HAL support this API version. return mDev->get_audio_port_v7(mDev, port); } #endif struct audio_port audioPort = {}; audio_populate_audio_port(port, &audioPort); status_t status = getAudioPort(&audioPort); if (status == NO_ERROR) { audio_populate_audio_port_v7(&audioPort, port); } return status; } status_t DeviceHalLocal::setAudioPortConfig(const struct audio_port_config *config) { status_t DeviceHalLocal::setAudioPortConfig(const struct audio_port_config *config) { if (version() >= AUDIO_DEVICE_API_VERSION_3_0) if (version() >= AUDIO_DEVICE_API_VERSION_3_0) return mDev->set_audio_port_config(mDev, config); return mDev->set_audio_port_config(mDev, config); Loading media/libaudiohal/impl/DeviceHalLocal.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -100,6 +100,9 @@ class DeviceHalLocal : public DeviceHalInterface // Fills the list of supported attributes for a given audio port. // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port *port); virtual status_t getAudioPort(struct audio_port *port); // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port_v7 *port); // Set audio port configuration. // Set audio port configuration. virtual status_t setAudioPortConfig(const struct audio_port_config *config); virtual status_t setAudioPortConfig(const struct audio_port_config *config); Loading media/libaudiohal/include/media/audiohal/DeviceHalInterface.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -106,6 +106,9 @@ class DeviceHalInterface : public RefBase // Fills the list of supported attributes for a given audio port. // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port *port) = 0; virtual status_t getAudioPort(struct audio_port *port) = 0; // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port_v7 *port) = 0; // Set audio port configuration. // Set audio port configuration. virtual status_t setAudioPortConfig(const struct audio_port_config *config) = 0; virtual status_t setAudioPortConfig(const struct audio_port_config *config) = 0; Loading Loading
media/libaudiohal/impl/DeviceHalHidl.cpp +26 −1 Original line number Original line Diff line number Diff line Loading @@ -354,7 +354,8 @@ status_t DeviceHalHidl::releaseAudioPatch(audio_patch_handle_t patch) { return processReturn("releaseAudioPatch", mDevice->releaseAudioPatch(patch)); return processReturn("releaseAudioPatch", mDevice->releaseAudioPatch(patch)); } } status_t DeviceHalHidl::getAudioPort(struct audio_port *port) { template <typename HalPort> status_t DeviceHalHidl::getAudioPortImpl(HalPort *port) { if (mDevice == 0) return NO_INIT; if (mDevice == 0) return NO_INIT; AudioPort hidlPort; AudioPort hidlPort; HidlUtils::audioPortFromHal(*port, &hidlPort); HidlUtils::audioPortFromHal(*port, &hidlPort); Loading @@ -370,6 +371,30 @@ status_t DeviceHalHidl::getAudioPort(struct audio_port *port) { return processReturn("getAudioPort", ret, retval); return processReturn("getAudioPort", ret, retval); } } status_t DeviceHalHidl::getAudioPort(struct audio_port *port) { return getAudioPortImpl(port); } status_t DeviceHalHidl::getAudioPort(struct audio_port_v7 *port) { #if MAJOR_VERSION >= 7 return getAudioPortImpl(port); #else struct audio_port audioPort = {}; status_t result = NO_ERROR; if (!audio_populate_audio_port(port, &audioPort)) { ALOGE("Failed to populate legacy audio port from audio_port_v7"); result = BAD_VALUE; } status_t status = getAudioPort(&audioPort); if (status == NO_ERROR) { audio_populate_audio_port_v7(&audioPort, port); } else { result = status; } return result; #endif } status_t DeviceHalHidl::setAudioPortConfig(const struct audio_port_config *config) { status_t DeviceHalHidl::setAudioPortConfig(const struct audio_port_config *config) { if (mDevice == 0) return NO_INIT; if (mDevice == 0) return NO_INIT; AudioPortConfig hidlConfig; AudioPortConfig hidlConfig; Loading
media/libaudiohal/impl/DeviceHalHidl.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -107,6 +107,9 @@ class DeviceHalHidl : public DeviceHalInterface, public ConversionHelperHidl // Fills the list of supported attributes for a given audio port. // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port *port); virtual status_t getAudioPort(struct audio_port *port); // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port_v7 *port); // Set audio port configuration. // Set audio port configuration. virtual status_t setAudioPortConfig(const struct audio_port_config *config); virtual status_t setAudioPortConfig(const struct audio_port_config *config); Loading @@ -128,6 +131,8 @@ class DeviceHalHidl : public DeviceHalInterface, public ConversionHelperHidl // The destructor automatically closes the device. // The destructor automatically closes the device. virtual ~DeviceHalHidl(); virtual ~DeviceHalHidl(); template <typename HalPort> status_t getAudioPortImpl(HalPort *port); }; }; } // namespace CPP_VERSION } // namespace CPP_VERSION Loading
media/libaudiohal/impl/DeviceHalLocal.cpp +16 −0 Original line number Original line Diff line number Diff line Loading @@ -180,6 +180,22 @@ status_t DeviceHalLocal::getAudioPort(struct audio_port *port) { return mDev->get_audio_port(mDev, port); return mDev->get_audio_port(mDev, port); } } status_t DeviceHalLocal::getAudioPort(struct audio_port_v7 *port) { #if MAJOR_VERSION >= 7 if (version() >= AUDIO_DEVICE_API_VERSION_3_2) { // get_audio_port_v7 is mandatory if legacy HAL support this API version. return mDev->get_audio_port_v7(mDev, port); } #endif struct audio_port audioPort = {}; audio_populate_audio_port(port, &audioPort); status_t status = getAudioPort(&audioPort); if (status == NO_ERROR) { audio_populate_audio_port_v7(&audioPort, port); } return status; } status_t DeviceHalLocal::setAudioPortConfig(const struct audio_port_config *config) { status_t DeviceHalLocal::setAudioPortConfig(const struct audio_port_config *config) { if (version() >= AUDIO_DEVICE_API_VERSION_3_0) if (version() >= AUDIO_DEVICE_API_VERSION_3_0) return mDev->set_audio_port_config(mDev, config); return mDev->set_audio_port_config(mDev, config); Loading
media/libaudiohal/impl/DeviceHalLocal.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -100,6 +100,9 @@ class DeviceHalLocal : public DeviceHalInterface // Fills the list of supported attributes for a given audio port. // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port *port); virtual status_t getAudioPort(struct audio_port *port); // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port_v7 *port); // Set audio port configuration. // Set audio port configuration. virtual status_t setAudioPortConfig(const struct audio_port_config *config); virtual status_t setAudioPortConfig(const struct audio_port_config *config); Loading
media/libaudiohal/include/media/audiohal/DeviceHalInterface.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -106,6 +106,9 @@ class DeviceHalInterface : public RefBase // Fills the list of supported attributes for a given audio port. // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port *port) = 0; virtual status_t getAudioPort(struct audio_port *port) = 0; // Fills the list of supported attributes for a given audio port. virtual status_t getAudioPort(struct audio_port_v7 *port) = 0; // Set audio port configuration. // Set audio port configuration. virtual status_t setAudioPortConfig(const struct audio_port_config *config) = 0; virtual status_t setAudioPortConfig(const struct audio_port_config *config) = 0; Loading