Languages

Menu
Sites
Language
Creating video surface to display a video file

I am create a Tizen native sample to display the video files stored in device. I don't know how to create a video surface from Evas_Object which will display the video. The documentation mentions of retrieving the display handle from GET_DISPLAY(Evas_object). How this handle is created?

View Selected Answer

Responses

3 Replies
Mark as answer
woochan lee

Hello!

Take it easy! it just one of Evas_Object.

Following below step with sample code.

1. create EVAS
2. create image object

3. set a image object to player's display.

I will give you sample code below.

 

ad->video_rect = video_rect_add(parent);

static Evas_Object *
video_rect_add(Evas_Object *parent)
{
Evas *evas = evas_object_evas_get(parent);
Evas_Object *image = evas_object_image_filled_add(evas);

evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(image);

return image;
}

// Load file
player_set_uri(ad->player, res_path);
player_set_display(ad->player, PLAYER_DISPLAY_TYPE_EVAS, GET_DISPLAY(ad->video_rect));
player_set_display_mode(ad->player, PLAYER_DISPLAY_MODE_FULL_SCREEN);

// Prepare play
int result = player_prepare(ad->player);

 

I think there is a sample application in tizen_2.4 SDK.

you can reference that sample as well.

Hope you got a solution.

Jaismeen Kaur

Hi, Thanks for the reply! It worked!

Pradeep Kumrawat

Hi,

I am trying the same for wearable(Gear S2) but i am getting "invalid surface type" error. Below is the code snippet:

static Evas_Object* video_rect_add(Evas_Object* parent){
    Evas *evas = evas_object_evas_get(parent);
    Evas_Object *image = evas_object_image_filled_add(evas);

    evas_object_size_hint_weight_set(image,EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(image,EVAS_HINT_FILL,EVAS_HINT_FILL);
    evas_object_show(image);
    elm_object_content_set(parent,image);

    return image;
}

ad->video_rect = video_rect_add(ad->naviframe);
player_create(&ad->player);
player_set_sound_type(ad->player, SOUND_TYPE_MEDIA);
player_set_volume(ad->player, 1.0, 1.0);
player_set_looping(ad->player, true);
player_get_state(ad->player, &state);
player_set_uri(ad->player, res_path);
player_set_display(ad->player, PLAYER_DISPLAY_TYPE_OVERLAY, GET_DISPLAY(ad->video_rect));
player_prepare(ad->player);

player_get_state(ad->player, &state);

if (state != PLAYER_STATE_PLAYING) {
    player_start(ad->player);
}

Can anybody help me on this?

Regards,

Pradeep K.