FileDocCategorySizeDatePackage
RawPullBufferParser.javaAPI DocJMF 2.1.1e3213Mon May 12 12:20:52 BST 2003com.sun.media.parser

RawPullBufferParser

public class RawPullBufferParser extends RawPullStreamParser

Fields Summary
static final String
NAME
Constructors Summary
Methods Summary
public java.lang.StringgetName()


       
	return NAME;
    
public voidopen()
Opens the plug-in software or hardware component and acquires necessary resources. If all the needed resources could not be acquired, it throws a ResourceUnavailableException. Data should not be passed into the plug-in without first calling this method.

	if (tracks != null)
	    return;
	tracks = new Track[streams.length];
	for (int i = 0; i < streams.length; i++) {
	    tracks[i] = new FrameTrack(this, (PullBufferStream)streams[i]);
	}
    
public voidsetSource(javax.media.protocol.DataSource source)


	if (!(source instanceof PullBufferDataSource)) {
	    throw new IncompatibleSourceException("DataSource not supported: " + source);
	} else {
	    streams = ((PullBufferDataSource) source).getStreams();
	}


	if ( streams == null) {
	    throw new IOException("Got a null stream from the DataSource");
	}

	if (streams.length == 0) {
	    throw new IOException("Got a empty stream array from the DataSource");
	}

	if (!supports(streams))
	    throw new IncompatibleSourceException("DataSource not supported: " + source);

	this.source = source;
	this.streams = streams;
	
	// System.out.println("content length is " + streams[0].getContentLength());
    
protected booleansupports(javax.media.protocol.SourceStream[] streams)
Override this if the Parser has additional requirements from the PullBufferStream

	return ( (streams[0] != null) &&
		 (streams[0] instanceof PullBufferStream) );