From 7039a05147b8bbfc829babea1c65bd436450b505 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Mon, 8 Jan 2007 23:53:00 +0000 Subject: Splitting out songdbj git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11953 a1c6a512-1295-4272-9138-f99709370657 --- .../share/sampled/file/AudioOutputStream.java | 113 --------------------- 1 file changed, 113 deletions(-) delete mode 100644 songdbj/org/tritonus/share/sampled/file/AudioOutputStream.java (limited to 'songdbj/org/tritonus/share/sampled/file/AudioOutputStream.java') diff --git a/songdbj/org/tritonus/share/sampled/file/AudioOutputStream.java b/songdbj/org/tritonus/share/sampled/file/AudioOutputStream.java deleted file mode 100644 index d76296cd2d..0000000000 --- a/songdbj/org/tritonus/share/sampled/file/AudioOutputStream.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * AudioOutputStream.java - * - * This file is part of Tritonus: http://www.tritonus.org/ - */ - -/* - * Copyright (c) 2000 by Matthias Pfisterer - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as published - * by the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -/* -|<--- this code is formatted to fit into 80 columns --->| -*/ - -package org.tritonus.share.sampled.file; - -import java.io.IOException; - -import javax.sound.sampled.AudioFormat; - - - -/** Represents a one-time writing of audio data to a destination (file or output stream). - * - * This interface is the lowest abstraction level of writing audio data. - * Implementations of this interface should, when write() is called, never - * do buffering and they should never do format conversions. However, - * this interface is intended to abstract the file format (how the - * headers and data chunks look like) and the way of writing to the - * destination object. (implementation note [non-normative]: the last - * should be done by using TDataOutputStream implementing classes). - * - * One reasoning behind this interface was to allow direct, unbuffered - * writing of recorded data. - * In JS API 0.90, there was no obvious way for this. - * Data have had to be recorded to a buffer, then written to a file - * from that buffer. - * This gave problems with long recordings, where the main - * memory of the machine is not big enough to hold all data. There are - * two ways so solve this: - * - * a) Having a special AudioInputStream that fetches its data from a - * TargetDataLine. This way, the loop inside the AudioFileWriters reads - * directely from the recording line via the special AudioInputStream. - * This is the solution Sun adopted for JS 1.0. - * - * b) The other way is to expose a direct interface to the writing of the - * audio file with no loop inside it. This is to enable the application - * programmer to write the main loop itself, possibly doing some - * additional processing inside it. This is the more flexible way. - * The drawback is that it requires a new architecture for writing files. - * - * This interface is the central part of a proposal for the second - * solution. - * The idea is now to use the new structure inside the old one to gain - * experience with it before proposing to make it a public interface - * (public in the sense that it is part of the javax.sound.sampled - * package). - * - * @author Matthias Pfisterer - */ -public interface AudioOutputStream -{ - /** - * Retrieves the AufioFormat of this AudioOutputStream. - */ - public AudioFormat getFormat(); - - - /** Gives length of the stream. - * This value is in bytes. It may be AudioSystem.NOT_SPECIFIED - * to express that the length is unknown. - */ - public long getLength(); - - - - /** - * Writes a chunk of audio data to the destination (file or output stream). - */ - // IDEA: use long? - public int write(byte[] abData, int nOffset, int nLength) - throws IOException; - - - - /** Closes the stream. - * This does write remaining buffered data to the destination, - * backpatch the header, if necessary, and closes the destination. - */ - public void close() - throws IOException; -} - - - -/*** AudioOutputStream.java ***/ -- cgit v1.2.3