package org.jboss.media.format.audio.oggvorbis;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import javax.emb.MediaException;
import javax.emb.MediaHeader;
public class OggVorbisHeader implements MediaHeader
{
private final static String CHANNELS_KEY = "channels";
private final static String RATE_KEY = "rate";
private final static String BITRATE_KEY = "bitRate";
private final static String COMMENTS_KEY = "comments";
private final Map fieldMap = new HashMap(4);
public OggVorbisHeader(InputStream content) throws MediaException
{
try
{
VorbisInfo info = new VorbisInfo(content);
fieldMap.put(CHANNELS_KEY, new Integer(info.getChannels()));
fieldMap.put(RATE_KEY, new Long(info.getRate()));
fieldMap.put(BITRATE_KEY, new Long(info.getBitrate()));
fieldMap.put(COMMENTS_KEY, info.getComments());
}
catch (IOException e)
{
throw new MediaException("Error creating VorbisInfo helper object", e);
}
}
public String[] getFieldNames()
{
return (String[]) fieldMap.keySet().toArray(new String[0]);
}
public Object getField(String fieldName)
{
return fieldMap.get(fieldName);
}
}