package org.jcodec.containers.flv;
import org.jcodec.platform.Platform;
import java.lang.IllegalAccessException;
import java.lang.IllegalArgumentException;
import java.lang.reflect.Field;
import java.util.Date;
import java.util.Map;
/**
* This class is part of JCodec ( www.jcodec.org ) This software is distributed
* under FreeBSD License
*
* FLV metadata
*
* @author Stan Vitvitskyy
*
*/
public class FLVMetadata {
private double duration;
private double width;
private double height;
private double framerate;
private String audiocodecid;
private double videokeyframe_frequency;
private String videodevice;
private double avclevel;
private double audiosamplerate;
private double audiochannels;
private String presetname;
private double videodatarate;
private double audioinputvolume;
private Date creationdate;
private String videocodecid;
private double avcprofile;
private String audiodevice;
private double audiodatarate;
public FLVMetadata(Map<String, Object> md) {
Field[] declaredFields = Platform.getDeclaredFields(this.getClass());
for (int i = 0; i < declaredFields.length; i++) {
Field field = declaredFields[i];
Object object = md.get(field.getName());
try {
if (object instanceof Double) {
field.setDouble(this, (Double) object);
} else if (object instanceof Boolean) {
field.setBoolean(this, (Boolean) object);
} else {
field.set(this, object);
}
} catch (Exception e) {
}
}
}
public double getDuration() {
return duration;
}
public double getWidth() {
return width;
}
public double getHeight() {
return height;
}
public double getFramerate() {
return framerate;
}
public String getAudiocodecid() {
return audiocodecid;
}
public double getVideokeyframe_frequency() {
return videokeyframe_frequency;
}
public String getVideodevice() {
return videodevice;
}
public double getAvclevel() {
return avclevel;
}
public double getAudiosamplerate() {
return audiosamplerate;
}
public double getAudiochannels() {
return audiochannels;
}
public String getPresetname() {
return presetname;
}
public double getVideodatarate() {
return videodatarate;
}
public double getAudioinputvolume() {
return audioinputvolume;
}
public Date getCreationdate() {
return creationdate;
}
public String getVideocodecid() {
return videocodecid;
}
public double getAvcprofile() {
return avcprofile;
}
public String getAudiodevice() {
return audiodevice;
}
public double getAudiodatarate() {
return audiodatarate;
}
}