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. 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.
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().
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.
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. 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.