From 7f20a3cf1fc9655056382c403f835a1bf57b8be2 Mon Sep 17 00:00:00 2001
From: rinpatch <rinpatch@sdf.org>
Date: Tue, 27 Nov 2018 14:34:29 +0300
Subject: [PATCH 1/2] Add Theora detection to upload.ex

---
 lib/pleroma/upload.ex | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex
index 89aa779f9..9dcd9987a 100644
--- a/lib/pleroma/upload.ex
+++ b/lib/pleroma/upload.ex
@@ -162,7 +162,12 @@ defmodule Pleroma.Upload do
             "audio/mpeg"
 
           <<0x4F, 0x67, 0x67, 0x53, 0x00, 0x02, 0x00, 0x00>> ->
-            "audio/ogg"
+            case IO.binread(f, 27) do
+              <<_::size(160), 0x80, 0x74,0x68,0x65,0x6f,0x72,0x61>> ->
+                "video/ogg"
+              _ ->
+                "audio/ogg"
+            end
 
           <<0x52, 0x49, 0x46, 0x46, _, _, _, _>> ->
             "audio/wav"

From 0d229613dfc771ee71272541ffff9ef640c2dc05 Mon Sep 17 00:00:00 2001
From: rinpatch <rinpatch@sdf.org>
Date: Tue, 27 Nov 2018 19:07:58 +0300
Subject: [PATCH 2/2]  Fix lint error

---
 lib/pleroma/upload.ex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex
index 9dcd9987a..238630bf3 100644
--- a/lib/pleroma/upload.ex
+++ b/lib/pleroma/upload.ex
@@ -163,8 +163,9 @@ defmodule Pleroma.Upload do
 
           <<0x4F, 0x67, 0x67, 0x53, 0x00, 0x02, 0x00, 0x00>> ->
             case IO.binread(f, 27) do
-              <<_::size(160), 0x80, 0x74,0x68,0x65,0x6f,0x72,0x61>> ->
+              <<_::size(160), 0x80, 0x74, 0x68, 0x65, 0x6F, 0x72, 0x61>> ->
                 "video/ogg"
+
               _ ->
                 "audio/ogg"
             end