Skip to content
This repository has been archived by the owner on Mar 11, 2022. It is now read-only.

Add microphone and speaker functionality #1

Merged
merged 4 commits into from Jan 6, 2020

Conversation

MagneFire
Copy link
Member

@MagneFire MagneFire commented Jan 4, 2020

Upgrade the Linux kernel and Android base files. But make sure that the graphics stack remains the same as I can't get the graphics stack working on the marshmallow Android base.
Refer to commit b37c4d3 for a full list of changed Android base files.

To play an audio file use the following command:
gst-launch-1.0 filesrc location=input.mp3 ! mpegaudioparse! mpg123audiodec ! pulsesink

To make an audio recording, use the following command:
gst-launch-1.0 pulsesrc ! audioconvert ! wavenc ! filesink location=recording.wav

Marshmallow introduces support for a speaker.
Revert Nitrous Bluetooth patched.
This Android base now consists of a tricky mix of lollipop[LCB43B] and marshmallow[MEC23L] files. This fixes the microphone and speaker not functioning at all on the lollipop base.
Add a udev rule to allow a user to access the i2c2 interface to control the speaker from pulseaudio.
The current graphics stack does not work on the marshmallow[MEC23L] base, so the graphics stack still uses the lollipop base.

Here is the list of all files added/upgraded:
system/vendor/lib/libaudioalsa.so                            -> system/vendor/lib/libaudioalsa.so
system/vendor/lib/hw/sensors.sturgeon.so                     -> system/vendor/lib/hw/sensors.sturgeon.so
system/vendor/lib/libaudcal.so                               -> system/vendor/lib/libaudcal.so
system/vendor/etc/audio_effects.conf                         -> system/vendor/etc/audio_effects.conf
system/vendor/firmware/fw_bcmdhd.bin                         -> system/vendor/firmware/fw_bcmdhd.bin
system/vendor/firmware/fw_bcmdhd_apsta.bin                   -> system/vendor/firmware/fw_bcmdhd_apsta.bin
system/lib/libtinyalsa.so                                    -> system/lib/libtinyalsa.so
system/lib/libaudiopolicymanagerdefault.so                   -> system/lib/libaudiopolicymanagerdefault.so
                                                             -> system/lib/libaudio-resampler.so
system/lib/libaudioflinger.so                                -> system/lib/libaudioflinger.so
                                                             -> system/lib/libaudiospdif.so
                                                             -> system/lib/libaudiopolicyenginedefault.so
system/lib/libaudiopolicyservice.so                          -> system/lib/libaudiopolicyservice.so
system/lib/libaudiopolicymanager.so                          -> system/lib/libaudiopolicymanager.so
system/lib/libc.so                                           -> system/lib/libc.so
system/lib/soundfx/libldnhncr.so                             -> system/lib/soundfx/libldnhncr.so
system/lib/soundfx/libreverbwrapper.so                       -> system/lib/soundfx/libreverbwrapper.so
                                                             -> system/lib/soundfx/libqcomvisualizer.so
system/lib/soundfx/libvisualizer.so                          -> system/lib/soundfx/libvisualizer.so
system/lib/soundfx/libeffectproxy.so                         -> system/lib/soundfx/libeffectproxy.so
system/lib/soundfx/libdownmix.so                             -> system/lib/soundfx/libdownmix.so
system/lib/soundfx/libbundlewrapper.so                       -> system/lib/soundfx/libbundlewrapper.so
                                                             -> system/lib/soundfx/libqcompostprocbundle.so
                                                             -> system/lib/soundfx/libqcomvoiceprocessing.so
system/lib/libaudioeffect_jni.so                             -> system/lib/libaudioeffect_jni.so
system/lib/libaudioroute.so                                  -> system/lib/libaudioroute.so
system/lib/crtbegin_so.o                                     -> system/lib/crtbegin_so.o
                                                             -> system/lib/hw/audio.r_submix.default.so
system/lib/hw/audio.primary.default.so                       -> system/lib/hw/audio.primary.default.so
system/lib/hw/audio.a2dp.default.so                          -> system/lib/hw/audio.a2dp.default.so
system/lib/hw/audio_policy.default.so                        -> system/lib/hw/audio_policy.default.so
                                                             -> system/lib/hw/audio.primary.sturgeon.so
system/lib/libart.so                                         -> system/lib/libart.so
system/lib/libvorbisidec.so                                  -> system/lib/libvorbisidec.so
                                                             -> system/lib/libexTfa98xx.so
system/lib/libaudioresampler.so                              -> system/lib/libaudioresampler.so
system/lib/crtend_so.o                                       -> system/lib/crtend_so.o
system/lib/libsensorservice.so                               -> system/lib/libsensorservice.so
system/lib/libaudioutils.so                                  -> system/lib/libaudioutils.so
system/bin/linker                                            -> system/bin/linker
system/bin/mcu.bin                                           -> system/bin/mcu.bin
system/etc/audio_policy.conf                                 -> system/etc/audio_policy.conf
system/etc/media_codecs.xml                                  -> system/etc/media_codecs.xml
system/etc/mixer_paths.xml                                   -> system/etc/mixer_paths.xml
                                                             -> system/etc/Tfa98xx.cnt
include/android-version.h                                    -> include/android-version.h
                                                             -> include/hardware/radio.h
                                                             -> include/hardware/input.h
include/hardware/hwcomposer.h                                -> include/hardware/hwcomposer.h
include/hardware/keymaster1.h                                -> include/hardware/keymaster1.h
include/hardware/gps.h                                       -> include/hardware/gps.h
include/hardware/bluetooth.h                                 -> include/hardware/bluetooth.h
include/hardware/fused_location.h                            -> include/hardware/fused_location.h
include/hardware/bt_sock.h                                   -> include/hardware/bt_sock.h
include/hardware/camera_common.h                             -> include/hardware/camera_common.h
include/hardware/gralloc.h                                   -> include/hardware/gralloc.h
include/hardware/hwcomposer_defs.h                           -> include/hardware/hwcomposer_defs.h
include/hardware/fingerprint.h                               -> include/hardware/fingerprint.h
                                                             -> include/hardware/gatekeeper.h
include/hardware/power.h                                     -> include/hardware/power.h
include/hardware/audio_effect.h                              -> include/hardware/audio_effect.h
include/hardware/keymaster_defs.h                            -> include/hardware/keymaster_defs.h
                                                             -> include/hardware/bt_sdp.h
include/hardware/sensors.h                                   -> include/hardware/sensors.h
include/hardware/hw_auth_token.h                             -> include/hardware/hw_auth_token.h
include/hardware/bt_gatt_client.h                            -> include/hardware/bt_gatt_client.h
include/hardware/camera3.h                                   -> include/hardware/camera3.h
                                                             -> include/hardware/bt_common_types.h
                                                             -> include/system/radio.h
include/system/graphics.h                                    -> include/system/graphics.h
include/system/camera.h                                      -> include/system/camera.h
include/system/window.h                                      -> include/system/window.h
include/system/audio.h                                       -> include/system/audio.h
include/manifest.xml                                         -> include/manifest.xml
include/android-headers.pc                                   -> include/android-headers.pc
include/git-revisions.txt                                    -> include/git-revisions.txt
include/hardware_legacy/wifi.h                               -> include/hardware_legacy/wifi.h
include/private/android_filesystem_config.h                  -> include/private/android_filesystem_config.h
include/log/logprint.h                                       -> include/log/logprint.h
include/log/log.h                                            -> include/log/log.h
include/cutils/sched_policy.h                                -> include/cutils/sched_policy.h
include/cutils/trace.h                                       -> include/cutils/trace.h
include/cutils/partition_utils.h                             -> include/cutils/partition_utils.h
include/cutils/threads.h                                     -> include/cutils/threads.h
usr/libexec/hal-droid/system/lib/libexpat.so                 -> usr/libexec/hal-droid/system/lib/libexpat.so
usr/libexec/hal-droid/system/lib/liblog.so                   -> usr/libexec/hal-droid/system/lib/liblog.so
                                                             -> usr/libexec/hal-droid/system/lib/libsysutils.so
usr/libexec/hal-droid/system/lib/libdsyscalls.so             -> usr/libexec/hal-droid/system/lib/libdsyscalls.so
usr/libexec/hal-droid/system/lib/libsonivox.so               -> usr/libexec/hal-droid/system/lib/libsonivox.so
usr/libexec/hal-droid/system/lib/libui.so                    -> usr/libexec/hal-droid/system/lib/libui.so
usr/libexec/hal-droid/system/lib/libexternal.so              -> usr/libexec/hal-droid/system/lib/libexternal.so
usr/libexec/hal-droid/system/lib/libicui18n.so               -> usr/libexec/hal-droid/system/lib/libicui18n.so
usr/libexec/hal-droid/system/lib/libcamera_client.so         -> usr/libexec/hal-droid/system/lib/libcamera_client.so
usr/libexec/hal-droid/system/lib/libft2.so                   -> usr/libexec/hal-droid/system/lib/libft2.so
usr/libexec/hal-droid/system/lib/libprotobuf-cpp-lite.so     -> usr/libexec/hal-droid/system/lib/libprotobuf-cpp-lite.so
usr/libexec/hal-droid/system/lib/libc.so                     -> usr/libexec/hal-droid/system/lib/libc.so
usr/libexec/hal-droid/system/lib/libvirtual.so               -> usr/libexec/hal-droid/system/lib/libvirtual.so
usr/libexec/hal-droid/system/lib/libcamera_metadata.so       -> usr/libexec/hal-droid/system/lib/libcamera_metadata.so
usr/libexec/hal-droid/system/lib/libbinder.so                -> usr/libexec/hal-droid/system/lib/libbinder.so
usr/libexec/hal-droid/system/lib/libcutils.so                -> usr/libexec/hal-droid/system/lib/libcutils.so
usr/libexec/hal-droid/system/lib/libqservice.so              -> usr/libexec/hal-droid/system/lib/libqservice.so
usr/libexec/hal-droid/system/lib/libz.so                     -> usr/libexec/hal-droid/system/lib/libz.so
usr/libexec/hal-droid/system/lib/libnbaio.so                 -> usr/libexec/hal-droid/system/lib/libnbaio.so
usr/libexec/hal-droid/system/lib/libunwind.so                -> usr/libexec/hal-droid/system/lib/libunwind.so
usr/libexec/hal-droid/system/lib/libskia.so                  -> usr/libexec/hal-droid/system/lib/libskia.so
usr/libexec/hal-droid/system/lib/libm.so                     -> usr/libexec/hal-droid/system/lib/libm.so
usr/libexec/hal-droid/system/lib/libmedia.so                 -> usr/libexec/hal-droid/system/lib/libmedia.so
usr/libexec/hal-droid/system/lib/libbacktrace.so             -> usr/libexec/hal-droid/system/lib/libbacktrace.so
usr/libexec/hal-droid/system/lib/liboverlay.so               -> usr/libexec/hal-droid/system/lib/liboverlay.so
                                                             -> usr/libexec/hal-droid/system/lib/libnl.so
usr/libexec/hal-droid/system/lib/libicuuc.so                 -> usr/libexec/hal-droid/system/lib/libicuuc.so
usr/libexec/hal-droid/system/lib/libqdMetaData.so            -> usr/libexec/hal-droid/system/lib/libqdMetaData.so
usr/libexec/hal-droid/system/lib/libspeexresampler.so        -> usr/libexec/hal-droid/system/lib/libspeexresampler.so
usr/libexec/hal-droid/system/lib/libutils.so                 -> usr/libexec/hal-droid/system/lib/libutils.so
usr/libexec/hal-droid/system/lib/libc++.so                   -> usr/libexec/hal-droid/system/lib/libc++.so
usr/libexec/hal-droid/system/lib/libmemalloc.so              -> usr/libexec/hal-droid/system/lib/libmemalloc.so
usr/libexec/hal-droid/system/lib/libhardware_legacy.so       -> usr/libexec/hal-droid/system/lib/libhardware_legacy.so
usr/libexec/hal-droid/system/lib/libpng.so                   -> usr/libexec/hal-droid/system/lib/libpng.so
usr/libexec/hal-droid/system/lib/libGLESv2.so                -> usr/libexec/hal-droid/system/lib/libGLESv2.so
usr/libexec/hal-droid/system/lib/libjpeg.so                  -> usr/libexec/hal-droid/system/lib/libjpeg.so
usr/libexec/hal-droid/system/lib/libpowermanager.so          -> usr/libexec/hal-droid/system/lib/libpowermanager.so
usr/libexec/hal-droid/system/lib/libsync.so                  -> usr/libexec/hal-droid/system/lib/libsync.so
usr/libexec/hal-droid/system/lib/libnetutils.so              -> usr/libexec/hal-droid/system/lib/libnetutils.so
usr/libexec/hal-droid/system/lib/libbase.so                  -> usr/libexec/hal-droid/system/lib/libbase.so
                                                             -> usr/libexec/hal-droid/system/lib/libpcre.so
usr/libexec/hal-droid/system/lib/libGLESv1_CM.so             -> usr/libexec/hal-droid/system/lib/libGLESv1_CM.so
usr/libexec/hal-droid/system/lib/libcommon_time_client.so    -> usr/libexec/hal-droid/system/lib/libcommon_time_client.so
usr/libexec/hal-droid/system/lib/libstagefright_foundation.s -> usr/libexec/hal-droid/system/lib/libstagefright_foundation.s
usr/libexec/hal-droid/system/lib/libqdutils.so               -> usr/libexec/hal-droid/system/lib/libqdutils.so
usr/libexec/hal-droid/system/lib/libEGL.so                   -> usr/libexec/hal-droid/system/lib/libEGL.so
                                                             -> usr/libexec/hal-droid/system/lib/libselinux.so
usr/libexec/hal-droid/system/lib/libdl.so                    -> usr/libexec/hal-droid/system/lib/libdl.so
usr/libexec/hal-droid/system/lib/libGLES_trace.so            -> usr/libexec/hal-droid/system/lib/libGLES_trace.so
usr/libexec/hal-droid/system/lib/libhardware.so              -> usr/libexec/hal-droid/system/lib/libhardware.so
usr/libexec/hal-droid/system/lib/libgui.so                   -> usr/libexec/hal-droid/system/lib/libgui.so
usr/libexec/hal-droid/system/lib/libaudioutils.so            -> usr/libexec/hal-droid/system/lib/libaudioutils.so
Attempt to make suspend more reliable and UI less laggy after suspend.
@FlorentRevest FlorentRevest merged commit d7a0ba0 into AsteroidOS:master Jan 6, 2020
@FlorentRevest
Copy link
Member

Great job, thanks! Do you think you could also update README-system-dir?

@MagneFire
Copy link
Member Author

Yes, I will update the README-system-dir when I have completed the update to the next version MEC23L -> MWD69. That version should have better Bluetooth support and improved wrist gestures(when this ends up in AsteroidOS).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants