int music_free(void) { int ret; unsigned to = 500000; cache_on(false); music_lock(); ret = -1; while (ret != 0) { ret = music_stop(); if (ret != 0) xrKernelDelayThread(100000); } g_list.is_list_playing = 0; g_thread_actived = 0; music_unlock(); free_shuffle_data(); if (xrKernelWaitThreadEnd(g_music_thread, &to) != 0) { xrKernelTerminateDeleteThread(g_music_thread); } else { xrKernelDeleteThread(g_music_thread); } xr_lock_destroy(&music_l); return 0; }
int generic_end(void) { xr_lock_destroy(&generic_l); generic_set_playback(false); return 0; }
void cache_free(void) { cache_on(false); xr_lock_destroy(&cacher_locker); if (cache_del_event >= 0) { xrKernelDeleteEventFlag(cache_del_event); cache_del_event = -1; } }
int freq_free() { xr_lock_destroy(&freq_l); return 0; }
extern void ctrl_destroy(void) { #ifdef ENABLE_HPRM xr_lock_destroy(&hprm_l); #endif }