Author: andre
Date: 2010-03-24 10:11:16 +0100 (Wed, 24 Mar 2010)
New Revision: 41589

Modified:
   
mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
Log:
ordering of arguments

Modified: 
mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
===================================================================
--- 
mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
  2010-03-24 09:10:50 UTC (rev 41588)
+++ 
mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
  2010-03-24 09:11:16 UTC (rev 41589)
@@ -34,8 +34,9 @@
 
 /**
  * The transcoder that uses <code>ffmpeg</code> to transcode media. Possible 
parameters to be set in 
- * 'createcaches.xml' are: format, acodec (-acodec), vcodec (-vcodec), vpre 
(-vpre), aq (-aq), 
- * ab (-ab), bitrate or b (-b), async (-async), framesPerSecond or r (-r), 
audioChannels or ac (-ac), 
+ * 'createcaches.xml' are: format, forceFormat (-f), acodec (-acodec), vcodec 
(-vcodec), 
+ * vpre (-vpre), aq (-aq), ab (-ab), bitrate or b (-b), async (-async), 
framesPerSecond or 
+ * r (-r), audioChannels or ac (-ac), 
  * width and height (combined to -s). 
  * Others can be added as extra parameters but will be at the end of the 
commands parameters. See the
  * documentation for FFmpeg for more information.
@@ -43,11 +44,12 @@
  * @author Michiel Meeuwissen
  * @version $Id$
  */
-...@settings({"format", "acodec", "vcodec", "vpre", "aq", "ab", "b", "async", 
"r", "ac", "width", "height"})
+...@settings({"format", "forceFormat", "acodec", "vcodec", "vpre", "aq", "ab", 
"b", "async", "r", "ac", "width", "height"})
 public class FFMpegTranscoder extends CommandTranscoder {
 
     private static final Logger log = 
Logging.getLoggerInstance(FFMpegTranscoder.class);
 
+    String forceFormat = null;
     String acodec = null;
     String vcodec = null;
     String vpre = null;
@@ -61,6 +63,10 @@
     Integer width = null;
     Integer height = null;
 
+    public void setForceFormat(String f) {
+        forceFormat = f;
+    }
+
     /* Audio codec to use -acodec */
     public void setAcodec(String a) {
         acodec = a;
@@ -161,18 +167,36 @@
         args.add("-i");
         args.add(inFile.toString());
 
-        if (acodec != null) {
-            args.add("-acodec");
-            args.add(acodec);
+        if (forceFormat != null) {
+            args.add("-f");
+            args.add(forceFormat);
         }
+        // video
         if (vcodec != null) {
             args.add("-vcodec");
             args.add(vcodec);
         }
+        if (b != null) {
+            args.add("-b");
+            args.add(b);
+        }
+        if (r != null) {
+            args.add("-r");
+            args.add(r);
+        }
         if (vpre != null) {
             args.add("-vpre");
             args.add(vpre);
         }
+        if (width != null && height != null) {
+            args.add("-s");
+            args.add(width + "x" + height);
+        }
+        // audio
+        if (acodec != null) {
+            args.add("-acodec");
+            args.add(acodec);
+        }
         if (aq != null) {
             args.add("-aq");
             args.add(aq);
@@ -181,23 +205,15 @@
             args.add("-ab");
             args.add(ab);
         }
-        if (b != null) {
-            args.add("-b");
-            args.add(b);
-        }
-        if (r != null) {
-            args.add("-r");
-            args.add(r);
-        }
         if (ac != null) {
             args.add("-ac");
             args.add(ac);
         }
-        if (width != null && height != null) {
-            args.add("-s");
-            args.add(width + "x" + height);
+
+        if (async != null) {
+            args.add("-async");
+            args.add(async);
         }
-        
         args.add("-y"); // overwrite
         
         args.add(outFile.toString());

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to