summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2024-05-28 09:43:35 -0400
committerMark Felder <feld@feld.me>2024-05-28 10:19:22 -0400
commit17ebb2df8404474ef66c6a38e974143166b5e49b (patch)
tree1391b67d570e2c3641f096ac8c12fa1d6d07ab7c
parent18835bf7012e8e234eb27456a437f4d1e8796645 (diff)
downloadpleroma-17ebb2df8404474ef66c6a38e974143166b5e49b.tar.gz
pleroma-17ebb2df8404474ef66c6a38e974143166b5e49b.zip
Dialyzer: fix pattern matches preventing video thumbnailing from working
lib/pleroma/web/media_proxy/media_proxy_controller.ex:154:pattern_match The pattern can never match the type. Pattern: {:ok, _thumbnail_binary} Type: {:error, boolean() | {:ffmpeg, :command_not_found}}
-rw-r--r--changelog.d/video-thumbs.fix1
-rw-r--r--lib/pleroma/helpers/media_helper.ex10
2 files changed, 6 insertions, 5 deletions
diff --git a/changelog.d/video-thumbs.fix b/changelog.d/video-thumbs.fix
new file mode 100644
index 000000000..03e862f3d
--- /dev/null
+++ b/changelog.d/video-thumbs.fix
@@ -0,0 +1 @@
+Video thumbnails were not being generated due to a negative cache lookup logic error
diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex
index 0ac07fa41..8566ab3ea 100644
--- a/lib/pleroma/helpers/media_helper.ex
+++ b/lib/pleroma/helpers/media_helper.ex
@@ -45,7 +45,7 @@ defmodule Pleroma.Helpers.MediaHelper do
@spec video_framegrab(String.t()) :: {:ok, binary()} | {:error, any()}
def video_framegrab(url) do
with executable when is_binary(executable) <- System.find_executable("ffmpeg"),
- false <- @cachex.exists?(:failed_media_helper_cache, url),
+ {:ok, false} <- @cachex.exists?(:failed_media_helper_cache, url),
{:ok, env} <- HTTP.get(url, [], http_client_opts()),
{:ok, pid} <- StringIO.open(env.body) do
body_stream = IO.binstream(pid, 1)
@@ -71,13 +71,13 @@ defmodule Pleroma.Helpers.MediaHelper do
end)
case Task.yield(task, 5_000) do
- nil ->
+ {:ok, result} ->
+ {:ok, result}
+
+ _ ->
Task.shutdown(task)
@cachex.put(:failed_media_helper_cache, url, nil)
{:error, {:ffmpeg, :timeout}}
-
- result ->
- {:ok, result}
end
else
nil -> {:error, {:ffmpeg, :command_not_found}}