X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fencoder%2FFormatsRegistry.java;h=2d6a788d9b5399aec91612dbb1e8f41e702902ec;hb=489059f9f31e2f09aa09ae255fb33ad370fa8463;hp=ab794c3a2da6334ee6c10a5935750a6a02c87825;hpb=50cb7085d553fdd82cd06806cd27b1675299f719;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/encoder/FormatsRegistry.java b/src/main/java/eu/svjatoslav/meviz/encoder/FormatsRegistry.java index ab794c3..2d6a788 100755 --- a/src/main/java/eu/svjatoslav/meviz/encoder/FormatsRegistry.java +++ b/src/main/java/eu/svjatoslav/meviz/encoder/FormatsRegistry.java @@ -12,61 +12,54 @@ package eu.svjatoslav.meviz.encoder; import java.util.ArrayList; import java.util.List; -import eu.svjatoslav.meviz.encoder.converters.Avi2Ogv; -import eu.svjatoslav.meviz.encoder.converters.Converter; -import eu.svjatoslav.meviz.encoder.converters.Jpeg2Png; -import eu.svjatoslav.meviz.encoder.converters.Mp42Ogv; -import eu.svjatoslav.meviz.encoder.converters.Mts2Mkv; -import eu.svjatoslav.meviz.encoder.converters.Mts2Mp4; -import eu.svjatoslav.meviz.encoder.converters.Ogg2Mp3; +import eu.svjatoslav.meviz.encoder.converters.AbstractConverter; +import eu.svjatoslav.meviz.encoder.converters.AvconvAudio; +import eu.svjatoslav.meviz.encoder.converters.AvconvVideo; +import eu.svjatoslav.meviz.encoder.converters.Convert; +import eu.svjatoslav.meviz.encoder.converters.Ffmpeg; +import eu.svjatoslav.meviz.encoder.converters.Ffmpeg2theora; +import eu.svjatoslav.meviz.encoder.converters.Flac; import eu.svjatoslav.meviz.encoder.converters.Ogg2Wav; -import eu.svjatoslav.meviz.encoder.converters.Png2Tiff; -import eu.svjatoslav.meviz.encoder.converters.Tiff2Png; -import eu.svjatoslav.meviz.encoder.converters.Wav2mp3; public class FormatsRegistry { - public ArrayList encoders = new ArrayList(); + public ArrayList encoders = new ArrayList(); - public FormatsRegistry() { - // video conversion - registerEncoder(new Avi2Ogv()); - registerEncoder(new Mp42Ogv()); - registerEncoder(new Mts2Mp4()); - registerEncoder(new Mts2Mkv()); + public FormatsRegistry() { + // video conversion + registerEncoder(new Ffmpeg2theora()); + registerEncoder(new Ffmpeg()); + registerEncoder(new AvconvVideo()); - // image conversion - registerEncoder(new Jpeg2Png()); - registerEncoder(new Png2Tiff()); - registerEncoder(new Tiff2Png()); + // image conversion + registerEncoder(new Convert()); - // audio conversion - registerEncoder(new Ogg2Wav()); - registerEncoder(new Wav2mp3()); - registerEncoder(new Ogg2Mp3()); - } + // audio conversion + registerEncoder(new Ogg2Wav()); + registerEncoder(new Flac()); + registerEncoder(new AvconvAudio()); + } - public List getEncoders(final String sourceFormat, final String targetFormat) { + public List getEncoders(final String sourceFormat, + final String targetFormat) { - final String sourceFormatLowerCase = sourceFormat.toLowerCase(); - final String targetFormatLowerCase = targetFormat.toLowerCase(); + final String sourceFormatLowerCase = sourceFormat.toLowerCase(); + final String targetFormatLowerCase = targetFormat.toLowerCase(); - final ArrayList encoders = new ArrayList(); + final ArrayList encoders = new ArrayList(); - for (final Converter encoder : this.encoders) { - if (encoder.getSourceFileExtension().equals(sourceFormatLowerCase)) { - if (encoder.getTargetFileExtension().equals(targetFormatLowerCase)) { - encoders.add(encoder); - return encoders; - } - } - } + for (final AbstractConverter encoder : this.encoders) + if (encoder.supportsSource(sourceFormatLowerCase)) + if (encoder.supportsTarget(targetFormatLowerCase)) { + encoders.add(encoder); + return encoders; + } - return encoders; - } + return encoders; + } - public void registerEncoder(final Converter encoder) { - encoders.add(encoder); - } + public void registerEncoder(final AbstractConverter encoder) { + encoders.add(encoder); + } }