Update of /var/cvs/speeltuin/mihxil/streams/src/org/mmbase/streams/transcoders
In directory james.mmbase.org:/tmp/cvs-serv15555
Modified Files:
CommandTranscoder.java FFMpeg2TheoraTranscoder.java
Added Files:
ChainedTranscoder.java
Log Message:
Made the transcoders log to Logger in stead of stdin/stdout. Also added a
ChainedTranscoder (unfinished)
See also:
http://cvs.mmbase.org/viewcvs/speeltuin/mihxil/streams/src/org/mmbase/streams/transcoders
ChainedTranscoder.java is new
Index: CommandTranscoder.java
===================================================================
RCS file:
/var/cvs/speeltuin/mihxil/streams/src/org/mmbase/streams/transcoders/CommandTranscoder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- CommandTranscoder.java 17 Apr 2009 10:06:18 -0000 1.1
+++ CommandTranscoder.java 24 Apr 2009 16:29:56 -0000 1.2
@@ -11,7 +11,12 @@
import java.net.*;
+import java.io.*;
import org.mmbase.util.externalprocess.*;
+import org.mmbase.util.WriterOutputStream;
+
+import org.mmbase.util.logging.*;
+
/**
* A trancoder base on an external command, like <code>ffmpeg</code> or
<code>ffmpeg2theora</code>
@@ -19,7 +24,13 @@
* @author Michiel Meeuwissen
*/
-public abstract class CommandTranscoder implements Transcoder {
+public abstract class CommandTranscoder implements Transcoder, LoggerAccepter {
+
+ private final ChainedLogger log = new ChainedLogger();
+
+ public void addLogger(Logger l) {
+ log.addLogger(l);
+ }
protected abstract String getCommand();
@@ -28,10 +39,19 @@
}
protected abstract String[] getArguments(URI in, URI out);
+ protected Level getOutputLevel() {
+ return Level.SERVICE;
+ }
+ protected Level getErrorLevel() {
+ return Level.ERROR;
+ }
+
public void transcode(final URI in, final URI out) throws Exception {
CommandLauncher cl = new CommandLauncher("Transcoding " + in + " to "
+ out);
cl.execute(getCommand(), getArguments(in, out), getEnvironment());
- cl.waitAndRead(System.out, System.err);
+ OutputStream outStream = new WriterOutputStream(new LoggerWriter(log,
getOutputLevel()), System.getProperty("file.encoding"));
+ OutputStream errStream = new WriterOutputStream(new LoggerWriter(log,
getErrorLevel()), System.getProperty("file.encoding"));
+ cl.waitAndRead(outStream, errStream);
}
}
Index: FFMpeg2TheoraTranscoder.java
===================================================================
RCS file:
/var/cvs/speeltuin/mihxil/streams/src/org/mmbase/streams/transcoders/FFMpeg2TheoraTranscoder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- FFMpeg2TheoraTranscoder.java 17 Apr 2009 10:06:18 -0000 1.1
+++ FFMpeg2TheoraTranscoder.java 24 Apr 2009 16:29:56 -0000 1.2
@@ -12,6 +12,9 @@
import java.net.*;
import java.io.*;
+import org.mmbase.util.logging.*;
+
+
/**
* A trancoder base on an external command, like <code>ffmpeg</code> or
<code>ffmpeg2theora</code>
@@ -34,11 +37,16 @@
return new String[] { "-o", outFile.toString(), inFile.toString() };
}
+ @Override
+ protected Level getErrorLevel() {
+ return Level.SERVICE;
+ }
public static void main(String[] argv) throws Exception {
-
- Transcoder transcoder = new FFMpeg2TheoraTranscoder();
+ CommandTranscoder transcoder = new FFMpeg2TheoraTranscoder();
+ Logging.getLoggerInstance("FFMPEG2THEORA").setLevel(Level.SERVICE);
+ transcoder.addLogger(Logging.getLoggerInstance("FFMPEG2THEORA"));
transcoder.transcode(new File(argv[0]).toURI(), new
File(argv[1]).toURI());
}
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs