/* * @(#)BasicSourceStream.java 1.4 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package com.sun.media.protocol; import java.io.IOException; import javax.media.protocol.SourceStream; import javax.media.protocol.ContentDescriptor; public class BasicSourceStream implements SourceStream { protected ContentDescriptor contentDescriptor = null; protected long contentLength = LENGTH_UNKNOWN; protected Object [] controls = new Object[0]; static public final int LENGTH_DISCARD = -2; public BasicSourceStream(){} public BasicSourceStream(ContentDescriptor cd, long contentLength) { this.contentDescriptor = cd; this.contentLength = contentLength; } public ContentDescriptor getContentDescriptor() { return contentDescriptor; } public long getContentLength() { return contentLength; } /** Must override this class */ public boolean endOfStream() { return false; } public Object [] getControls() { return controls; } public Object getControl(String controlType) { try { Class cls = Class.forName(controlType); Object cs[] = getControls(); for (int i = 0; i < cs.length; i++) { if (cls.isInstance(cs[i])) return cs[i]; } return null; } catch (Exception e) { // no such controlType or such control return null; } } }