Add resolution option (#21)

* added preferred resolution to profiles

* Add resolution to download option builder
This commit is contained in:
Kieran authored and GitHub committed 2024-02-15 14:21:41 -08:00
1 parent 9d3b9cc063
commit 44bd105e80
7 files changed
+61 -2

No files matched your search

@@ -26,6 +26,7 @@ defmodule Pinchflat.Profiles.Options.YtDlp.DownloadOptionBuilder do
subtitle_options(media_profile) ++
thumbnail_options(media_profile) ++
metadata_options(media_profile) ++
quality_options(media_profile) ++
output_options(media_profile)
{:ok, built_options}
@@ -87,6 +88,19 @@ defmodule Pinchflat.Profiles.Options.YtDlp.DownloadOptionBuilder do
end)
end
defp quality_options(media_profile) do
codec_options = "+codec:avc:m4a"
case media_profile.preferred_resolution do
:"360p" -> [format_sort: "res:360,#{codec_options}"]
:"480p" -> [format_sort: "res:480,#{codec_options}"]
:"720p" -> [format_sort: "res:720,#{codec_options}"]
:"1080p" -> [format_sort: "res:1080,#{codec_options}"]
:"1440p" -> [format_sort: "res:1440,#{codec_options}"]
:"2160p" -> [format_sort: "res:2160,#{codec_options}"]
end
end
defp output_options(media_profile) do
{:ok, output_path} = OutputPathBuilder.build(media_profile.output_path_template)