私はHALモジュールの寿命と使い方について混乱しています。伝統的に、HALモジュールは、様々な機能へのフックのセットとして実装され、共有ライブラリにコンパイルされます。 libhardware
にリンクしている2つのアプリケーションがあり、どちらもコードのどこかにhw_get_module()
を呼び出しているとします。Android:HALモジュールのインスタンスが1回だけありますか?
struct my_audio_stream {
struct audio_stream base; /* base HAL */
int count;
}
struct audio_module HAL_MODULE_INFO_SYM = {
.base =
.common = {
.tag = HARDWARE_MODULE_TAG,
.module_api_version = AUDIO_MODULE_API_VERSION_0_1,
.hal_api_version = HARDWARE_HAL_API_VERSION,
.id = AUDIO_HARDWARE_MODULE_ID,
.name = "USB audio HW HAL",
.author = "The Android Open Source Project",
.methods = &hal_module_methods,
},
}
1つのアプリケーションでカウント変数をインクリメントすると、他のアプリケーションに表示されますか?つまり、my_audio_stream
モジュールのグローバルインスタンスは1つだけですか?