diff --git a/libparabolic/src/controllers/mainwindowcontroller.cpp b/libparabolic/src/controllers/mainwindowcontroller.cpp index 7133df115..b10a21756 100644 --- a/libparabolic/src/controllers/mainwindowcontroller.cpp +++ b/libparabolic/src/controllers/mainwindowcontroller.cpp @@ -41,7 +41,7 @@ namespace Nickvision::TubeConverter::Shared::Controllers m_appInfo.setVersion({ "2024.10.2-next" }); m_appInfo.setShortName(_("Parabolic")); m_appInfo.setDescription(_("Download web video and audio")); - m_appInfo.setChangelog("- Fixed an issue where some websites failed in 403 forbidden error"); + m_appInfo.setChangelog("- The user's preferred video codec will now be used in playlist downloads where individual quality/format selection is not available\n- Fixed an issue where some websites failed in 403 forbidden error"); m_appInfo.setSourceRepo("https://github.com/NickvisionApps/Parabolic"); m_appInfo.setIssueTracker("https://github.com/NickvisionApps/Parabolic/issues/new"); m_appInfo.setSupportUrl("https://github.com/NickvisionApps/Parabolic/discussions"); diff --git a/libparabolic/src/models/downloadoptions.cpp b/libparabolic/src/models/downloadoptions.cpp index 8999d2f5a..e49336f7e 100644 --- a/libparabolic/src/models/downloadoptions.cpp +++ b/libparabolic/src/models/downloadoptions.cpp @@ -283,6 +283,26 @@ namespace Nickvision::TubeConverter::Shared::Models arguments.push_back("--remux-video"); arguments.push_back(StringHelpers::lower(m_fileType.str())); } + //Force preferred video codec sorting for playlist downloads to use as format selection is not available + if(downloaderOptions.getPreferredVideoCodec() != VideoCodec::Any) + { + std::string vcodec{ "vcodec:" }; + switch (downloaderOptions.getPreferredVideoCodec()) + { + case VideoCodec::VP9: + vcodec += "vp9"; + break; + case VideoCodec::AV01: + vcodec += "av01"; + break; + case VideoCodec::H264: + vcodec += "h264"; + break; + } + arguments.push_back("--format-sort"); + arguments.push_back(vcodec); + arguments.push_back("--format-sort-force"); + } if(m_videoFormat && m_audioFormat) { arguments.push_back("--format"); diff --git a/resources/linux/org.nickvision.tubeconverter.metainfo.xml.in b/resources/linux/org.nickvision.tubeconverter.metainfo.xml.in index b3482e4e6..8fd314434 100644 --- a/resources/linux/org.nickvision.tubeconverter.metainfo.xml.in +++ b/resources/linux/org.nickvision.tubeconverter.metainfo.xml.in @@ -57,6 +57,7 @@ +

- The user's preferred video codec will now be used in playlist downloads where individual quality/format selection is not available

- Fixed an issue where some websites failed in 403 forbidden error