HAL Interface Name
Overview
Describe the role of this HAL service. Outline its responsibilities, how it abstracts platform-specific functionality, and its interaction with higher-level RDK components. Mention any excluded modes or operations.
References
Info
Interface Definition | path-to-aidl-version |
API Documentation | TBD |
HAL Interface Type | AIDL and Binder |
Initialization Unit | systemd service |
VTS Tests | TBD |
Reference Implementation | TBD |
Related Pages
Functional Overview
Explain the main responsibilities of this interface, such as managing resources, processing buffers, handling events, or controlling hardware. Clarify its positioning in the system architecture.
Implementation Requirements
# | Requirement | Comments |
---|---|---|
HAL. |
The service shall... | Notes or rationale |
Interface Definitions
AIDL File | Description |
---|---|
I |
Main resource control interface |
I |
Interface for service discovery and resource enumeration |
Capabilities.aidl | Parcelable describing feature set |
ErrorCode.aidl | Enum of failure conditions |
Initialization
Describe startup behaviour, service registration, dependencies, and order of operation (e.g., Service Manager registration).
Product Customization
Explain:
- How resources are uniquely identified and enumerated
- What
Capabilities
or properties clients can query - If the platform can offer multiple simultaneous instances
System Context
Include a Mermaid flowchart or textual description showing:
- Client-side interface use
- Resource control paths
- Event listener connections
- Any shared data buffer interaction
Resource Management
Detail the lifecycle:
- How clients
open()
oracquire()
resource handles - Restrictions (e.g., single controller vs. multiple listeners)
- Cleanup behavior when a client exits
Operation and Data Flow
General description of:
- How input/output flows through the HAL
- Handling of any buffer queues, frame handles, or metadata
- Conditions for back pressure or resource stalls
Modes of Operation
Describe configurable or runtime modes and how they affect client interaction or output.
Event Handling
Document:
- Events emitted (e.g.,
onStateChanged
,onError
,onResourceAvailable
) - Listener types
- Timing guarantees or event ordering rules
State Machine / Lifecycle
Describe the typical session flow:
- States like
CLOSED
,READY
,STARTED
,FLUSHING
- Sequence diagrams or state transition tables
- Expected order of calls and callbacks
Data Format / Protocol Support (if applicable)
Format | Use Case | Support Level |
---|---|---|
FormatX | Application data | Optional |
Platform Capabilities
Outline expected feature support—parameter ranges, configuration values, or mode toggles exposed through PlatformCapabilities
.
End-of-Stream and Error Handling
Explain how the interface handles:
- Completion signals
- Error propagation and recovery
- Discontinuities or out-of-band resets
Open Issues / TODOs
Track:
- Unspecified behaviour
- Items pending AIDL changes or implementation
- Gaps in validation/test coverage