/* DESTRUCTION */ void intf_destroy(interface *intf) { /* Unregister callbacks */ eext_object_event_callback_del(intf->win, EEXT_CALLBACK_BACK, win_back_key_cb); eext_object_event_callback_del(intf->win, EEXT_CALLBACK_MORE, right_panel_button_clicked_cb); ps_register_on_emotion_restart_cb(application_get_playback_service(intf->p_app), NULL, NULL); /* Destroy the views */ for(int i = 0; i< VIEW_MAX; i++) if(intf->nf_views[i] != NULL) interface_views[i].pf_destroy(intf->nf_views[i]); /* Video Player */ if(intf->video_player != NULL) destroy_video_player(intf->video_player); /* Audio Player */ if(intf->p_mini_player != NULL) destroy_audio_player(intf->p_mini_player); /* The window is the parent of all the objects: win, layout, main_box, nf_content, sidebar, sidebar_toggle_btn, popup, popup_toggle_btn, mini_player_layout, no need to free them */ free(intf); }
void destroy(list<int> int_params, list<string> string_params, sp_session *session, sp_track *track) { log("Exiting main run loop"); if (is_attached()) { detach_current_thread(); } pthread_exit(0); destroy_audio_player(); }
void destroy(list<int> int_params, list<string> string_params, sp_session *session, sp_track *track) { sp_session_release(session); destroy_audio_player(); }