From f6155a706daf3ca44d5d75e6704c3ca5afbe0be0 Mon Sep 17 00:00:00 2001
From: Philip-Dylan Gleonec <philip-dylan.gleonec@savoirfairelinux.com>
Date: Mon, 15 Feb 2021 17:53:59 +0100
Subject: [PATCH] decoder_finder: force libopus for opus decoding

ffmpeg implements two opus decoders. libopusdec is a wrapper around the
libopus reference opus library. opusdec is a native implementation, but
lacks features such as FEC support in some distribution. Depending on
the distribution configuration, ffmpeg can select either decoder for
opus.

This patch forces the use of libopus if it exists. If it does not, the
function will fall back to opusdec.

Issue: #4857
Change-Id: Ia1838a593c9199fc1cbda5f4596c318a8cdd886b
---
 src/media/decoder_finder.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/media/decoder_finder.h b/src/media/decoder_finder.h
index 55b3b4d6fe..41546adcf0 100644
--- a/src/media/decoder_finder.h
+++ b/src/media/decoder_finder.h
@@ -46,6 +46,8 @@ findDecoder(const enum AVCodecID codec_id)
     case AV_CODEC_ID_VP9:
         codec_name = "vp9_mediacodec"; break;
 #endif
+    case AV_CODEC_ID_OPUS:
+        codec_name = "libopus"; break;
     default:
         codec_name = nullptr;
     }
-- 
GitLab