/* Methods */ void _PLMTPC_Destroy(PlayListManager manager) { PlayListManager_PC state = (PlayListManager_PC)manager->InternalState; if(state != NULL) { sem_wait(&state->LockObject); sem_destroy(&state->LockObject); String_Destroy(state->UDN); String_Destroy(state->ServiceID); String_Destroy(state->ContainerID); String_Destroy(state->FirstItemID); String_Destroy(state->SortArgs); ClearMetadata(state); free(state); } if(manager->TrackURI != NULL) { free(manager->TrackURI); } if(manager->TrackMetaData != NULL) { CDS_ObjRef_Release(manager->TrackMetaData); } sem_destroy(&manager->LockObject); if(manager->ShuffleArray != NULL) { BitArray_Destroy(manager->ShuffleArray); } free(manager); }
/* Methods */ void _PLMTS_Destroy(PlayListManager manager) { PlayListManager_S state = (PlayListManager_S)manager->InternalState; if(state != NULL) { sem_wait(&state->FirstBlockFinished); sem_destroy(&state->FirstBlockFinished); sem_wait(&state->BlocksFinished); sem_destroy(&state->BlocksFinished); CircularBuffer_Destroy(state->_buffer); IndexBlocks_Destroy(state->Blocks); free(state); } if(manager->TrackURI != NULL) { free(manager->TrackURI); } if(manager->TrackMetaData != NULL) { CDS_ObjRef_Release(manager->TrackMetaData); } sem_destroy(&manager->LockObject); if(manager->ShuffleArray != NULL) { BitArray_Destroy(manager->ShuffleArray); } free(manager); }