IC4_ALLOCATOR_CALLBACKS 構造体リファレンス
ImageBuffer用のカスタムアロケータを設定するために使用する関数ポインタを格納します。 詳細...
Data Fields
| void(* | release )(void *context) アロケータがこれ以上コールバック関数の呼び出しを受け取らないことをユーザーに通知します。 |
| bool(* | allocate_buffer )(void *context, size_t buffer_size, size_t alignment, void **buffer_ptr, void **user_data) アロケータにメモリバッファの確保を要求します。 |
| void(* | free_buffer )(void *context, void *buffer_ptr, void *user_data アロケータに、以前に確保したメモリバッファの解放を要求します。 |
詳細説明
ImageBuffer用のカスタムアロケータを設定するために使用する関数ポインタを格納します。
フィールドドキュメント
◆ allocate_buffer
| bool(* allocate_buffer) (void *context, size_t buffer_size, size_t alignment, void **buffer_ptr, void **user_data) |
アロケータにメモリバッファの確保を要求します。
- パラメータ
-
[in] context Sink作成関数に渡された allocator_contextパラメータ[in] buffer_size 要求されたメモリバッファのサイズ [in] alignment 特定のアライメント境界でメモリを確保することを要求します。
この値は常に2のべき乗です。[out] buffer_ptr 新しく確保されたバッファのアドレスを受け取るポインタへのポインタ [out] user_data バッファに関連付けるユーザーデータ。このユーザーデータは、確保されたメモリが再び解放される際にfree_bufferに渡されます。
- 戻り値
- 成功した場合は
true。メモリ確保を実行できなかった場合はfalseを返します。
◆ free_buffer
| void(* free_buffer) (void *context, void *buffer_ptr, void *user_data) |
アロケータに、以前に確保したメモリバッファの解放を要求します。
- パラメータ
-
[in] context Sink作成関数に渡された allocator_contextパラメータ[in] buffer_ptr 解放するメモリバッファへのポインタ [in] user_data メモリバッファが確保された際にallocate_bufferから返されたユーザーデータ
◆ release
| void(* release) (void *context) |
アロケータがこれ以上コールバック関数の呼び出しを受け取らないことをユーザーに通知します。
contextパラメータに関連付けられたリソースは解放できます。
- パラメータ
-
[in] context Sink作成関数に渡された allocator_contextパラメータ。
- 注意
releaseコールバック関数は、ic4_sink_unref()への最後の呼び出しによってSinkを破棄するスレッド上で実行されます。


