Untuk memastikan stabilitas sistem dan kemampuan untuk memasuki status daya rendah seperti Suspend-to-RAM (S2R) atau Suspend-to-Disk (S2D), sangat penting agar resource audio dikelola dengan benar selama transisi daya.
Aplikasi mungkin tidak selalu melepaskan aliran input atau output audio saat sistem memulai penangguhan. Streaming audio aktif dapat mencegah subsistem audio dan hardware yang mendasarinya menjadi tidak aktif, yang dapat memblokir system-on-a-chip (SoC) agar tidak memasuki mode tidur lelap. Hal ini mengakibatkan upaya penangguhan yang gagal dan peningkatan konsumsi daya.
OEM harus menerapkan mekanisme penggantian yang andal dalam implementasi lapisan abstraksi hardware Audio (HAL) untuk menangani streaming audio aktif selama transisi penangguhan. Hal ini penting untuk stabilitas platform, terlepas dari perilaku aplikasi.
Aplikasi harus mengelola resource audio dengan benar, tetapi sistem tidak dapat mengandalkan hal ini untuk transisi status daya mendasar. HAL Audio adalah lapisan yang tepat untuk menerapkan penonaktifan resource guna memastikan kemampuan sistem untuk memasuki status ditangguhkan. Kami merekomendasikan pendekatan ini untuk pengelolaan daya yang andal.
Menerapkan pengelolaan daya
Untuk menerapkan pengelolaan daya yang andal di Audio HAL, ikuti langkah-langkah berikut:
Mendeteksi perubahan status daya sistem, terutama transisi ke penangguhan.
Saat sistem sedang bersiap untuk ditangguhkan, lakukan intervensi jika ada aliran audio (input dan output) yang masih aktif:
- Melepaskan aliran output hardware dan membuang data masuk dari framework audio.
- Melepaskan aliran input hardware dan mengirim audio senyap ke framework.
Tindakan tingkat HAL ini memastikan bahwa hardware audio dapat menjadi tidak aktif, sehingga sistem dapat berhasil ditangguhkan, meskipun aplikasi belum melepaskan resource audionya.
Saat sistem dilanjutkan dari penangguhan, pulihkan subsistem audio ke status aktifnya. Hal ini melibatkan pembatalan bisu pada aliran output yang sebelumnya dibisukan dan mengaktifkan kembali aliran input, sehingga aplikasi dapat melanjutkan pemutaran dan perekaman audio.
Dampak pada aplikasi
Pengelolaan resource audio tingkat HAL selama penangguhan memengaruhi aplikasi dengan cara berikut:
- Penangguhan transparan: Untuk aplikasi yang menggunakan mikrofon, penangguhan sistem (memasuki S2D atau S2R) bersifat transparan.
- Audio dibisukan selama transisi: Setelah transisi ditangguhkan dimulai, streaming aktif dibisukan di HAL. Aplikasi terus berjalan, tetapi hanya menerima audio yang dibisukan selama penangguhan.
- Lanjutan otomatis: Saat sistem dilanjutkan, aplikasi akan otomatis mulai menerima atau mengirim data audio real lagi tanpa memerlukan tindakan pengambilan ulang atau pemulihan resource.