package railo.runtime.video;
import railo.commons.io.res.Resource;
public class VideoOutputImpl implements VideoOutput {
private Resource resource;
private double offset=0;
private String comment;
private String title;
private String author;
private String copyright;
private int fileLimitation;
private long maxFrames =0;
private String format;
private int frameRate;
public VideoOutputImpl(Resource resource) {
this.resource=resource;
}
/**
* set time offset of the output file based on input file in seconds
* @param offset
*/
public void setOffset(double offset){
this.offset=offset;
}
/**
* sets a comment to the output video
* @param comment
*/
public void setComment(String comment){
this.comment=comment;
}
/**
* sets a title to the output video
* @param title
*/
public void setTitle(String title){
this.title=title;
}
/**
* sets a author to the output video
* @param author
*/
public void setAuthor(String author){
this.author=author;
}
/**
* sets a copyright to the output video
* @param copyright
*/
public void setCopyright(String copyright) {
this.copyright=copyright;
}
/**
* @return the res
*/
public Resource getResource() {
return resource;
}
/**
* @return the offset
*/
public double getOffset() {
return offset;
}
/**
* @return the comment
*/
public String getComment() {
return comment;
}
/**
* @return the title
*/
public String getTitle() {
return title;
}
/**
* @return the author
*/
public String getAuthor() {
return author;
}
/**
* @return the copyright
*/
public String getCopyright() {
return copyright;
}
/**
* @return the fileLimitation
*/
public int getFileLimitation() {
return fileLimitation;
}
/**
* limit size of the output file
* @param size the size to set
*/
public void limitFileSizeTo(int size) {
this.fileLimitation = size;
}
/**
* @return the maxFrames
*/
public long getMaxFrames() {
return maxFrames;
}
/**
* @param maxFrames the maxFrames to set
*/
public void setMaxFrames(long maxFrames) {
this.maxFrames = maxFrames;
}
/*
/**
* @return the aspectRatio
* /
public int getAspectRatio() {
return aspectRatio;
}
/**
* sets the aspectRatio (VideoOutput.ASPECT_RATIO_xxx)
* @param aspectRatio the aspectRatio to set
* /
public void setAspectRatio(int aspectRatio) {
this.aspectRatio = aspectRatio;
}
/**
* @return the bitrateMin
* /
public int getVideoBitrateMin() {
return videoBitrateMin;
}
/**
* set min video bitrate tolerance (in kbit/s)
* @param bitrateMin the bitrateMin to set
* /
public void setVideoBitrateMin(int bitrateMin) {
this.videoBitrateMin = bitrateMin;
}
/**
* @return the bitrateMax
* /
public int getVideoBitrateMax() {
return videoBitrateMax;
}
/**
* set max video bitrate tolerance (in kbit/s)
* @param bitrateMax the bitrateMax to set
* /
public void setVideoBitrateMax(int bitrateMax) {
this.videoBitrateMax = bitrateMax;
}
/**
* @return the bitrateTolerance
* /
public int getVideoBitrateTolerance() {
return videoBitrateTolerance;
}
/**
* set video bitrate tolerance (in kbit/s)
* @param bitrateTolerance the bitrateTolerance to set
* /
public void setVideoBitrateTolerance(int bitrateTolerance) {
this.videoBitrateTolerance = bitrateTolerance;
}
/**
* @return the sameQualityAsSource
* /
public boolean doSameQualityAsSource() {
return sameQualityAsSource;
}
/**
* @param sameQualityAsSource the sameQualityAsSource to set
* /
public void setSameQualityAsSource(boolean sameQualityAsSource) {
this.sameQualityAsSource = sameQualityAsSource;
}
/**
* @return the audioBitrate
* /
public int getAudioBitrate() {
return audioBitrate;
}
/**
* @param audioBitrate the audioBitrate to set
* /
public void setAudioBitrate(int audioBitrate) {
this.audioBitrate = audioBitrate;
}
/**
* set the type of the output format (see constants "TYPE_xxx" of this class)
* @param type
* /
public void setType(String type){
this.type=type;
}
/**
* @return the type
* /
public String getType() {
return type;
}
/**
* @return the dimension
* /
public String getDimension() {
return dimension;
}
public void setDimension(int width, int height) throws VideoException {
checkDimension(width,"width");
checkDimension(height,"height");
this.dimension=width+"X"+height;
}
/**
* @return the bitrate
* /
public int getVideoBitrate() {
return videoBitrate;
}
/**
* set video bitrate in kbit/s (default 200)
* @param bitrate the bitrate to set
* /
public void setVideoBitrate(int bitrate) {
this.videoBitrate = bitrate;
}
/**
* @return the framerate
* /
public int getFramerate() {
return framerate;
}
/**
* sets the framerate (default 25)
* @param framerate the framerate to set
* /
public void setFramerate(int framerate) {
this.framerate = framerate;
}
*/
/**
* @param resource the resource to set
*/
public void setResource(Resource resource) {
this.resource = resource;
}
/**
* @return the format
*/
public String getFormat() {
return format;
}
/**
* @param format the format to set
*/
public void setFormat(String format) {
this.format = format;
}
/**
* @param fileLimitation the fileLimitation to set
*/
public void setFileLimitation(int fileLimitation) {
this.fileLimitation = fileLimitation;
}
/**
* @see railo.runtime.video.VideoOutput#getFrameRate()
*/
public int getFrameRate() {
return frameRate;
}
/**
* @see railo.runtime.video.VideoOutput#setFrameRate(int)
*/
public void setFrameRate(int frameRate) {
this.frameRate=frameRate;
}
/*public void setVideoCodec(String videoCodec) {
this.videoCodec=videoCodec;
}
public String getVideoCodec() {
return videoCodec;
}
public String getAudioCodec() {
return audioCodec;
}
public void setAudioCodec(String audioCodec) {
this.audioCodec = audioCodec;
}*/
}