summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-09-24 10:11:26 -0400
committerCedric Bail <cedric.bail@free.fr>2019-09-24 15:23:13 -0700
commit89bee7a11a61d08cc758b061fd2f5e705d1f9029 (patch)
tree57aa57a904d08688cbdf5430862241b26fd91949
parent9b0197e2afbfca7ffa94f09ff5cac8fa9c7fe413 (diff)
efl/player: merge start+stop methods into 'playing' property
this has some overlap with the existing 'play' property which will soon be renamed. the intent here is that there is a property for controlling the 'playing' state and then another property for managing 'pausing' the play state ref T7877 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10113
-rw-r--r--src/bin/elementary/test_efl_anim_alpha.c2
-rw-r--r--src/bin/elementary/test_efl_anim_group_parallel.c2
-rw-r--r--src/bin/elementary/test_efl_anim_group_sequential.c2
-rw-r--r--src/bin/elementary/test_efl_anim_interpolator.c4
-rw-r--r--src/bin/elementary/test_efl_anim_pause.c2
-rw-r--r--src/bin/elementary/test_efl_anim_repeat.c2
-rw-r--r--src/bin/elementary/test_efl_anim_rotate.c2
-rw-r--r--src/bin/elementary/test_efl_anim_scale.c2
-rw-r--r--src/bin/elementary/test_efl_anim_start_delay.c2
-rw-r--r--src/bin/elementary/test_efl_anim_translate.c2
-rw-r--r--src/examples/evas/evas-vg-json.c2
-rw-r--r--src/lib/efl/interfaces/efl_player.eo24
-rw-r--r--src/lib/elementary/efl_ui_spotlight_manager_stack.c6
-rw-r--r--src/lib/elementary/efl_ui_video.c37
-rw-r--r--src/lib/elementary/efl_ui_video.eo3
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_player.c73
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_player.eo3
-rw-r--r--src/lib/evas/canvas/evas_object_main.c4
18 files changed, 103 insertions, 71 deletions
diff --git a/src/bin/elementary/test_efl_anim_alpha.c b/src/bin/elementary/test_efl_anim_alpha.c
index 0a42b92..d75733f 100644
--- a/src/bin/elementary/test_efl_anim_alpha.c
+++ b/src/bin/elementary/test_efl_anim_alpha.c
@@ -53,7 +53,7 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
53 } 53 }
54 54
55 //Let Animation Object start animation 55 //Let Animation Object start animation
56 efl_player_start(ad->anim_obj); 56 efl_player_playing_set(ad->anim_obj, EINA_TRUE);
57} 57}
58 58
59static void 59static void
diff --git a/src/bin/elementary/test_efl_anim_group_parallel.c b/src/bin/elementary/test_efl_anim_group_parallel.c
index b712888..6283e22 100644
--- a/src/bin/elementary/test_efl_anim_group_parallel.c
+++ b/src/bin/elementary/test_efl_anim_group_parallel.c
@@ -54,7 +54,7 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
54 } 54 }
55 55
56 //Let Animation Object start animation 56 //Let Animation Object start animation
57 efl_player_start(ad->anim_obj); 57 efl_player_playing_set(ad->anim_obj, EINA_TRUE);
58} 58}
59 59
60static void 60static void
diff --git a/src/bin/elementary/test_efl_anim_group_sequential.c b/src/bin/elementary/test_efl_anim_group_sequential.c
index 655c37c..3488149 100644
--- a/src/bin/elementary/test_efl_anim_group_sequential.c
+++ b/src/bin/elementary/test_efl_anim_group_sequential.c
@@ -53,7 +53,7 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
53 } 53 }
54 54
55 //Let Animation Object start animation 55 //Let Animation Object start animation
56 efl_player_start(ad->anim_obj); 56 efl_player_playing_set(ad->anim_obj, EINA_TRUE);
57} 57}
58 58
59static void 59static void
diff --git a/src/bin/elementary/test_efl_anim_interpolator.c b/src/bin/elementary/test_efl_anim_interpolator.c
index ca2e244..be177d7 100644
--- a/src/bin/elementary/test_efl_anim_interpolator.c
+++ b/src/bin/elementary/test_efl_anim_interpolator.c
@@ -113,7 +113,7 @@ _anim_start(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
113 int index = (uintptr_t)evas_object_data_get(obj, "index"); 113 int index = (uintptr_t)evas_object_data_get(obj, "index");
114 114
115 //Let Animation Object start animation 115 //Let Animation Object start animation
116 efl_player_start(ad->anim_obj[index]); 116 efl_player_playing_set(ad->anim_obj[index], EINA_TRUE);
117 117
118 elm_object_disabled_set(obj, EINA_TRUE); 118 elm_object_disabled_set(obj, EINA_TRUE);
119 elm_object_disabled_set(ad->start_all_btn, EINA_TRUE); 119 elm_object_disabled_set(ad->start_all_btn, EINA_TRUE);
@@ -128,7 +128,7 @@ _anim_start_all(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
128 for (i = 0; i < INTERP_NUM; i++) 128 for (i = 0; i < INTERP_NUM; i++)
129 { 129 {
130 //Let Animation Object start animation 130 //Let Animation Object start animation
131 efl_player_start(ad->anim_obj[i]); 131 efl_player_playing_set(ad->anim_obj[i], EINA_TRUE);
132 elm_object_disabled_set(ad->btn[i], EINA_TRUE); 132 elm_object_disabled_set(ad->btn[i], EINA_TRUE);
133 } 133 }
134 134
diff --git a/src/bin/elementary/test_efl_anim_pause.c b/src/bin/elementary/test_efl_anim_pause.c
index c73b7bc..748599b 100644
--- a/src/bin/elementary/test_efl_anim_pause.c
+++ b/src/bin/elementary/test_efl_anim_pause.c
@@ -69,7 +69,7 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
69 efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0"); 69 efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0");
70 } 70 }
71 //Let Animation Object start animation 71 //Let Animation Object start animation
72 efl_player_start(ad->anim_obj); 72 efl_player_playing_set(ad->anim_obj, EINA_TRUE);
73} 73}
74 74
75static void 75static void
diff --git a/src/bin/elementary/test_efl_anim_repeat.c b/src/bin/elementary/test_efl_anim_repeat.c
index 50df203..d853f9c 100644
--- a/src/bin/elementary/test_efl_anim_repeat.c
+++ b/src/bin/elementary/test_efl_anim_repeat.c
@@ -106,7 +106,7 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
106 } 106 }
107 107
108 //Let Animation Object start animation 108 //Let Animation Object start animation
109 efl_player_start(ad->anim_obj); 109 efl_player_playing_set(ad->anim_obj, EINA_TRUE);
110} 110}
111 111
112static void 112static void
diff --git a/src/bin/elementary/test_efl_anim_rotate.c b/src/bin/elementary/test_efl_anim_rotate.c
index 454ca0f..10df8ca 100644
--- a/src/bin/elementary/test_efl_anim_rotate.c
+++ b/src/bin/elementary/test_efl_anim_rotate.c
@@ -53,7 +53,7 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
53 } 53 }
54 54
55 //Let Animation Object start animation 55 //Let Animation Object start animation
56 efl_player_start(ad->anim_obj); 56 efl_player_playing_set(ad->anim_obj, EINA_TRUE);
57} 57}
58 58
59static void 59static void
diff --git a/src/bin/elementary/test_efl_anim_scale.c b/src/bin/elementary/test_efl_anim_scale.c
index bd380bd..5e5f9ab 100644
--- a/src/bin/elementary/test_efl_anim_scale.c
+++ b/src/bin/elementary/test_efl_anim_scale.c
@@ -53,7 +53,7 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
53 } 53 }
54 54
55 //Let Animation Object start animation 55 //Let Animation Object start animation
56 efl_player_start(ad->anim_obj); 56 efl_player_playing_set(ad->anim_obj, EINA_TRUE);
57} 57}
58 58
59static void 59static void
diff --git a/src/bin/elementary/test_efl_anim_start_delay.c b/src/bin/elementary/test_efl_anim_start_delay.c
index c94b515..e3c7b25 100644
--- a/src/bin/elementary/test_efl_anim_start_delay.c
+++ b/src/bin/elementary/test_efl_anim_start_delay.c
@@ -68,7 +68,7 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
68 } 68 }
69 69
70 //Let Animation Object start animation 70 //Let Animation Object start animation
71 efl_player_start(ad->anim_obj); 71 efl_player_playing_set(ad->anim_obj, EINA_TRUE);
72} 72}
73 73
74static void 74static void
diff --git a/src/bin/elementary/test_efl_anim_translate.c b/src/bin/elementary/test_efl_anim_translate.c
index a562d17..9f30cc3 100644
--- a/src/bin/elementary/test_efl_anim_translate.c
+++ b/src/bin/elementary/test_efl_anim_translate.c
@@ -53,7 +53,7 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
53 } 53 }
54 54
55 //Let Animation Object start animation 55 //Let Animation Object start animation
56 efl_player_start(ad->anim_obj); 56 efl_player_playing_set(ad->anim_obj, EINA_TRUE);
57} 57}
58 58
59static void 59static void
diff --git a/src/examples/evas/evas-vg-json.c b/src/examples/evas/evas-vg-json.c
index 7447373..248dcb1 100644
--- a/src/examples/evas/evas-vg-json.c
+++ b/src/examples/evas/evas-vg-json.c
@@ -124,7 +124,7 @@ main(void)
124 Eo *player = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, evas); 124 Eo *player = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, evas);
125 efl_animation_player_animation_set(player, anim); 125 efl_animation_player_animation_set(player, anim);
126 efl_event_callback_add(player, EFL_ANIMATION_PLAYER_EVENT_RUNNING, running_cb, NULL); 126 efl_event_callback_add(player, EFL_ANIMATION_PLAYER_EVENT_RUNNING, running_cb, NULL);
127 efl_player_start(player); 127 efl_player_playing_set(player, EINA_TRUE);
128 128
129 ecore_main_loop_begin(); 129 ecore_main_loop_begin();
130 ecore_evas_shutdown(); 130 ecore_evas_shutdown();
diff --git a/src/lib/efl/interfaces/efl_player.eo b/src/lib/efl/interfaces/efl_player.eo
index 2581bb5..619fcd5 100644
--- a/src/lib/efl/interfaces/efl_player.eo
+++ b/src/lib/efl/interfaces/efl_player.eo
@@ -3,11 +3,25 @@ interface @beta Efl.Player
3 [[Efl media player interface]] 3 [[Efl media player interface]]
4 c_prefix: efl_player; 4 c_prefix: efl_player;
5 methods { 5 methods {
6 start { 6 @property playing {
7 [[Start a playing playable object.]] 7 [[Playback state of the media file.
8 } 8
9 stop { 9 This property sets the playback state of the object. Re-setting the current
10 [[Stop playable object.]] 10 playback state has no effect.
11
12 If set to $false, the object's @.progress property is reset to $0.0. Applying
13 the $false playing state also has the same effect as the player object reaching
14 the end of its playback, which may invoke additional behavior based on a class's
15 implementation.
16 ]]
17 set {
18 return: bool(false); [[If $true, the property change has succeeded.]]
19 }
20 get {
21 }
22 values {
23 playing: bool; [[$true if playing, $false otherwise.]]
24 }
11 } 25 }
12 @property play { 26 @property play {
13 [[Playback state of the media file. 27 [[Playback state of the media file.
diff --git a/src/lib/elementary/efl_ui_spotlight_manager_stack.c b/src/lib/elementary/efl_ui_spotlight_manager_stack.c
index 501df21..9d92034 100644
--- a/src/lib/elementary/efl_ui_spotlight_manager_stack.c
+++ b/src/lib/elementary/efl_ui_spotlight_manager_stack.c
@@ -176,9 +176,9 @@ _efl_ui_spotlight_manager_stack_efl_ui_spotlight_manager_content_del(Eo *obj EIN
176static void 176static void
177_setup_anim(Efl_Animation_Player *player, Efl_Gfx_Entity *entity) 177_setup_anim(Efl_Animation_Player *player, Efl_Gfx_Entity *entity)
178{ 178{
179 efl_player_stop(player); 179 efl_player_playing_set(player, EINA_FALSE);
180 efl_animation_player_target_set(player, entity); 180 efl_animation_player_target_set(player, entity);
181 efl_player_start(player); 181 efl_player_playing_set(player, EINA_TRUE);
182} 182}
183 183
184static Eina_Bool 184static Eina_Bool
@@ -256,7 +256,7 @@ _reset_player(Efl_Animation_Player *player, Eina_Bool vis)
256 Efl_Gfx_Entity *obj; 256 Efl_Gfx_Entity *obj;
257 257
258 obj = efl_animation_player_target_get(player); 258 obj = efl_animation_player_target_get(player);
259 efl_player_stop(player); 259 efl_player_playing_set(player, EINA_FALSE);
260 efl_animation_player_target_set(player, NULL); 260 efl_animation_player_target_set(player, NULL);
261 efl_gfx_entity_visible_set(obj, vis); 261 efl_gfx_entity_visible_set(obj, vis);
262} 262}
diff --git a/src/lib/elementary/efl_ui_video.c b/src/lib/elementary/efl_ui_video.c
index 1e26bba..e5bf59b 100644
--- a/src/lib/elementary/efl_ui_video.c
+++ b/src/lib/elementary/efl_ui_video.c
@@ -328,13 +328,6 @@ _efl_ui_video_emotion_get(const Eo *obj EINA_UNUSED, Efl_Ui_Video_Data *sd)
328} 328}
329 329
330EOLIAN static void 330EOLIAN static void
331_efl_ui_video_efl_player_start(Eo *obj, Efl_Ui_Video_Data *sd EINA_UNUSED)
332{
333 efl_player_playback_position_set(obj, 0.0);
334 efl_player_play_set(obj, EINA_TRUE);
335}
336
337EOLIAN static void
338_efl_ui_video_efl_player_play_set(Eo *obj, Efl_Ui_Video_Data *sd, Eina_Bool play) 331_efl_ui_video_efl_player_play_set(Eo *obj, Efl_Ui_Video_Data *sd, Eina_Bool play)
339{ 332{
340 if (emotion_object_play_get(sd->emotion) == !!play) return; 333 if (emotion_object_play_get(sd->emotion) == !!play) return;
@@ -367,14 +360,25 @@ _efl_ui_video_efl_player_play_set(Eo *obj, Efl_Ui_Video_Data *sd, Eina_Bool play
367 360
368/* FIXME: stop should go into hibernate state directly. 361/* FIXME: stop should go into hibernate state directly.
369 */ 362 */
370EOLIAN static void 363EOLIAN static Eina_Bool
371_efl_ui_video_efl_player_stop(Eo *obj, Efl_Ui_Video_Data *sd) 364_efl_ui_video_efl_player_playing_set(Eo *obj, Efl_Ui_Video_Data *sd, Eina_Bool playing)
372{ 365{
373 if (!emotion_object_play_get(sd->emotion) && sd->stop) return; 366 playing = !!playing;
374 367 if (playing && emotion_object_play_get(sd->emotion)) return EINA_TRUE;
368 if ((!playing) && sd->stop) return EINA_TRUE;
375 ELM_SAFE_FREE(sd->timer, ecore_timer_del); 369 ELM_SAFE_FREE(sd->timer, ecore_timer_del);
370 sd->stop = !playing;
371 if (playing)
372 {
373 emotion_object_play_set(sd->emotion, EINA_TRUE);
376 374
377 sd->stop = EINA_TRUE; 375 if(elm_widget_is_legacy(obj))
376 elm_layout_signal_emit(obj, "elm,video,play", "elm");
377 else
378 elm_layout_signal_emit(obj, "efl,video,play", "efl");
379 return EINA_TRUE;
380 }
381 efl_player_playback_position_set(obj, 0.0);
378 emotion_object_play_set(sd->emotion, EINA_FALSE); 382 emotion_object_play_set(sd->emotion, EINA_FALSE);
379 383
380 if(elm_widget_is_legacy(obj)) 384 if(elm_widget_is_legacy(obj))
@@ -383,6 +387,13 @@ _efl_ui_video_efl_player_stop(Eo *obj, Efl_Ui_Video_Data *sd)
383 elm_layout_signal_emit(obj, "efl,video,stop", "efl"); 387 elm_layout_signal_emit(obj, "efl,video,stop", "efl");
384 388
385 emotion_object_suspend_set(sd->emotion, EMOTION_HIBERNATE); 389 emotion_object_suspend_set(sd->emotion, EMOTION_HIBERNATE);
390 return EINA_TRUE;
391}
392
393EOLIAN static Eina_Bool
394_efl_ui_video_efl_player_playing_get(const Eo *obj EINA_UNUSED, Efl_Ui_Video_Data *sd)
395{
396 return emotion_object_play_get(sd->emotion);
386} 397}
387 398
388EOLIAN static Eina_Bool 399EOLIAN static Eina_Bool
@@ -534,7 +545,7 @@ elm_video_play(Evas_Object *obj)
534EAPI void 545EAPI void
535elm_video_stop(Evas_Object *obj) 546elm_video_stop(Evas_Object *obj)
536{ 547{
537 efl_player_stop(obj); 548 efl_player_playing_set(obj, EINA_FALSE);
538} 549}
539 550
540EAPI void 551EAPI void
diff --git a/src/lib/elementary/efl_ui_video.eo b/src/lib/elementary/efl_ui_video.eo
index 5fc841a..77a550c 100644
--- a/src/lib/elementary/efl_ui_video.eo
+++ b/src/lib/elementary/efl_ui_video.eo
@@ -43,8 +43,7 @@ class @beta Efl.Ui.Video extends Efl.Ui.Layout_Base
43 Efl.Canvas.Group.group_calculate; 43 Efl.Canvas.Group.group_calculate;
44 Efl.Ui.Widget.widget_input_event_handler; 44 Efl.Ui.Widget.widget_input_event_handler;
45 Efl.Access.Widget.Action.elm_actions { get; } 45 Efl.Access.Widget.Action.elm_actions { get; }
46 Efl.Player.start; 46 Efl.Player.playing { get; set; }
47 Efl.Player.stop;
48 Efl.Player.play { get; set; } 47 Efl.Player.play { get; set; }
49 } 48 }
50} 49}
diff --git a/src/lib/evas/canvas/efl_canvas_animation_player.c b/src/lib/evas/canvas/efl_canvas_animation_player.c
index ea49297..981ece8 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_player.c
+++ b/src/lib/evas/canvas/efl_canvas_animation_player.c
@@ -61,7 +61,7 @@ _efl_canvas_animation_player_animation_set(Eo *eo_obj,
61 61
62 if (pd->animation) 62 if (pd->animation)
63 { 63 {
64 efl_player_stop(eo_obj); 64 efl_player_playing_set(eo_obj, EINA_FALSE);
65 efl_unref(pd->animation); 65 efl_unref(pd->animation);
66 } 66 }
67 pd->animation = anim; 67 pd->animation = anim;
@@ -147,7 +147,7 @@ _animator_cb(void *data)
147 147
148 return ECORE_CALLBACK_RENEW; 148 return ECORE_CALLBACK_RENEW;
149 } 149 }
150 efl_player_stop(eo_obj); 150 efl_player_playing_set(eo_obj, EINA_FALSE);
151 151
152 return ECORE_CALLBACK_CANCEL; 152 return ECORE_CALLBACK_CANCEL;
153} 153}
@@ -188,30 +188,6 @@ _start_delay_timer_cb(void *data)
188 return ECORE_CALLBACK_CANCEL; 188 return ECORE_CALLBACK_CANCEL;
189} 189}
190 190
191EOLIAN static void
192_efl_canvas_animation_player_efl_player_start(Eo *eo_obj,
193 Efl_Canvas_Animation_Player_Data *pd)
194{
195 double start_delay;
196 EFL_ANIMATION_PLAYER_ANIMATION_GET(eo_obj, anim);
197
198 if (!efl_playable_get(eo_obj)) return;
199 pd->is_play = EINA_TRUE;
200 //TODO: check this case is correct
201 if (pd->start_delay_timer) return;
202
203 pd->progress = 0.0;
204 start_delay = efl_animation_start_delay_get(anim);
205 if (start_delay > 0.0)
206 {
207 pd->start_delay_timer = ecore_timer_add(start_delay,
208 _start_delay_timer_cb, eo_obj);
209 return;
210 }
211
212 _start(eo_obj, pd);
213}
214
215static Eina_Bool 191static Eina_Bool
216_is_final_state(Efl_Canvas_Animation *anim, double progress) 192_is_final_state(Efl_Canvas_Animation *anim, double progress)
217{ 193{
@@ -240,12 +216,9 @@ _is_final_state(Efl_Canvas_Animation *anim, double progress)
240 return EINA_FALSE; 216 return EINA_FALSE;
241} 217}
242 218
243EOLIAN static void 219static void
244_efl_canvas_animation_player_efl_player_stop(Eo *eo_obj, 220_player_stop(Eo *eo_obj, Efl_Canvas_Animation_Player_Data *pd, Efl_Canvas_Animation *anim)
245 Efl_Canvas_Animation_Player_Data *pd)
246{ 221{
247 EFL_ANIMATION_PLAYER_ANIMATION_GET(eo_obj, anim);
248
249 //Reset the state of the target to the initial state 222 //Reset the state of the target to the initial state
250 efl_gfx_mapping_reset(efl_animation_player_target_get(eo_obj)); 223 efl_gfx_mapping_reset(efl_animation_player_target_get(eo_obj));
251 224
@@ -281,6 +254,42 @@ _efl_canvas_animation_player_efl_player_stop(Eo *eo_obj,
281 if (pd->auto_del) efl_del(eo_obj); 254 if (pd->auto_del) efl_del(eo_obj);
282} 255}
283 256
257EOLIAN static Eina_Bool
258_efl_canvas_animation_player_efl_player_playing_set(Eo *eo_obj, Efl_Canvas_Animation_Player_Data *pd, Eina_Bool playing)
259{
260 double start_delay;
261 EFL_ANIMATION_PLAYER_ANIMATION_GET(eo_obj, anim);
262
263 if (!efl_playable_get(eo_obj)) return EINA_FALSE;
264 if ((!playing) && (!pd->is_play)) return EINA_TRUE;
265 if ((playing) && (pd->is_play)) return EINA_TRUE;
266 pd->is_play = !!playing;
267 if (!playing)
268 {
269 _player_stop(eo_obj, pd, anim);
270 return EINA_TRUE;
271 }
272 //TODO: check this case is correct
273 if (pd->start_delay_timer) return EINA_TRUE;
274
275 pd->progress = 0.0;
276 start_delay = efl_animation_start_delay_get(anim);
277 if (start_delay > 0.0)
278 {
279 pd->start_delay_timer = ecore_timer_add(start_delay,
280 _start_delay_timer_cb, eo_obj);
281 }
282 else
283 _start(eo_obj, pd);
284 return EINA_TRUE;
285}
286
287EOLIAN static Eina_Bool
288_efl_canvas_animation_player_efl_player_playing_get(const Eo *eo_obj EINA_UNUSED, Efl_Canvas_Animation_Player_Data *pd)
289{
290 return pd->is_play;
291}
292
284EOLIAN static void 293EOLIAN static void
285_efl_canvas_animation_player_efl_player_play_set(Eo *eo_obj, 294_efl_canvas_animation_player_efl_player_play_set(Eo *eo_obj,
286 Efl_Canvas_Animation_Player_Data *pd, 295 Efl_Canvas_Animation_Player_Data *pd,
@@ -425,7 +434,7 @@ _efl_canvas_animation_player_efl_object_destructor(Eo *eo_obj,
425 pd->animator = NULL; 434 pd->animator = NULL;
426 435
427 //Reset the state of the target to the initial state 436 //Reset the state of the target to the initial state
428 efl_player_stop(eo_obj); 437 efl_player_playing_set(eo_obj, EINA_FALSE);
429 438
430 efl_event_callback_call(eo_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, NULL); 439 efl_event_callback_call(eo_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, NULL);
431 } 440 }
diff --git a/src/lib/evas/canvas/efl_canvas_animation_player.eo b/src/lib/evas/canvas/efl_canvas_animation_player.eo
index 6e739b5..57e13f1 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_player.eo
+++ b/src/lib/evas/canvas/efl_canvas_animation_player.eo
@@ -35,8 +35,7 @@ class @beta Efl.Canvas.Animation_Player extends Efl.Object implements Efl.Player
35 implements { 35 implements {
36 Efl.Object.constructor; 36 Efl.Object.constructor;
37 Efl.Object.destructor; 37 Efl.Object.destructor;
38 Efl.Player.start; 38 Efl.Player.playing { get; set; }
39 Efl.Player.stop;
40 Efl.Player.play { get; set; } 39 Efl.Player.play { get; set; }
41 Efl.Playable.playable { get; } 40 Efl.Playable.playable { get; }
42 Efl.Player.playback_position { get; set; } 41 Efl.Player.playback_position { get; set; }
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index 95ee8a2..abd8a2d 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -1870,7 +1870,7 @@ static void
1870_show(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj) 1870_show(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
1871{ 1871{
1872 if (obj->anim_player) 1872 if (obj->anim_player)
1873 efl_player_stop(obj->anim_player); 1873 efl_player_playing_set(obj->anim_player, EINA_FALSE);
1874 if (obj->is_smart && obj->smart.smart && obj->smart.smart->smart_class->show) 1874 if (obj->is_smart && obj->smart.smart && obj->smart.smart->smart_class->show)
1875 { 1875 {
1876 obj->smart.smart->smart_class->show(eo_obj); 1876 obj->smart.smart->smart_class->show(eo_obj);
@@ -2583,7 +2583,7 @@ _efl_canvas_object_event_animation_cancel(Eo *eo_obj)
2583 Evas_Object_Protected_Data *obj = EVAS_OBJECT_DATA_SAFE_GET(eo_obj); 2583 Evas_Object_Protected_Data *obj = EVAS_OBJECT_DATA_SAFE_GET(eo_obj);
2584 2584
2585 if (obj) 2585 if (obj)
2586 efl_player_stop(obj->anim_player); 2586 efl_player_playing_set(obj->anim_player, EINA_FALSE);
2587} 2587}
2588 2588
2589/* legacy */ 2589/* legacy */