How andro-sapien/device_xiaomi_vince works
This repository is a device-specific Android hardware-support tree for the Xiaomi Redmi 5 Plus, with Qualcomm camera, audio, display, and media components. A typical device workflow sends framework requests to hardware interfaces, which configure and operate the relevant device subsystem; camera also includes a USB-camera implementation, while display includes composition and buffer management. The README documents device specifications rather than software workflows, and much of the implementation was not sampled, so the graph shows only relationships established by excerpts or SOURCE INDEX references.
Main entry points: audio_feature_manager.c Feature manager · QCamera2HWI.cpp Camera HAL · hwc_session_services.cpp HWC session · comp_manager.cpp Composition manager
Components 18
Camera
- Camera HAL
camera/QCamera2/HAL/QCamera2HWI.cpp - Camera3 HAL
camera/QCamera2/HAL3/QCamera3HWI.cpp - Camera interface
camera/QCamera2/stack/common/mm_camera_interface.h - USB camera
camera/usbcamcore/src/QualcommUsbCamera.cpp - Face effects
camera/QCamera2/HAL/tsMakeuplib/include/ts_makeup_engine.h
Audio
- Audio HAL
qcom-caf/audio/hal/audio_hw.c - Audio extensions
qcom-caf/audio/hal/audio_extn/audio_extn.h - Feature manager
qcom-caf/audio/hal/audio_extn/audio_feature_manager.c - Voice extensions
qcom-caf/audio/hal/voice_extn/voice_extn.h
Display
- HWC session
qcom-caf/display/sdm/libs/hwc2/hwc_session_services.cpp - Composition manager
qcom-caf/display/sdm/libs/core/comp_manager.cpp - Composition strategy
qcom-caf/display/sdm/libs/core/strategy.h - Buffer allocator
qcom-caf/display/libgralloc/alloc_controller.cpp - C2D blitter
qcom-caf/display/sdm/libs/hwc/blit_engine_c2d.cpp - GPU tonemapper
qcom-caf/display/gpu_tonemapper/glengine.cpp
Media
- Video metadata
qcom-caf/media/mm-video-v4l2/vidc/common/src/extra_data_handler.cpp - Video frame parser
qcom-caf/media/mm-video-v4l2/vidc/vdec/src/frameparser.cpp
Other components
- Android framework
Connections 14
- Android framework → Camera HAL: requests camera
- Android framework → Camera3 HAL: requests camera
- Camera HAL → Camera interface: uses interface
- Android framework → USB camera: requests capture
- Android framework → Audio HAL: requests audio
- Feature manager → Audio HAL: reads HAL definitions
qcom-caf/audio/hal/audio_extn/audio_feature_manager.c - Feature manager → Audio extensions: loads feature values
qcom-caf/audio/hal/audio_extn/audio_feature_manager.c - Feature manager → Voice extensions: includes voice interface
qcom-caf/audio/hal/audio_extn/audio_feature_manager.c - Android framework → HWC session: requests display
- HWC session → Composition manager: coordinates display
- Composition manager → Composition strategy: uses strategy
qcom-caf/display/sdm/libs/core/comp_manager.cpp - Android framework → Buffer allocator: requests buffers
- Android framework → Video metadata: processes video
- Android framework → Video frame parser: processes video