mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-24 09:14:04 +02:00
Add next() and peek() APIs for messages to the resource manager.
This is in preparation for self-managed message handling.
This commit is contained in:
+22
-2
@@ -356,6 +356,8 @@ MA_API ma_result ma_resource_manager_data_source_get_looping(ma_resource_manager
|
|||||||
/* Message handling. */
|
/* Message handling. */
|
||||||
MA_API ma_result ma_resource_manager_handle_message(ma_resource_manager* pResourceManager, const ma_resource_manager_message* pMessage);
|
MA_API ma_result ma_resource_manager_handle_message(ma_resource_manager* pResourceManager, const ma_resource_manager_message* pMessage);
|
||||||
MA_API ma_result ma_resource_manager_post_message(ma_resource_manager* pResourceManager, const ma_resource_manager_message* pMessage); /* Message will be copied. */
|
MA_API ma_result ma_resource_manager_post_message(ma_resource_manager* pResourceManager, const ma_resource_manager_message* pMessage); /* Message will be copied. */
|
||||||
|
MA_API ma_result ma_resource_manager_next_message(ma_resource_manager* pResourceManager, ma_resource_manager_message* pMessage);
|
||||||
|
MA_API ma_result ma_resource_manager_peek_message(ma_resource_manager* pResourceManager, ma_resource_manager_message* pMessage);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1256,7 +1258,7 @@ static ma_thread_result MA_THREADCALL ma_resource_manager_resource_thread(void*
|
|||||||
ma_result result;
|
ma_result result;
|
||||||
ma_resource_manager_message message;
|
ma_resource_manager_message message;
|
||||||
|
|
||||||
result = ma_resource_manager_message_queue_next(&pResourceManager->messageQueue, &message);
|
result = ma_resource_manager_next_message(pResourceManager, &message);
|
||||||
if (result != MA_SUCCESS) {
|
if (result != MA_SUCCESS) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -3292,13 +3294,31 @@ MA_API ma_result ma_resource_manager_handle_message(ma_resource_manager* pResour
|
|||||||
|
|
||||||
MA_API ma_result ma_resource_manager_post_message(ma_resource_manager* pResourceManager, const ma_resource_manager_message* pMessage)
|
MA_API ma_result ma_resource_manager_post_message(ma_resource_manager* pResourceManager, const ma_resource_manager_message* pMessage)
|
||||||
{
|
{
|
||||||
if (pResourceManager == NULL || pMessage == NULL) {
|
if (pResourceManager == NULL) {
|
||||||
return MA_INVALID_ARGS;
|
return MA_INVALID_ARGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ma_resource_manager_message_queue_post(&pResourceManager->messageQueue, pMessage);
|
return ma_resource_manager_message_queue_post(&pResourceManager->messageQueue, pMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MA_API ma_result ma_resource_manager_next_message(ma_resource_manager* pResourceManager, ma_resource_manager_message* pMessage)
|
||||||
|
{
|
||||||
|
if (pResourceManager == NULL) {
|
||||||
|
return MA_INVALID_ARGS;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ma_resource_manager_message_queue_next(&pResourceManager, pMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
MA_API ma_result ma_resource_manager_peek_message(ma_resource_manager* pResourceManager, ma_resource_manager_message* pMessage)
|
||||||
|
{
|
||||||
|
if (pResourceManager == NULL) {
|
||||||
|
return MA_INVALID_ARGS;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ma_resource_manager_message_queue_peek(&pResourceManager, pMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user