/* * @(#)RawParser.java 1.4 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package com.sun.media.parser; import java.io.IOException; import javax.media.*; import javax.media.Buffer; import javax.media.protocol.*; import javax.media.format.*; import com.sun.media.*; public abstract class RawParser extends BasicPlugIn implements Demultiplexer { static final String NAME = "Raw parser"; protected DataSource source; ContentDescriptor supported[]; public String getName() { return NAME; } public RawParser() { supported = new ContentDescriptor[1]; supported[0] = new ContentDescriptor(ContentDescriptor.RAW); } /** * Lists the possible input formats supported by this plug-in. */ public ContentDescriptor [] getSupportedInputContentDescriptors() { return supported; } public boolean isPositionable() { return source instanceof Positionable; } public boolean isRandomAccess() { return source instanceof Positionable && ((Positionable)source).isRandomAccess(); } public Track [] getTracks() { return null; } public Time getMediaTime() { return Time.TIME_UNKNOWN; } public Time getDuration() { return (source == null ? Duration.DURATION_UNKNOWN : source.getDuration()); } /** * Resets the state of the plug-in. Typically at end of media or when media * is repositioned. */ public void reset() { } public Time setPosition(Time when, int round) { if (source instanceof Positionable) return ((Positionable)source).setPosition(when, round); return when; } public Object[] getControls() { return source.getControls(); } }