Video

Functions

Evas_Object * elm_player_add (Evas_Object *parent)
 Add a new Elm_Player object to the given parent Elementary (container) object.
Evas_Object * elm_video_add (Evas_Object *parent)
 Add a new Elm_Video object to the given parent Elementary (container) object.
Eina_Bool elm_video_file_set (Evas_Object *video, const char *filename)
 Define the file or URI that will be the video source.
Evas_Object * elm_video_emotion_get (const Evas_Object *video)
 Get the underlying Emotion object.
void elm_video_play (Evas_Object *video)
 Start to play the video.
void elm_video_pause (Evas_Object *video)
 Pause the video.
void elm_video_stop (Evas_Object *video)
 Stop the video.
Eina_Bool elm_video_is_playing_get (const Evas_Object *video)
 Is the video actually playing.
Eina_Bool elm_video_is_seekable_get (const Evas_Object *video)
 Is it possible to seek inside the video.
Eina_Bool elm_video_audio_mute_get (const Evas_Object *video)
 Is the audio muted.
void elm_video_audio_mute_set (Evas_Object *video, Eina_Bool mute)
 Change the mute state of the Elm_Video object.
double elm_video_audio_level_get (const Evas_Object *video)
 Get the audio level of the current video.
void elm_video_audio_level_set (Evas_Object *video, double volume)
 Set the audio level of an Elm_Video object.
double elm_video_play_position_get (const Evas_Object *video)
 Get the current position (in seconds) being played in the Elm_Video object.
void elm_video_play_position_set (Evas_Object *video, double position)
 Set the current position (in seconds) to be played in the Elm_Video object.
double elm_video_play_length_get (const Evas_Object *video)
 Get the total playing time (in seconds) of the Elm_Video object.
void elm_video_remember_position_set (Evas_Object *video, Eina_Bool remember)
 Set whether the object can remember the last played position.
Eina_Bool elm_video_remember_position_get (const Evas_Object *video)
 Set whether the object can remember the last played position.
const char * elm_video_title_get (const Evas_Object *video)
 Get the title (for instance DVD title) from this emotion object.

Detailed Description

video_inheritance_tree.png
player_inheritance_tree.png

Elementary comes with two object that help design application that need to display video.

The first one, Elm_Video, display a video by using Emotion. It embeds the video inside an Edje object, so you can do some animation depending on the video state change. It also implements a resource management policy to remove this burden from the application.

The second one, Elm_Player is a video player that need to be linked with an Elm_Video. It take care of updating its content according to Emotion event and provide a way to theme itself. It also automatically raises the priority of the linked Elm_Video so it will use the video decoder, if available. It also activates the "remember" function on the linked Elm_Video object.

Both widgets inherit from the Layout one, so that all the functions acting on it also work for video objects.

The player widget emits the following signals, besides the ones sent from Layout:

  • "forward,clicked" - the user clicked the forward button.
  • "info,clicked" - the user clicked the info button.
  • "next,clicked" - the user clicked the next button.
  • "pause,clicked" - the user clicked the pause button.
  • "play,clicked" - the user clicked the play button.
  • "prev,clicked" - the user clicked the prev button.
  • "rewind,clicked" - the user clicked the rewind button.
  • "stop,clicked" - the user clicked the stop button.

Default content parts of the player widget that you can use for are:

  • "video" - A video of the player

Function Documentation

Evas_Object* elm_player_add ( Evas_Object *  parent)

Add a new Elm_Player object to the given parent Elementary (container) object.

Parameters:
parentThe parent object
Returns:
a new player widget handle or NULL, on errors.

This function inserts a new player widget on the canvas.

See also:
elm_object_part_content_set()
Evas_Object* elm_video_add ( Evas_Object *  parent)

Add a new Elm_Video object to the given parent Elementary (container) object.

Parameters:
parentThe parent object
Returns:
a new video widget handle or NULL, on errors.

This function inserts a new video widget on the canvas.

See also:
elm_video_file_set()
double elm_video_audio_level_get ( const Evas_Object *  video)

Get the audio level of the current video.

Parameters:
videoThe video object to proceed the request on.
Returns:
the current audio level.
void elm_video_audio_level_set ( Evas_Object *  video,
double  volume 
)

Set the audio level of an Elm_Video object.

Parameters:
videoThe video object to proceed the request on.
volumeThe new audio volume.
Eina_Bool elm_video_audio_mute_get ( const Evas_Object *  video)

Is the audio muted.

Parameters:
videoThe video object to proceed the request on.
Returns:
EINA_TRUE if the audio is muted.
void elm_video_audio_mute_set ( Evas_Object *  video,
Eina_Bool  mute 
)

Change the mute state of the Elm_Video object.

Parameters:
videoThe video object to proceed the request on.
muteThe new mute state.
Evas_Object* elm_video_emotion_get ( const Evas_Object *  video)

Get the underlying Emotion object.

Parameters:
videoThe video object to proceed the request on.
Returns:
the underlying Emotion object.
Eina_Bool elm_video_file_set ( Evas_Object *  video,
const char *  filename 
)

Define the file or URI that will be the video source.

Parameters:
videoThe video object to define the file or URI for the video of the Elm_Video object.
filenameThe file or URI to target. Local files can be specified using file:// or by using full file paths. URI could be remote source of video, like http:// or local source like WebCam (v4l2://). (You can use Emotion API to request and list the available Webcam on your system).
Returns:
EINA_TRUE on success, EINA_FALSE otherwise

This function will explicitly define a file or URI as a source for the video of the Elm_Video object.

See also:
elm_video_add()
elm_player_add()

References elm_layout_signal_emit().

Eina_Bool elm_video_is_playing_get ( const Evas_Object *  video)

Is the video actually playing.

Parameters:
videoThe video object to proceed the request on.
Returns:
EINA_TRUE if the video is actually playing.

You should consider watching event on the object instead of polling the object state.

Eina_Bool elm_video_is_seekable_get ( const Evas_Object *  video)

Is it possible to seek inside the video.

Parameters:
videoThe video object to proceed the request on.
Returns:
EINA_TRUE if is possible to seek inside the video.
void elm_video_pause ( Evas_Object *  video)

Pause the video.

Parameters:
videoThe video object to proceed the request on.

Pause the video and start a timer to trigger suspend mode.

References elm_layout_signal_emit().

void elm_video_play ( Evas_Object *  video)

Start to play the video.

Parameters:
videoThe video object to proceed the request on.

Start to play the video and cancel all suspend state.

double elm_video_play_length_get ( const Evas_Object *  video)

Get the total playing time (in seconds) of the Elm_Video object.

Parameters:
videoThe video object.
Returns:
The total duration (in seconds) of the media file.
double elm_video_play_position_get ( const Evas_Object *  video)

Get the current position (in seconds) being played in the Elm_Video object.

Parameters:
videoThe video object.
Returns:
The time (in seconds) since the beginning of the media file.
void elm_video_play_position_set ( Evas_Object *  video,
double  position 
)

Set the current position (in seconds) to be played in the Elm_Video object.

Parameters:
videoThe video object.
positionThe time (in seconds) since the beginning of the media file.
Eina_Bool elm_video_remember_position_get ( const Evas_Object *  video)

Set whether the object can remember the last played position.

Parameters:
videoThe video object.
Returns:
whether the object remembers the last played position (EINA_TRUE) or not.
Note:
This API only serves as indication. System support is required.
void elm_video_remember_position_set ( Evas_Object *  video,
Eina_Bool  remember 
)

Set whether the object can remember the last played position.

Parameters:
videoThe video object.
rememberthe last played position of the Elm_Video object.
Note:
This API only serves as indication. System support is required.
void elm_video_stop ( Evas_Object *  video)

Stop the video.

Parameters:
videoThe video object to proceed the request on.

Stop the video and put the emotion in deep sleep mode.

References elm_layout_signal_emit().

const char* elm_video_title_get ( const Evas_Object *  video)

Get the title (for instance DVD title) from this emotion object.

Parameters:
videoThe Elm_Video object.
Returns:
A string containing the title.

This function is only useful when playing a DVD.

Note:
Don't change or free the string returned by this function.