diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2007-01-08 23:53:00 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2007-01-08 23:53:00 +0000 |
| commit | 7039a05147b8bbfc829babea1c65bd436450b505 (patch) | |
| tree | 4ba555eb84ed97b72b0575034d5b0530a393713e /songdbj/de/jarnbjo/ogg/BasicStream.java | |
| parent | 6d4c19707ef95942e323cbdc89fbbfdbe45e7cc5 (diff) | |
| download | rockbox-7039a05147b8bbfc829babea1c65bd436450b505.zip rockbox-7039a05147b8bbfc829babea1c65bd436450b505.tar.gz rockbox-7039a05147b8bbfc829babea1c65bd436450b505.tar.bz2 rockbox-7039a05147b8bbfc829babea1c65bd436450b505.tar.xz | |
Splitting out songdbj
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11953 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'songdbj/de/jarnbjo/ogg/BasicStream.java')
| -rw-r--r-- | songdbj/de/jarnbjo/ogg/BasicStream.java | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/songdbj/de/jarnbjo/ogg/BasicStream.java b/songdbj/de/jarnbjo/ogg/BasicStream.java deleted file mode 100644 index 9939524..0000000 --- a/songdbj/de/jarnbjo/ogg/BasicStream.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * $ProjectName$ - * $ProjectRevision$ - * ----------------------------------------------------------- - * $Id$ - * ----------------------------------------------------------- - * - * $Author$ - * - * Description: - * - * Copyright 2002-2003 Tor-Einar Jarnbjo - * ----------------------------------------------------------- - * - * Change History - * ----------------------------------------------------------- - * $Log$ - * Revision 1.1 2005/07/11 15:42:36 hcl - * Songdb java version, source. only 1.5 compatible - * - * Revision 1.3 2004/09/21 12:09:45 shred - * *** empty log message *** - * - * Revision 1.2 2004/09/21 06:38:45 shred - * Importe reorganisiert, damit Eclipse Ruhe gibt. ;-) - * - * Revision 1.1.1.1 2004/04/04 22:09:12 shred - * First Import - * - * - */ - -package de.jarnbjo.ogg; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Collection; -import java.util.HashMap; -import java.util.LinkedList; - -/** - * Implementation of the <code>PhysicalOggStream</code> interface for reading - * an Ogg stream from a URL. This class performs - * no internal caching, and will not read data from the network before - * requested to do so. It is intended to be used in non-realtime applications - * like file download managers or similar. - */ - -public class BasicStream implements PhysicalOggStream { - - private boolean closed=false; - private InputStream sourceStream; - private Object drainLock=new Object(); - private LinkedList pageCache=new LinkedList(); - private long numberOfSamples=-1; - private int position=0; - - private HashMap logicalStreams=new HashMap(); - private OggPage firstPage; - - public BasicStream(InputStream sourceStream) throws OggFormatException, IOException { - firstPage=OggPage.create(sourceStream); - position+=firstPage.getTotalLength(); - LogicalOggStreamImpl los=new LogicalOggStreamImpl(this, firstPage.getStreamSerialNumber()); - logicalStreams.put(new Integer(firstPage.getStreamSerialNumber()), los); - los.checkFormat(firstPage); - } - - public Collection getLogicalStreams() { - return logicalStreams.values(); - } - - public boolean isOpen() { - return !closed; - } - - public void close() throws IOException { - closed=true; - sourceStream.close(); - } - - public int getContentLength() { - return -1; - } - - public int getPosition() { - return position; - } - - int pageNumber=2; - - public OggPage getOggPage(int index) throws IOException { - if(firstPage!=null) { - OggPage tmp=firstPage; - firstPage=null; - return tmp; - } - else { - OggPage page=OggPage.create(sourceStream); - position+=page.getTotalLength(); - return page; - } - } - - private LogicalOggStream getLogicalStream(int serialNumber) { - return (LogicalOggStream)logicalStreams.get(new Integer(serialNumber)); - } - - public void setTime(long granulePosition) throws IOException { - throw new UnsupportedOperationException("Method not supported by this class"); - } - - /** - * @return always <code>false</code> - */ - - public boolean isSeekable() { - return false; - } - -}
\ No newline at end of file |