summaryrefslogtreecommitdiffstats
path: root/visualizer
Commit message (Collapse)AuthorAgeFilesLines
* visualizer: Pass sound card and capture device from audio HALAniket Kumar Lata2018-05-092-16/+17
| | | | | | | | | Sound card number and capture device id were hardcoded in visualizer. Fix this by passing card number and capture device id while starting visualizer output from audio HAL. Bug: 65263761 Change-Id: Icc5c33e35d836f524918900b3bfdf2a587465505
* Revert "Audio V4: Split system and vendor Audio.h"Kevin Rocard2018-01-241-3/+2
| | | | | | | | This reverts commit c246f5eaa1dabda72eb3bcf3823d4cab65bd4e83. Reason for revert: Breaks the build of multiple devices Change-Id: I516d7467369f9a9b9872e7378c8b2eabc8b1d96e
* Audio V4: Split system and vendor Audio.hKevin Rocard2018-01-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | audio.h and its dependencies (audio-effect.h, sound_trigger.h...) used to be shared between system and vendor code. This led to multiple problems: 1) Such sharing contradicts the Treble policy of strict independence of framework and vendor code. 2) When audio.h was changed, every vendor needed to update its code in the next release. This meant that audio*.h headers were mostly changed in backward compatible manner. Nevertheless, for P the HIDL interface and thus the audio.h interface are changed in backward incompatible way. (Some enum are becoming 64 bit long). 3) As the headers were common, some API used only by the framework needed to be visible to the vendors (mostly enum values). 4) Treble policy is to support at least one previous HAL version As a result the audio*.h headers are now duplicated, one set for the framework, and one for the vendor. Each set will evolve independently. After this split, the framework-only APIs will be removed from the vendor headers and vice versa. The split is implements as such: + for system code - NOT moving the libaudio_system_headers Eg: system/audio.h and system/audio_effects/effect_equalizer.h are still in system/media/audio - the legacy audio HAL API that were in libhardware headers are now in libaudiohal_legacy_headers Eg: hardware/audio.h and hardware/audio_effect.h are now in frameworks/av/media/libaudiohal/legacy/ + for vendor code - moving libaudio_system_headers and the legacy audio HAL API that were in libhardware_headers in android.hardware.audio.common.legacy@2.0 Note that those headers are now versioned, so migrating to a @4.0 HIDL HAL will mean changing the legacy dependency too. Eg: system/audio.h, system/audio-effect.h, hardware/audio.h are now in hardware/interfaces/audio/common/2.0/legacy - the legacy audio effect HAL API that was in libaudioeffects is now moved in android.hardware.audio.effect.legacy@2.0 Eg: audio_effects/effect*.h are now in hardware/interfaces/audio/effect/2.0/legacy - the legacy sound trigger HAL API that were in libhardware_headers is now moved in android.hardware.soundtrigger.legacy@2.0 Eg: hardware/sound_trigger.h is now in hardware/interfaces/audio/effect/2.0/legacy libaudioutil being used by both system and vendor, had to be renamed for system to libaudioutil_system. Vendor libs that now depend on the audio.h of a specific version and are not extensively referenced in non google code, append @2.0 to their name. Note that headers that are not expected to change in the 4.0 HAL are left in all-versions folder to avoid duplication. This is an implementation detail as the versioned libraries export the all-versions headers. Note that strict vendor-system separation is enforced by the build-system. The system headers are not available for vendor libs and vice-versa. Note that this patch is split between numerous git repository (>10), all the commits having the same Change-id for searchability. Note that audio_policy.h is no longer exposed to vendors as the legacy audio policy HAL API was never officially supported. As a result the audiopolicy stub implementation has been removed. Test: compile taimen-userdebug walleye-userdebug sailfish-userdebug marlin-userdebug gce_x86_phone-userdebug gce_x86_phone full-eng aosp_arm aosp_x86-eng Test: check that the emulator booted and played audio Test: full QA on sailfish-userdebug and taimen-userdebug Bug: 38184704 Change-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a Signed-off-by: Kevin Rocard <krocard@google.com>
* Add correct LOCAL_CFLAGS to compile with global -Werror.Chih-Hung Hsieh2018-01-041-5/+5
| | | | | | | | * Only fix warning related flags in this change. Bug: 66996870 Test: normal builds. Change-Id: If6de2711bf872558d8532842ee36ede269d5ac2f
* Merge commit 'c760926ccd18a47e549cd33ccdb71cd5d9b2e33e' into HEADXin Li2017-11-132-3/+15
|\ | | | | | | Change-Id: I4837def45d763ca261a7603eb0e3472da146920d
| * Offload Visualizer CAPTURE_DEVICE changed on tavil (wahoo)Kevin Rocard2017-09-012-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The offload effect capture card has always been the nb 8 before wahoo devices. This value 8 was hard-coded in the offload visualizer even though on Wahoo the correct value is 7. The proper fix would be to link with the hal to retrieve the correct value depending on the platform configuration. Nevertheless there is no time for MR1 for this proper fix. This hack will be reverted in master as soon as qcom provides the fix. Bug: 64373855 Bug: 65026253 Bug: 65263761 Test: enabled visualizer on mp3 music (play music) in test app Change-Id: I2036f694a6028c637582e55aa71ef56b4fa9d328 Signed-off-by: Kevin Rocard <krocard@google.com>
| * Make libqcomvisualizer build with the VNDK.Steven Moreland2017-06-302-2/+6
| | | | | | | | | | | | | | | | | | | | | | When the vndk is enabled (BOARD_VNDK_VERSION=current), vendor libraries must only link against vendor variants in the build system. This means that they receive restricted sets of headers and that automatic global headers are restricted. Test: build libqcomvisualizer with BOARD_VNDK_VERSION=current Bug: 37342627 Change-Id: I7f17946754091ac3a71ccc6451429bb1cd60d13b
| * Add libhardware_headers and libsystem_headers to modulesVijay Venkatraman2017-06-021-0/+1
| | | | | | | | | | | | Bug: 33241851 Test: Build target and pass CTS audio Change-Id: Ibf8b0662cd7aea5592522b3ead2d8eb2aaac6c04
* | Use -Werror in hardware/qcom/audioChih-Hung Hsieh2017-11-061-0/+5
|/ | | | | | | | * Suppress existing warnings. Bug: 66996870 Test: build with WITH_TIDY=1 Change-Id: I389b943471ccdcfc9b7db4411fa3973d77303a27
* Move device dependent modules to /vendorDiego Wilson2017-03-211-0/+2
| | | | | | | Test: lunch marlin; make vendorimage; fastboot -w flash vendor vendor.img # on marlin Change-Id: Iee5fa24eecb8f1b929a2a40eb9c982cc087fcb4f
* Fix potential NULL dereference in Visualizer effectrago2016-10-071-3/+7
| | | | | | | | Bug: 30229821 Test: fixing CL. Existing unit tests still pass. Change-Id: I73d3fe413dd7590470c5b3b19569d6a7969c4dd8
* Fix compiler warnings.David Benjamin2016-09-211-6/+6
| | | | | | | | This should fix everything but the platform_get_snd_device_name_extn warnings which will be in a separate CL. Change-Id: Iace30af1cb7754e0bcfd25de8dc55c2c059e30c6 Test: Still compiles.
* Fix potential overflow in Visualizer effectrago2016-08-231-0/+8
| | | | | Bug: 30229821 Change-Id: Iea1c4a21735e893aeded95b980044ec0861a7ea8
* Enable support for msm8992 & msm8994 targetsAjay Dudani2015-04-161-1/+1
| | | | Change-Id: I8da8a5b9885c7202d858b181d610aadc12544852
* visualizer: do not apply calibration on audio routed to afe proxyRavi Kumar Alamanda2014-12-012-0/+27
| | | | | | | | | | | | | | When compress offload playback is active, if the Visualizer effect is enabled, decoded PCM audio is routed to AFE Proxy port and read from it by the Visualizer wrapper library. When audio is routed to proxy port, current output device specific calibration is also being applied which is not desired. Avoid this by sending default audio calibration i.e. no post-processing to be applied the data. Bug: 18390493 Change-Id: Id576c4ed7bbb482683074e3e33aa5760b7597d37
* post_proc: Offload effects combined patchsetHaynes Mathew George2014-08-061-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Support effects in DSP for tunnel mode playback Add interface to support configuring equlaizer, bass boost, virtualizer and reverb effects in DSP for tunnel mode of playback. (cherry-picked from CAF commit 3eedc004e9adf5967f393d65c22b7806d0c63e6c) * post_proc: Enable effects param in DSP to start effect -During switch to tunnel playback, offload effects-flags remain disabled. This stops effects being applied on tunnel playback. -Send effects enable params to DSP to start effects during switch. (cherry-picked from CAF commit d02f2cd710334cc2be6a866da537a595256ae623) * post_proc: disable adsp reverb when preset is 'None' Audio HAL set corresponding preset id into adsp, but doesn't disabe reverb explicitly when 'None' preset is chosen. However, preset=0 means custom preset in adsp, so adsp won't stop reverb processing. (cherry-picked from CAF commit b27e25f062edfeebb6860078013c7b413b8c4301) * post_proc: send ENABLE_FLAG directly to offload effect driver Enable flag should be sent directly through offload effect driver to adsp whenever bundle receives EFFECT_CMD_ENABLE. Otherwise enablement will only take effect in adsp after subsequent parameters being set, and that's not expected. (cherry-picked from CAF commit d45948e2153c03b41f55577debd943408f9c8280) * post_proc: reverb preset id is not mapped correctly Array index is not correct and causes uninitialized value being used when 'Plate' is chosen. Correct index to retrieve the right preset id. (cherry-picked from CAF commit ca2685b2a0a695a7c4ac78883e750a92dcad0515) * post_proc: disable Bassboost and Virtualizer for certain devices WFD, Hdmi and usb audio are not intended to be applied with SA+ bassboost and virtualizer, so add into invalid device list. (cherry-picked from CAF ee2ff9621d25d83151ccb24a416f21533fdfbd31) * post_proc: disable effect immediately when routed to invalid devices Offload effect is still perceived when invalid output device is connected. We should send disable command immediately once phone is routed to unexpected device and forbid effect enablement during temporary disabled state. (cherry-picked from CAF commit 95d74c2232721631f3a04f6ccf35760b37b33fea) * post_proc: Enable reverb in DSP to start effect During switch to tunnel playback, reverb enable command is not sent to DSP and causes reverb effect not applied continuously. Send reverb enable params to DSP to start effects during switch. (cherry-picked from CAF commit c37c260fa174453f4822261bcd531ddb2706ab2c) * post_proc: include audio_effects.h from kernel exported headers Currently, audio_effects.h header file is included with reference to the absolute path. Instead, reference it from the kernel exported headers. (cherry-picked from CAF commit 090a2aa3f38298196ad9f47e3b6578535e1f7e10) * hal: Add support for audio effects in DSP for tunnel mode playback Add support to enable or disable audio post processing effects in DSP for tunnel mode playback. (cherry-picked from CAF commit 1d0891672175d431e8872dd7dff21e0ce507361a) Change-Id: I7ead6da4c216fd87e8ca1884811c4e0155053f49
* audio: fixed channel count determination from channel maskEric Laurent2014-07-011-1/+1
| | | | | | | Do not use popcount() to derive channel count from channel mask. Bug: 15000850. Change-Id: Idaf241be22f85040c6461834bad60ae1d9244f32
* audio: fix unused param warningsHaynes Mathew George2014-06-161-7/+7
| | | | Change-Id: Ibd6b6cc1c76030997ec33a3a038ef664393b7aeb
* Visualizer: do not use GNU old-style field designatorssynergy dev2013-12-171-7/+7
| | | | | | | Avoiding the use of GCC extensions improves code portability Change-Id: Iabe9fc84d135160367922e6d026e8608475fe8c8
* Level measurement in offloaded visualizerJean-Michel Trivi2013-09-241-16/+136
| | | | | | | | | Add Peak and RMS measurement capabilities in the "offloaded" version of the visualizer effect. Bug 8413913 Change-Id: I09a88f4cc791db6c68f0769dc23ced0d3aac955c
* add offloaded audio visualizerEric Laurent2013-09-174-0/+1347
Add library for visualizer effect used when audio decompression is offloaded to QCOM audio DSP. The implementation reads PCM back from the proxy port in the audio DSP. The audio HAL dynamically loads the effect library if present and indicates offloaded output activity. The PCM capture is only active when an offloaded output is active and at least one effect is enabled on this output. Bug: 8174410. Change-Id: Ic78de932f9116e246494f9171c1cc7c3e35a0ea1