struct _playlist {
Eina_List *list;
int cur;
+ int dir;
};
struct _priv {
_ERR("failed to update db");
}
-static bool _viewer_show(struct _priv *priv, int foc)
+static bool _viewer_show(struct _priv *priv)
{
struct _viewer_info *info;
struct controller *ctl;
ctl->ops->show(ctl->handle);
- switch (foc) {
+ switch (priv->playlist.dir) {
case DIR_PREV:
loc = 0;
break;
else
priv->playlist.cur--;
- r = _viewer_show(priv, DIR_PREV);
+ priv->playlist.dir = DIR_PREV;
+
+ r = _viewer_show(priv);
return r;
}
else
priv->playlist.cur++;
- r = _viewer_show(priv, DIR_NEXT);
+ priv->playlist.dir = DIR_NEXT;
+
+ r = _viewer_show(priv);
return r;
}
priv = data;
- progressbar_stop(priv->progress);
_set_played_position(priv, 0);
+ _player_stop(priv);
if (priv->viewer.cur == VIEWER_MOVIE)
_pop_view(priv);
+ else if (priv->viewer.cur == VIEWER_VIDEO)
+ _viewer_show(priv);
}
static void _player_set_position_cb(void *data)
priv->playlist.list = NULL;
priv->playlist.cur = 0;
+ priv->playlist.dir = DIR_NONE;
player = playermgr_create(win);
if (!player) {
media_content_connect();
- _viewer_show(priv, DIR_NONE);
+ _viewer_show(priv);
timeout_handler_enable(priv->timeout, true);
priv->playlist.list = vdata->list;
priv->playlist.cur = vdata->index;
+ priv->playlist.dir = DIR_NONE;
}
static void _destroy(void *view_data)