Makes the anime converter map unknown streams
All checks were successful
KnarCraft/FFmpegConvert/pipeline/head This commit looks good

This commit is contained in:
2024-04-20 00:43:52 +02:00
parent 3c9fa55585
commit ded88eb5b5
5 changed files with 54 additions and 2 deletions

View File

@@ -4,6 +4,7 @@ import net.knarcraft.ffmpegconverter.container.FFMpegCommand;
import net.knarcraft.ffmpegconverter.container.ProcessResult;
import net.knarcraft.ffmpegconverter.container.StreamProbeResult;
import net.knarcraft.ffmpegconverter.streams.AudioStream;
import net.knarcraft.ffmpegconverter.streams.OtherStream;
import net.knarcraft.ffmpegconverter.streams.StreamObject;
import net.knarcraft.ffmpegconverter.streams.StreamTag;
import net.knarcraft.ffmpegconverter.streams.SubtitleStream;
@@ -300,7 +301,12 @@ public final class FFMpegHelper {
String codecType = ValueParsingHelper.parseString(streamInfo.get(StreamTag.CODEC_TYPE), "");
switch (codecType) {
case "video":
parsedStreams.add(new VideoStream(streamInfo, 0, relativeVideoIndex++));
// Some attached covers are marked as video streams
if (ValueParsingHelper.parseInt(streamInfo.get(StreamTag.DISPOSITION_ATTACHED_PIC), 0) != 1) {
parsedStreams.add(new VideoStream(streamInfo, 0, relativeVideoIndex++));
} else {
parsedStreams.add(new OtherStream(streamInfo, 0));
}
break;
case "audio":
parsedStreams.add(new AudioStream(streamInfo, 0, relativeAudioIndex++));
@@ -308,6 +314,8 @@ public final class FFMpegHelper {
case "subtitle":
parsedStreams.add(new SubtitleStream(streamInfo, 0, relativeSubtitleIndex++));
break;
default:
parsedStreams.add(new OtherStream(streamInfo, 0));
}
}
StreamProbeResult probeResult = new StreamProbeResult(List.of(file), parsedStreams);