summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2023-11-07 22:03:20 +0000
committerMark Felder <feld@feld.me>2023-11-13 15:41:39 -0500
commita4b6e5613fe02fac1a0ec80b8fd6940d2b22f85d (patch)
tree8bc192bedb5205da214cd076b6e1b0f913f75b51 /lib
parent577ade75cffaa8bfc1926879435312684354ccda (diff)
downloadpleroma-a4b6e5613fe02fac1a0ec80b8fd6940d2b22f85d.tar.gz
pleroma-a4b6e5613fe02fac1a0ec80b8fd6940d2b22f85d.zip
Revert "Add Pleroma.Upload.Filter.HeifToJpeg based on vips"
This reverts commit 31d4448ee61b4afac6aa23f8c0287d13aed411a1. This functionality is not reliably working with vips/vix due to codec patent junk
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/upload/filter/heif_to_jpeg.ex36
1 files changed, 0 insertions, 36 deletions
diff --git a/lib/pleroma/upload/filter/heif_to_jpeg.ex b/lib/pleroma/upload/filter/heif_to_jpeg.ex
deleted file mode 100644
index a2095ba01..000000000
--- a/lib/pleroma/upload/filter/heif_to_jpeg.ex
+++ /dev/null
@@ -1,36 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Upload.Filter.HeifToJpeg do
- @behaviour Pleroma.Upload.Filter
- alias Pleroma.Upload
- alias Vix.Vips.Operation
-
- @type conversion :: action :: String.t() | {action :: String.t(), opts :: String.t()}
- @type conversions :: conversion() | [conversion()]
-
- @spec filter(Pleroma.Upload.t()) :: {:ok, :atom} | {:error, String.t()}
- def filter(%Pleroma.Upload{content_type: "image/avif"} = upload), do: apply_filter(upload)
- def filter(%Pleroma.Upload{content_type: "image/heic"} = upload), do: apply_filter(upload)
- def filter(%Pleroma.Upload{content_type: "image/heif"} = upload), do: apply_filter(upload)
-
- def filter(_), do: {:ok, :noop}
-
- defp apply_filter(%Pleroma.Upload{name: name, path: path, tempfile: tempfile} = upload) do
- ext = String.split(path, ".") |> List.last()
-
- try do
- name = name |> String.replace_suffix(ext, "jpg")
- path = path |> String.replace_suffix(ext, "jpg")
- {:ok, {vixdata, _vixflags}} = Operation.heifload(tempfile)
- {:ok, jpegdata} = Operation.jpegsave_buffer(vixdata)
- :ok = File.write(tempfile, jpegdata)
-
- {:ok, :filtered, %Upload{upload | name: name, path: path, content_type: "image/jpeg"}}
- rescue
- e in ErlangError ->
- {:error, "#{__MODULE__}: #{inspect(e)}"}
- end
- end
-end