diff --git a/src/libs/av/impl/AvInfo.cpp b/src/libs/av/impl/AvInfo.cpp index e9b1bd8c..b8fc392a 100644 --- a/src/libs/av/impl/AvInfo.cpp +++ b/src/libs/av/impl/AvInfo.cpp @@ -235,6 +235,8 @@ guessMediaFileFormat(const std::filesystem::path& file) if (!format || !format->name) return {}; + LMS_LOG(AV, DEBUG) << "File '" << file.string() << "', formats = '" << format->name << "'"; + auto formats {StringUtils::splitString(format->name, ",")}; if (formats.size() > 1) LMS_LOG(AV, INFO) << "File '" << file.string() << "' reported several formats: '" << format->name << "'"; diff --git a/src/libs/av/impl/AvTranscoder.cpp b/src/libs/av/impl/AvTranscoder.cpp index f98b3771..b9f82ad3 100644 --- a/src/libs/av/impl/AvTranscoder.cpp +++ b/src/libs/av/impl/AvTranscoder.cpp @@ -162,6 +162,13 @@ Transcoder::start() args.emplace_back("-f"); args.emplace_back(mediaFileFormat->format); + // Workaround for ipod streams: make it compatible with non seekable output + if (mediaFileFormat->format == "ipod") + { + args.emplace_back("-movflags"); + args.emplace_back("frag_keyframe"); + } + _outputMimeType = mediaFileFormat->mimeType; }