support for copy codec for avconv
[meviz.git] / src / main / java / eu / svjatoslav / meviz / encoder / BitrateParameter.java
index 3ab0fe1..6e3ade7 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * Meviz - Various tools collection to work with multimedia.
  * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 2 of the GNU General Public License
  * as published by the Free Software Foundation.
@@ -14,31 +14,44 @@ import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
 
 public class BitrateParameter extends Parameter {
 
-       public BitrateParameter(String description) {
+       static public enum bitrate {
+               LOW, MEDIUM, HIGH, COPY
+       }
+
+       public BitrateParameter(final String description) {
                super(description, ArgumentCount.SINGLE);
        }
 
+       @Override
+       public BitrateParameter addAliases(final String... aliasArray) {
+               addAliasesProtected(aliasArray);
+               return this;
+       }
+
        @Override
        public String describeFormat() {
-               return "Target bitrate [LOW / MEDIUM / HIGH]";
+               return "Target bitrate [LOW / MEDIUM / HIGH / COPY]";
+       };
+
+       @Override
+       public bitrate getValue() {
+               return bitrate.valueOf(arguments.get(0).toUpperCase());
+       }
+
+       @Override
+       public BitrateParameter setMandatory() {
+               setMandatoryProtected();
+               return this;
        }
 
        @Override
        public boolean validate(final String value) {
                try {
-                       bitrate.valueOf(value);
+                       bitrate.valueOf(value.toUpperCase());
                } catch (final IllegalArgumentException exception) {
                        return false;
                }
 
                return true;
        }
-
-       static public enum bitrate {
-               LOW, MEDIUM, HIGH
-       };
-
-       public bitrate getValue() {
-               return bitrate.valueOf(getArgumentsAsStrings().get(0).toUpperCase());
-       }
 }