return false;
}
-static bool __mplayer_remove_export_data(muse_module_h module, int key, bool remove_all)
+bool _mplayer_remove_export_data(muse_module_h module, int key, bool remove_all)
{
bool ret = true;
muse_player_handle_t *muse_player = NULL;
return;
}
-
-static void __mplayer_remove_export_media_packet(muse_module_h module)
+void _mplayer_remove_export_media_packet(muse_module_h module)
{
muse_player_handle_t *muse_player = NULL;
muse_player = (muse_player_handle_t *)muse_server_ipc_get_handle(module);
/* decoder buffer need to be released first to destroy pipeline */
- __mplayer_remove_export_media_packet(module);
+ _mplayer_remove_export_media_packet(module);
ret = legacy_player_destroy(muse_player->player_handle);
muse_player->video_format = NULL;
}
- __mplayer_remove_export_data(module, 0, true);
+ _mplayer_remove_export_data(module, 0, true);
g_mutex_clear(&muse_player->list_lock);
muse_player->bufmgr = NULL;
unset_cb = !muse_player->export_video_data;
/* decoder buffer need to be released first to destroy pipeline */
- __mplayer_remove_export_media_packet(module);
+ _mplayer_remove_export_media_packet(module);
ret = legacy_player_unprepare(muse_player->player_handle);
if (!muse_player->export_audio_data)
legacy_player_unset_callback(muse_player->player_handle, MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_AUDIO_FRAME);
- __mplayer_remove_export_data(module, 0, true);
+ _mplayer_remove_export_data(module, 0, true);
PLAYER_RETURN_MSG(api, ret, module);
/* LOGD("handle : %p, key : %d", muse_player, key); */
- if (!__mplayer_remove_export_data(module, key, false))
+ if (!_mplayer_remove_export_data(module, key, false))
LOGE("failed to remove export data : key %d", key);
/* This funct does not send return value to client. *
legacy_player_unprepare(muse_player->player_handle);
/* FALLTHROUGH */
case PLAYER_STATE_IDLE:
+ _mplayer_remove_export_media_packet(module);
legacy_player_destroy(muse_player->player_handle);
+
+ if (muse_player->audio_format) {
+ media_format_unref(muse_player->audio_format);
+ muse_player->audio_format = NULL;
+ }
+ if (muse_player->video_format) {
+ media_format_unref(muse_player->video_format);
+ muse_player->video_format = NULL;
+ }
+ _mplayer_remove_export_data(module, 0, true);
+ g_mutex_clear(&muse_player->list_lock);
+ muse_player->bufmgr = NULL;
+ g_free(muse_player);
+ muse_player = NULL;
break;
default: