This group of functions is applied to an Ecore_Buffer_Consumer object. More...
Typedefs | |
| typedef struct _Ecore_Buffer_Consumer | Ecore_Buffer_Consumer |
| An object representing a consumer of Ecore_Buffer. More... | |
| typedef void(* | Ecore_Buffer_Consumer_Provider_Add_Cb) (Ecore_Buffer_Consumer *consumer, void *data) |
| Called whenever a Ecore_Buffer_Provider connected. More... | |
| typedef void(* | Ecore_Buffer_Consumer_Provider_Del_Cb) (Ecore_Buffer_Consumer *consumer, void *data) |
| Called whenever a Ecore_Buffer_Provider disonnected. More... | |
| typedef void(* | Ecore_Buffer_Consumer_Enqueue_Cb) (Ecore_Buffer_Consumer *consumer, void *data) |
| Called whenever a Ecore_Buffer enqueued in buffer queue. More... | |
This group of functions is applied to an Ecore_Buffer_Consumer object.
Ecore_Buffer_Consumer receives Ecore_Buffer enqueued by Ecore_Buffer_Provider. Consumer must release Ecore_Buffer when it's no longer used. Thus, the Ecore_Buffer_Provider is now free to re-use or destroy Ecore_Buffer.
An object representing a consumer of Ecore_Buffer.
| Ecore_Buffer_Consumer_Provider_Add_Cb |
Called whenever a Ecore_Buffer_Provider connected.
| Ecore_Buffer_Consumer_Provider_Del_Cb |
Called whenever a Ecore_Buffer_Provider disonnected.
| Ecore_Buffer_Consumer_Enqueue_Cb |
Called whenever a Ecore_Buffer enqueued in buffer queue.
| EAPI Ecore_Buffer_Consumer* ecore_buffer_consumer_new | ( | const char * | name, |
| int32_t | queue_size, | ||
| int32_t | w, | ||
| int32_t | h | ||
| ) |
Creates a new Buffer Consumer based on name and common parameters.
| [in] | name | the name of Buffer_Queue, this is needed by Consumer and Provider to connect each other. |
| [in] | queue_size | size of Queue (If you pass this 0, then default size two(2) is appied) |
| [in] | w | width of buffer recommeneded to provider. |
| [in] | h | height of buffer recommended to provider. |
NULL if creation failed. References DBG.
| EAPI void ecore_buffer_consumer_free | ( | Ecore_Buffer_Consumer * | consumer | ) |
Free an Ecore_Buffer_Consumer.
| [in] | consumer | The Ecore_Buffer_Consumer to free |
This frees up any memory used by the Ecore_Buffer_Consumer.
References DBG.
| EAPI Ecore_Buffer* ecore_buffer_consumer_buffer_dequeue | ( | Ecore_Buffer_Consumer * | consumer | ) |
Return the latest Ecore_Buffer submitted by provider.
| [in] | consumer | The Ecore_Buffer_Consumer to request for buffer |
Consumer can store Ecore_Buffer submitted by Provider as much as size of queue which is passed as a argument of ecore_buffer_consumer_new().
References DBG, EINA_FALSE, and ERR.
| EAPI Eina_Bool ecore_buffer_consumer_buffer_release | ( | Ecore_Buffer_Consumer * | consumer, |
| Ecore_Buffer * | buffer | ||
| ) |
Release the acquired Ecore_Buffer.
| [in] | consumer | The Ecore_Buffer_Consumer to request release buffer |
| [in] | buffer | The Ecore_Buffer to release |
EINA_TRUE on success, EINA_FALSE otherwise.Consumer should release the Ecore_Buffer after acquiring and using it. By doing release, Ecore_Buffer will be used by provider again, or freed internally if Ecore_Buffer is not necessary anymore. If not, the resource of Ecore_Buffer is continually owned by consumer until released.
References DBG, ecore_buffer_free(), EINA_FALSE, and EINA_TRUE.
| EAPI Eina_Bool ecore_buffer_consumer_queue_is_empty | ( | Ecore_Buffer_Consumer * | consumer | ) |
Check if Queue of Ecore_Buffer is empty.
| [in] | consumer | The Ecore_Buffer_Consumer to query |
EINA_TRUE means queue is empty, EINA_FALSE otherwise. References EINA_FALSE.
| EAPI void ecore_buffer_consumer_provider_add_cb_set | ( | Ecore_Buffer_Consumer * | consumer, |
| Ecore_Buffer_Consumer_Provider_Add_Cb | func, | ||
| void * | data | ||
| ) |
Set a callback for provider connection events.
| [in] | consumer | The Ecore_Buffer_Consumer to set callbacks on |
| [in] | func | The function to call |
| [in] | data | A pointer to the user data to store. |
A call to this function will set a callback on an Ecore_Buffer_Consumer, causing func to be called whenever consumer is connected with provider.
| EAPI void ecore_buffer_consumer_provider_del_cb_set | ( | Ecore_Buffer_Consumer * | consumer, |
| Ecore_Buffer_Consumer_Provider_Del_Cb | func, | ||
| void * | data | ||
| ) |
Set a callback for provider disconnection events.
| [in] | consumer | The Ecore_Buffer_Consumer to set callbacks on |
| [in] | func | The function to call |
| [in] | data | A pointer to the user data to store. |
A call to this function will set a callback on an Ecore_Buffer_Consumer, causing func to be called whenever consumer is disconnected with provider.
| EAPI void ecore_buffer_consumer_buffer_enqueued_cb_set | ( | Ecore_Buffer_Consumer * | consumer, |
| Ecore_Buffer_Consumer_Enqueue_Cb | func, | ||
| void * | data | ||
| ) |
Set a callback for enqueued buffer events.
| [in] | consumer | The Ecore_Buffer_Consumer to set callbacks on |
| [in] | func | The function to call |
| [in] | data | A pointer to the user data to store. |
A call to this function will set a callback on an Ecore_Buffer_Consumer, causing func to be called whenever consumer has received buffer submitted from provider.
You may success acuiqre Ecore_Buffer after this callback called.
References DBG, ecore_buffer_free(), ecore_buffer_free_callback_add(), EINA_FALSE, eina_list_clone(), EINA_LIST_FOREACH, eina_list_free(), EINA_TRUE, EINA_UNUSED, and ERR.