package ca.carleton.gcrc.atlas.tracks.conversion;

import java.net.URL;

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;

public interface InternalConverter {

	/**
	 * Returns an open input stream on the given URL.
	 * @param url URL where stream should be opened
	 * @return Opened audio stream, or null if operation is not possible.
	 */
	public AudioInputStream getAudioInputStream(URL url);

	/**
	 * Returns an open input stream using the specified auudio format.
	 * @param format Format to be used
	 * @param inStream Opened stream
	 * @return Opened audio stream for the specified format. Null on error
	 */
	public AudioInputStream getAudioInputStream(AudioFormat format, AudioInputStream inStream);

}
