diff --git a/src/bin/media.c b/src/bin/media.c index 25ba8f3e..d9e87500 100644 --- a/src/bin/media.c +++ b/src/bin/media.c @@ -384,8 +384,7 @@ _cb_media_pause(void *data, Evas_Object *obj, const char *emission, const char * static void _cb_media_stop(void *data, Evas_Object *obj, const char *emission, const char *source) { - media_play_set(data, EINA_FALSE); - media_position_set(data, 0.0); + media_stop(data); } static void @@ -680,6 +679,15 @@ media_play_set(Evas_Object *obj, Eina_Bool play) edje_object_signal_emit(sd->o_ctrl, "pause,set", "terminology"); } +void +media_stop(Evas_Object *obj) +{ + Media *sd = evas_object_smart_data_get(obj); + if ((!sd) || (sd->type != TYPE_MOV)) return; + + evas_object_del(obj); +} + void media_position_set(Evas_Object *obj, double pos) { diff --git a/src/bin/media.h b/src/bin/media.h index 21cf5d7b..1aa8779a 100644 --- a/src/bin/media.h +++ b/src/bin/media.h @@ -15,5 +15,6 @@ void media_mute_set(Evas_Object *obj, Eina_Bool mute); void media_play_set(Evas_Object *obj, Eina_Bool play); void media_position_set(Evas_Object *obj, double pos); void media_volume_set(Evas_Object *obj, double vol); +void media_stop(Evas_Object *obj); #endif