Emotion_Ressource(3)

NAME
Emotion_Ressource - Video resource management

SYNOPSIS

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

  Functions
EMOTION_API 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.
EMOTION_API Eina_Bool emotion_object_priority_get (const Evas_Object *obj)
Get the actual priority of an object.
EMOTION_API void emotion_object_suspend_set (Evas_Object *obj, Emotion_Suspend state)
Change the state of an object pipeline.
EMOTION_API Emotion_Suspend emotion_object_suspend_get (Evas_Object *obj)
Get the current state of the pipeline.

Detailed Description

Enumeration Type Documentation

  enum 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_API 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
    obj The object which the query is being ran on.
    priority EINA_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_API Eina_Bool emotion_object_priority_get (const Evas_Object * obj)

Get the actual priority of an object.

Parameters
    obj The 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_API void emotion_object_suspend_set (Evas_Object * obj, Emotion_Suspend state)

Change the state of an object pipeline.

Parameters
    obj The object which the query is being ran on.
    state The 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_API Emotion_Suspend emotion_object_suspend_get (Evas_Object * obj)

Get the current state of the pipeline.

Parameters
    obj The 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.

Author

Generated automatically by Doxygen for EFL from the source code.