Refactor common media characteristics (e.g. to use ffprobe instead of libmediainfo internally for various use cases)

This commit is contained in:
Reinhard Pointner 2018-06-03 19:12:05 +07:00
parent 047eddfeb5
commit 82557248d4
7 changed files with 27 additions and 7 deletions

View File

@ -51,11 +51,11 @@ import net.filebot.MetaAttributeView;
import net.filebot.Resource;
import net.filebot.Settings;
import net.filebot.hash.HashType;
import net.filebot.media.FFProbe;
import net.filebot.media.ImageMetadata;
import net.filebot.media.MetaAttributes;
import net.filebot.media.PlexNamingStandard;
import net.filebot.media.VideoFormat;
import net.filebot.mediainfo.FFProbe;
import net.filebot.mediainfo.ImageMetadata;
import net.filebot.mediainfo.MediaInfo;
import net.filebot.mediainfo.MediaInfo.StreamKind;
import net.filebot.mediainfo.MediaInfoException;

View File

@ -1,4 +1,4 @@
package net.filebot.mediainfo;
package net.filebot.media;
import static java.util.Arrays.*;
import static java.util.Collections.*;
@ -14,7 +14,7 @@ import com.cedarsoftware.util.io.JsonReader;
public class FFProbe {
public String getFFProbeCommand() {
return System.getProperty("net.filebot.mediainfo.ffprobe", "ffprobe");
return System.getProperty("net.filebot.media.ffprobe", "ffprobe");
}
public List<Map<String, Object>> streams(File file) throws IOException, InterruptedException {

View File

@ -1,4 +1,4 @@
package net.filebot.mediainfo;
package net.filebot.media;
import static java.util.Arrays.*;
import static net.filebot.Logging.*;

View File

@ -0,0 +1,17 @@
package net.filebot.media;
import java.time.Duration;
public interface MediaCharacteristics {
String getVideoCodec();
String getAudioLanguage();
String getSubtitleCodec();
Duration getDuration();
float getFrameRate();
}

View File

@ -1,10 +1,11 @@
package net.filebot.mediainfo;
package net.filebot.media;
import static net.filebot.Logging.*;
import java.io.File;
import java.io.FileFilter;
import net.filebot.mediainfo.MediaInfo;
import net.filebot.mediainfo.MediaInfo.StreamKind;
public class MediaDurationFilter implements FileFilter {

View File

@ -21,6 +21,8 @@ import com.sun.jna.Platform;
import com.sun.jna.Pointer;
import com.sun.jna.WString;
import net.filebot.media.ImageMetadata;
public class MediaInfo implements Closeable {
private Pointer handle;

View File

@ -13,7 +13,7 @@ import java.util.Locale;
import javax.swing.Icon;
import net.filebot.ResourceManager;
import net.filebot.mediainfo.ImageMetadata;
import net.filebot.media.ImageMetadata;
import net.filebot.similarity.Match;
import net.filebot.web.Datasource;
import net.filebot.web.SortOrder;