Video resource management
Emotion » API available for manipulating Emotion object.

## Enumerations

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

## 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

## Emotion_Suspend

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

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_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_object_suspend_set()

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

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.