diff --git a/lib/pinchflat/yt_dlp/download_option_builder.ex b/lib/pinchflat/yt_dlp/download_option_builder.ex index d786123..c53b731 100644 --- a/lib/pinchflat/yt_dlp/download_option_builder.ex +++ b/lib/pinchflat/yt_dlp/download_option_builder.ex @@ -63,7 +63,7 @@ defmodule Pinchflat.YtDlp.DownloadOptionBuilder do Enum.reduce(mapped_struct, [], fn attr, acc -> case {attr, media_profile} do {{:download_thumbnail, true}, _} -> - acc ++ [:write_thumbnail] + acc ++ [:write_thumbnail, convert_thumbnail: "jpg"] {{:embed_thumbnail, true}, %{preferred_resolution: pr}} when pr != :audio -> acc ++ [:embed_thumbnail] diff --git a/test/pinchflat/yt_dlp/download_option_builder_test.exs b/test/pinchflat/yt_dlp/download_option_builder_test.exs index 58c7e18..c17ff54 100644 --- a/test/pinchflat/yt_dlp/download_option_builder_test.exs +++ b/test/pinchflat/yt_dlp/download_option_builder_test.exs @@ -125,6 +125,14 @@ defmodule Pinchflat.YtDlp.DownloadOptionBuilderTest do assert :write_thumbnail in res end + test "convertes thumbnail to jpg when download_thumbnail is true", %{media_item: media_item} do + media_item = update_media_profile_attribute(media_item, %{download_thumbnail: true}) + + assert {:ok, res} = DownloadOptionBuilder.build(media_item) + + assert {:convert_thumbnail, "jpg"} in res + end + test "includes :embed_thumbnail option when specified", %{media_item: media_item} do media_item = update_media_profile_attribute(media_item, %{embed_thumbnail: true})