RDK HALIF AIDL 0.15.0 Release Notes
Release date: 1 May 2026
Base comparison: 0.14.0...0.15.0
Highlights
- Established drm as the canonical content-protection HAL (replacing the cdm placeholder).
- Introduced the audiomixer HAL interface family.
- Re-shaped clock association across audiosink, videosink and avclock so the sink owns the AVClock attachment.
- Generation 2 redesign of compositeinput, with explicit
Propertyenum, port lifecycle, and consolidated telemetry. - Generation 2 redesign of motion_sensor, adopting the controller pattern with
StartConfigand diagnostic APIs. - Consolidated EOS handling on the decoder/sink pipeline.
- Added planecontrol graphics framebuffer handling (
IGraphicsFbProvider). - Tightened reviewer metadata model —
VTS_Teamrenamed toVendor_Layer_Team; redundantgenerationfield removed; dissolvedRTAB_Groupdropped. - Comprehensive documentation upgrades for panel, flash, audiomixer, and audio/video sync.
Interface Changes
New Interfaces
- drm HAL family —
IDrmPlugin,IDrmPluginListener,IDrmFactory,ICryptoPlugin, keying/metric/status types. (#341, #405, #438) - audiomixer HAL family —
IAudioMixer,IAudioMixerController,IAudioOutputPort,IAudioMixerEventListener, and supporting parcelables/enums. (#21, #327) - planecontrol graphics framebuffer —
IGraphicsFbProvider,IGraphicsFbProviderListener,GraphicsFbCapabilities,GraphicsFbInfo. (#402, #423)
Additive API Updates
- avclock: defined a primed sub-state, added
onPrimed()callback, madegetCurrentClockTime()@nullable. (#471, #472) - videodecoder: declared supported output pixel formats per
CodecCapabilities. (#469, #470) - audiodecoder / videodecoder / audiosink / videosink: added input-buffer-availability callbacks for back-pressure. (#269, #305, #420)
- audiosink / videosink / avclock: added
attachClock/detachClockto the sink controllers; the sink now owns clock association. (#355) - sensor: added missing
CMakeLists.txtand@VintfStabilityannotations across motion + thermal. (#452, #464) - audiodecoder: clarified
trimStartNs/trimEndNssemantics onInputBufferMetadataandFrameMetadata. (#444, #465)
Breaking Changes
- audiosink / videosink / avclock — sink-owned AVClock association. The sink takes ownership of attaching/detaching its clock via
attachClock(...)/detachClock(). Existing mid-pipeline clock association no longer applies. (#355) - motion_sensor — controller pattern adoption.
IMotionSensoris replaced by anIMotionSensorController+ listener + manager split; sensor start is configured viaStartConfig. (#427) - decoder — single EOS path. EOS is now signalled exclusively via
InputBufferMetadata/FrameMetadata; previous per-call EOS routes are removed. (#403) - compositeinput — generation 2. Listener split realigned to the
hdmiinputpattern;Propertyenum becomes the canonical key reference;signalQualityremoved fromPortStatus; HFPsupportedSignalStatusesremoved; port metrics consolidated. (#382, #408) - metadata schema — the redundant
generationfield is removed;VTS_Teamrenamed toVendor_Layer_Team;RTAB_Groupdropped. (#361, #375)
Migration Notes
- Audio/video sink integrators: move clock attachment to the sink. Replace mid-pipeline clock-association calls with
attachClock(...)on the sink controller (anddetachClock()on teardown). - Motion sensor integrators: re-target the controller manager (
IMotionSensorManager/IMotionSensorController) and configure start viaStartConfig. - Decoder integrators: route EOS through
InputBufferMetadata.endOfStream(input side) andFrameMetadata.endOfStream(output side) only. - Composite input integrators: update to the gen-2 port lifecycle, consume
Propertyenum keys, and read consolidated metrics. - Tooling consumers reading
metadata.yaml: stop readinggeneration; useVendor_Layer_Teamin place ofVTS_Team; do not expectRTAB_Group.
Notable Pull Requests
-
355 — Sink-owned AVClock association.
-
403 — Decoder EOS path consolidation.
-
427 — motion_sensor controller pattern +
StartConfig. -
472 — avclock primed sub-state +
onPrimed(). -
382 / #408 — compositeinput generation 2.
-
423 — planecontrol graphics framebuffer.
-
405 / #341 / #438 — drm HAL addition + metadata.
-
327 / #353 / #368 — audiomixer HAL + control-flow documentation.
-
361 / #375 — metadata reviewer-model refactor (
Vendor_Layer_Team,generationremoval). -
374 / #378 — Panel HAL complete documentation.
-
22 / #340 / #370 — Flash HAL documentation + post-flash signature verification requirements.
-
84 — API evolution specification.
-
304 —
INVALID_HANDLEpattern removal and exception-handling documentation. -
469 / #470 — videodecoder supported output pixel formats.
-
269 / #305 / #420 — decoder/sink back-pressure callbacks.
-
452 / #464 — sensor CMakeLists +
@VintfStabilityfixes. -
444 / #465 — audiodecoder trim semantics.
-
389 / #390 / #392 / #394 — sensor / videodecoder doc fixes.