public synchronized void drain() {
		if (m_line!=null && m_line.isActive()) {
			long t=0;
			long waitTime=AMAudioFormat.bytes2Ms(m_bufferSize, m_format)+50;
			if (Debug.DEBUG || Debug.TRACE) {
				Debug.println(this, "drain() simulation ("+waitTime+"ms...");
				t=System.currentTimeMillis();
			}
			try {
				wait(waitTime);
			} catch (InterruptedException ie) {}

			if (Debug.TRACE) {
				Debug.println(this, "drain() exit: "+(System.currentTimeMillis()-t)+"ms");
			}
		}
	}