From fd982ab79041efb7bad1f097001c99bf8c54fc23 Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Sun, 17 Mar 2019 12:39:14 +0700 Subject: [PATCH] Add MediaCharacteristics.getSubtitleLanguage() --- source/net/filebot/media/FFProbe.java | 7 ++++++- source/net/filebot/media/MediaCharacteristics.java | 2 ++ source/net/filebot/mediainfo/MediaInfo.java | 13 +++++++++---- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/source/net/filebot/media/FFProbe.java b/source/net/filebot/media/FFProbe.java index d7accf45..7fed5be9 100644 --- a/source/net/filebot/media/FFProbe.java +++ b/source/net/filebot/media/FFProbe.java @@ -69,6 +69,11 @@ public class FFProbe implements MediaCharacteristics { return getString("subtitle", "codec_name"); } + @Override + public String getSubtitleLanguage() { + return getString("subtitle", "tags", "language"); + } + @Override public Duration getDuration() { long d = (long) Double.parseDouble(getFormat().get("duration").toString()) * 1000; @@ -133,7 +138,7 @@ public class FFProbe implements MediaCharacteristics { } protected String getString(String streamKind, String objectKey, String valueKey) { - return stream(streamKind, objectKey).map(t -> ((Map) t).get(valueKey)).map(Objects::toString).collect(joining(" ")); + return stream(streamKind, objectKey).map(t -> ((Map) t).get(valueKey)).map(Objects::toString).collect(joining(" / ")); } protected Stream stream(String streamKind, String property) { diff --git a/source/net/filebot/media/MediaCharacteristics.java b/source/net/filebot/media/MediaCharacteristics.java index 1d99d182..885608bf 100644 --- a/source/net/filebot/media/MediaCharacteristics.java +++ b/source/net/filebot/media/MediaCharacteristics.java @@ -13,6 +13,8 @@ public interface MediaCharacteristics extends AutoCloseable { String getSubtitleCodec(); + String getSubtitleLanguage(); + Duration getDuration(); Integer getWidth(); diff --git a/source/net/filebot/mediainfo/MediaInfo.java b/source/net/filebot/mediainfo/MediaInfo.java index 834c75bf..ad5bbcfc 100644 --- a/source/net/filebot/mediainfo/MediaInfo.java +++ b/source/net/filebot/mediainfo/MediaInfo.java @@ -144,22 +144,27 @@ public class MediaInfo implements MediaCharacteristics { @Override public String getVideoCodec() { - return get(StreamKind.Video, 0, "CodecID"); + return get(StreamKind.General, 0, "Video_Codec_List"); } @Override public String getAudioCodec() { - return get(StreamKind.Audio, 0, "CodecID"); + return get(StreamKind.General, 0, "Audio_Codec_List"); } @Override public String getAudioLanguage() { - return get(StreamKind.General, 0, "AudioLanguageList"); + return get(StreamKind.General, 0, "Audio_Language_List"); } @Override public String getSubtitleCodec() { - return get(StreamKind.General, 0, "TextCodecList"); + return get(StreamKind.General, 0, "Text_Codec_List"); + } + + @Override + public String getSubtitleLanguage() { + return get(StreamKind.General, 0, "Text_Language_List"); } @Override