Enumerations | Functions

Enumerations

enum  Emotion_Suspend {
  EMOTION_WAKEUP,
  EMOTION_SLEEP,
  EMOTION_DEEP_SLEEP,
  EMOTION_HIBERNATE
}
 Used for emotion pipeline resource management. More...
 

Functions

void emotion_object_priority_set (Evas_Object *obj, Eina_Bool priority)
 Raise priority of an object so it will have a priviledged access to hardware resources. More...
 
Eina_Bool emotion_object_priority_get (const Evas_Object *obj)
 Get the actual priority of an object. More...
 
void emotion_object_suspend_set (Evas_Object *obj, Emotion_Suspend state)
 Change the state of an object pipeline. More...
 
Emotion_Suspend emotion_object_suspend_get (Evas_Object *obj)
 Get the current state of the pipeline. More...
 

Detailed Description

Enumeration Type Documentation

◆ Emotion_Suspend

Used for emotion pipeline resource management.

See also
emotion_object_suspend_set()
emotion_object_suspend_get()
Enumerator
EMOTION_WAKEUP 

pipeline is up and running

EMOTION_SLEEP 

turn off hardware resource usage like overlay

EMOTION_DEEP_SLEEP 

destroy the pipeline, but keep full resolution pixels output around

EMOTION_HIBERNATE 

destroy the pipeline, and keep half resolution or object resolution if lower

Function Documentation

◆ emotion_object_priority_set()

void emotion_object_priority_set ( Evas_Object obj,
Eina_Bool  priority 
)

Raise priority of an object so it will have a priviledged access to hardware resources.

Parameters
objThe object which the query is being ran on.
priorityEINA_TRUE means give me a priority access to the hardware resources.

Hardware have a few dedicated hardware pipeline that process the video at no cost for the CPU. Especially on SoC, you mostly have one (on mobile phone SoC) or two (on Set Top Box SoC) when Picture in Picture is needed. And most application just have a few video stream that really deserve high frame rate, high quality output. That's why this call is for.

Please note that if Emotion can't acquire a priviledged hardware resource, it will fallback to the no-priority path. This work on the first asking first get basis system.

See also
emotion_object_priority_get()

◆ emotion_object_priority_get()

Eina_Bool emotion_object_priority_get ( const Evas_Object obj)

Get the actual priority of an object.

Parameters
objThe object which the query is being ran on.
Returns
EINA_TRUE if the object has a priority access to the hardware.

This actually return the priority status of an object. If it failed to have a priviledged access to the hardware, it will return EINA_FALSE.

See also
emotion_object_priority_get()

References EINA_FALSE.

◆ emotion_object_suspend_set()

void emotion_object_suspend_set ( Evas_Object obj,
Emotion_Suspend  state 
)

Change the state of an object pipeline.

Parameters
objThe object which the query is being ran on.
stateThe new state for the object.

Changing the state of a pipeline should help preserve the battery of an embedded device. But it will only work sanely if the pipeline is not playing at the time you change its state. Depending on the engine all state may be not implemented.

See also
Emotion_Suspend
emotion_object_suspend_get()

References EMOTION_DEEP_SLEEP, EMOTION_HIBERNATE, EMOTION_SLEEP, and EMOTION_WAKEUP.

◆ emotion_object_suspend_get()

Emotion_Suspend emotion_object_suspend_get ( Evas_Object obj)

Get the current state of the pipeline.

Parameters
objThe object which the query is being ran on.
Returns
the current state of the pipeline.
See also
Emotion_Suspend
emotion_object_suspend_set()

References EMOTION_WAKEUP.