projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'develop' into revert/rich-media-censorship
[akkoma]
/
lib
/
pleroma
/
helpers
/
media_helper.ex
diff --git
a/lib/pleroma/helpers/media_helper.ex
b/lib/pleroma/helpers/media_helper.ex
index d834b4a0782cc9ea8de449b64dbfca9f23112ce7..6b799173ed0defd9a503be989db13c3f6424ef1f 100644
(file)
--- a/
lib/pleroma/helpers/media_helper.ex
+++ b/
lib/pleroma/helpers/media_helper.ex
@@
-9,7
+9,17
@@
defmodule Pleroma.Helpers.MediaHelper do
alias Pleroma.HTTP
alias Pleroma.HTTP
- @tmp_base "/tmp/pleroma-media_preview-pipe"
+ require Logger
+
+ def missing_dependencies do
+ Enum.reduce([imagemagick: "convert", ffmpeg: "ffmpeg"], [], fn {sym, executable}, acc ->
+ if Pleroma.Utils.command_available?(executable) do
+ acc
+ else
+ [sym | acc]
+ end
+ end)
+ end
def image_resize(url, options) do
with executable when is_binary(executable) <- System.find_executable("convert"),
def image_resize(url, options) do
with executable when is_binary(executable) <- System.find_executable("convert"),
@@
-60,6
+70,7
@@
defmodule Pleroma.Helpers.MediaHelper do
defp prepare_image_resize_args(_), do: {:error, :missing_options}
defp prepare_image_resize_args(_), do: {:error, :missing_options}
+ # Note: video thumbnail is intentionally not resized (always has original dimensions)
def video_framegrab(url) do
with executable when is_binary(executable) <- System.find_executable("ffmpeg"),
{:ok, env} <- HTTP.get(url, [], pool: :media),
def video_framegrab(url) do
with executable when is_binary(executable) <- System.find_executable("ffmpeg"),
{:ok, env} <- HTTP.get(url, [], pool: :media),
@@
-103,7
+114,7
@@
defmodule Pleroma.Helpers.MediaHelper do
end
defp mkfifo do
end
defp mkfifo do
- path =
"#{@tmp_base}#{to_charlist(:erlang.phash2(self()))}"
+ path =
Path.join(System.tmp_dir!(), "pleroma-media-preview-pipe-#{Ecto.UUID.generate()}")
case System.cmd("mkfifo", [path]) do
{_, 0} ->
case System.cmd("mkfifo", [path]) do
{_, 0} ->