copy audio (do not encode) when copying from memory card
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Fri, 25 Dec 2015 11:19:11 +0000 (13:19 +0200)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Fri, 25 Dec 2015 11:19:11 +0000 (13:19 +0200)
src/main/java/eu/svjatoslav/meviz/grabmemcard/Main.java

index dac58fd..920a95c 100755 (executable)
@@ -98,14 +98,7 @@ public class Main implements Module {
 
                        for (final File sourceFile : diskVideos) {
 
-                               // compute target file path
-                               final StringBuffer targetFilePath = new StringBuffer();
-                               targetFilePath.append(targetDirectory.getAbsolutePath());
-                               targetFilePath.append("/");
-                               targetFilePath.append(FilePathParser
-                                               .getFileNameWithoutExtension(sourceFile));
-                               targetFilePath.append(".mp4");
-                               final File targetFile = new File(targetFilePath.toString());
+                               final File targetFile = getTargetFile(targetDirectory, sourceFile);
 
                                final EncodingTask encodingTask = new EncodingTask(sourceFile,
                                                targetFile, converter, "mp4");
@@ -113,10 +106,26 @@ public class Main implements Module {
                        }
                }
 
+               encodingPlan.execute(getEncodingOptions());
+       }
+
+       private EncodingOptions getEncodingOptions() {
                final EncodingOptions options = new EncodingOptions();
                options.setVideoBitrate(BitrateParameter.bitrate.COPY);
+               options.setAudioBitrate(BitrateParameter.bitrate.COPY);
+               return options;
+       }
 
-               encodingPlan.execute(options);
+       private File getTargetFile(final File targetDirectory, final File sourceFile) {
+               // compute target file path
+               final StringBuffer targetFilePath = new StringBuffer();
+               targetFilePath.append(targetDirectory.getAbsolutePath());
+               targetFilePath.append("/");
+               targetFilePath.append(FilePathParser
+                               .getFileNameWithoutExtension(sourceFile));
+               targetFilePath.append(".mp4");
+               final File targetFile = new File(targetFilePath.toString());
+               return targetFile;
        }
 
        @Override