MODES_NAMESPACE_USE;
const std::string MediaPlayer::NAME = "player";
+player_h MediaPlayer::player = NULL;
+sound_stream_info_h MediaPlayer::stream_info = NULL;
MediaPlayer::MediaPlayer()
- : MediaAction(NAME), player(NULL), stream_info(NULL)
+ : MediaAction(NAME)
{
}
-void MediaPlayer::playerCompletedCb(void *data)
-{
- RET_IF(NULL == data);
-
- MediaPlayer *h = (MediaPlayer *)data;
- h->destroyPlayer();
-}
-
int MediaPlayer::createPlayer()
{
int soundRet = sound_manager_create_stream_information(SOUND_STREAM_TYPE_MEDIA, NULL, NULL, &stream_info);
return MODES_ERROR_NONE;
}
-int MediaPlayer::destroyPlayer()
+void MediaPlayer::destroyPlayer(void *data)
{
if (stream_info) {
sound_manager_destroy_stream_information(stream_info);
player_destroy(player);
player = NULL;
}
-
- return MODES_ERROR_NONE;
}
int MediaPlayer::set(std::string val)
return MODES_ERROR_SYSTEM;
}
- ret = player_set_completed_cb(player, playerCompletedCb, this);
+ ret = player_set_completed_cb(player, destroyPlayer, NULL);
if (PLAYER_ERROR_NONE != ret) {
ERR("player_set_completed_cb() Fail(%s)", get_error_message(ret));
return MODES_ERROR_SYSTEM;
int MediaPlayer::undo()
{
- return destroyPlayer();
+ destroyPlayer(NULL);
+ return MODES_ERROR_NONE;
}
int undo() override;
private:
int createPlayer();
- int destroyPlayer();
- static void playerCompletedCb(void *data);
+ static void destroyPlayer(void *data);
- player_h player;
- sound_stream_info_h stream_info;
+ static player_h player;
+ static sound_stream_info_h stream_info;
};
MODES_NAMESPACE_END