public void removeTemporarySources() {
		Set<String> keys = sourceMap.keySet();
		Iterator<String> iter = keys.iterator();
		String sourcename;
		Source srcData;

		// loop through and cleanup all the sources:
		while (iter.hasNext()) {
			sourcename = iter.next();
			srcData = sourceMap.get(sourcename);
			if ((srcData != null) && (srcData.temporary)
					&& (!srcData.playing())) {
				srcData.cleanup(); // end the source, free memory
				iter.remove();
			}
		}
	}