/*
* @(#)AbstractCodec.java 1.0 2011-04-05
*
* Copyright (c) 2011 Werner Randelshofer, Goldau, Switzerland.
* All rights reserved.
*
* You may not use, copy or modify this file, except in compliance with the
* license agreement you entered into with Werner Randelshofer.
* For details see accompanying license terms.
*/
package org.monte.media.jmf.codec;
import javax.media.Buffer;
import javax.media.Codec;
import javax.media.Control;
import javax.media.Format;
import javax.media.ResourceUnavailableException;
/**
* {@code AbstractCodec}.
*
* @author Werner Randelshofer
* @version 1.0 2011-04-05 Created.
*/
public abstract class AbstractCodec implements Codec {
protected String pluginName;
protected Object[] controls = new Control[0];
@Override
public String getName() {
return pluginName;
}
@Override
public void open() throws ResourceUnavailableException {
}
@Override
public void close() {
}
@Override
public void reset() {
}
@Override
public Object[] getControls() {
return controls.clone();
}
@Override
public Object getControl(String controlType) {
return null;
}
protected static void setFlag(Buffer buf, int flag, boolean value) {
int flags = buf.getFlags();
buf.setFlags((value) ? flags | flag : flags & ~flag);
}
protected static boolean isSet(Buffer buf, int flag) {
return (buf.getFlags()&flag)==flag;
}
}