001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.runtime.video;
020
021import lucee.commons.io.res.Resource;
022
023public interface VideoOutput {
024        
025
026
027        /**
028         * limit size of the output file
029         * @param size the size to set
030         */
031        public void limitFileSizeTo(int size);
032
033        /**
034         * set time offset of the output file based on input file in seconds
035         * @param offset
036         */
037        public void setOffset(double offset);
038        
039        /**
040         * sets a comment to the output video
041         * @param comment
042         */
043        public void setComment(String comment);
044        
045        /**
046         * sets a title to the output video
047         * @param title
048         */
049        public void setTitle(String title);
050        
051        /**
052         * sets a author to the output video
053         * @param author
054         */
055        public void setAuthor(String author);
056        
057        /**
058         * sets a copyright to the output video
059         * @param copyright
060         */
061        public void setCopyright(String copyright);
062        
063
064
065        /**
066         * @param maxFrames the maxFrames to set
067         */
068        public void setMaxFrames(long maxFrames);
069
070        /**
071         * @param resource the resource to set
072         */
073        public void setResource(Resource resource);
074        
075
076        /**
077         * @param format the format to set
078         */
079        public void setFormat(String format);
080
081        /**
082         * @param fileLimitation the fileLimitation to set
083         */
084        public void setFileLimitation(int fileLimitation);
085
086
087        /**
088         * @return the res
089         */
090        public Resource getResource();
091
092
093        /**
094         * @return the offset
095         */
096        public double getOffset();
097
098        /** 
099         * @return the comment
100         */
101        public String getComment();
102
103
104        /**
105         * @return the title
106         */
107        public String getTitle();
108
109
110        /**
111         * @return the author
112         */
113        public String getAuthor();
114
115
116        /**
117         * @return the copyright
118         */
119        public String getCopyright();
120
121        /**
122         * @return the fileLimitation
123         */
124        public int getFileLimitation();
125        
126        /**
127         * @return the maxFrames
128         */
129        public long getMaxFrames();
130
131        /**
132         * @return the format
133         */
134        public String getFormat();
135
136        public void setFrameRate(int framerate);
137        public int getFrameRate();
138
139
140}