Date: Saturday, March 19, 2022 @ 18:30:26
  Author: arojas
Revision: 440290

Fix ffmpeg5 support (FS#74036)

Modified:
  chromaprint/trunk/PKGBUILD
  chromaprint/trunk/ffmpeg5.patch

---------------+
 PKGBUILD      |    4 ++--
 ffmpeg5.patch |   22 ++++++++++++----------
 2 files changed, 14 insertions(+), 12 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-03-19 18:04:51 UTC (rev 440289)
+++ PKGBUILD    2022-03-19 18:30:26 UTC (rev 440290)
@@ -16,9 +16,9 @@
 
source=(https://github.com/acoustid/${pkgname}/archive/v$pkgver/$pkgname-$pkgver.tar.gz
         ffmpeg5.patch)
 
sha512sums=('ea16e4d2b879c15b1d9b9ec93878da8b893f1834c70942663e1d2d106c2e0a661094fe2dd3bae7a6c2a1f9d5d8fab5e0b0ba493561090cf57b2228606fad1e66'
-            
'2d44d4ce2f070e48c1600b8eca386e5610262084aa1de83e46adcd2154fc178faed95a66a3f2d0b8519faa2bae666e6f7337e8a364c04e87cd5c325cbbd2328f')
+            
'69a2b808c77dc78ed285aeb265db5c7d4082cfd1198afb27abbc55a50f2aab0b55fbcff91ac21ffcb5d4f83daadce8e8b9b1f0a426b6d00ca2b42d0bfc114483')
 
b2sums=('9f7f030e97d3114cf679df298d313ea826c0fb05e7e7d8a10090d0a27ed0811b380b81b29fce973e0493826c478964367396311fd0484619cb2fc4c2d8e0d4c0'
-        
'9e67be84d26a69916e1846533e98808044412d495abb7a5725141dd81833ac87992ba4a0a49e804c3c7ffe7b01dc2b9e112d6109643654f7fd33f422042bc3a4')
+        
'2acaeac22c9925904d16e99b66f2746a4f93e8aac0bcdce9dca193f677f8cba38c531eefa791dbc9d54fd8b10827f5967145372e00eddf28d7ab281b1e3d2f71')
 
 prepare() {
   patch -d $pkgname-$pkgver -p1 < ffmpeg5.patch

Modified: ffmpeg5.patch
===================================================================
--- ffmpeg5.patch       2022-03-19 18:04:51 UTC (rev 440289)
+++ ffmpeg5.patch       2022-03-19 18:30:26 UTC (rev 440290)
@@ -50,7 +50,7 @@
        m_codec_ctx->request_sample_fmt = AV_SAMPLE_FMT_S16;
  
        ret = avcodec_open2(m_codec_ctx, codec, nullptr);
-@@ -278,7 +284,21 @@ inline bool FFmpegAudioReader::Read(const int16_t **data, 
size_t *size) {
+@@ -278,7 +284,23 @@ inline bool FFmpegAudioReader::Read(const int16_t **data, 
size_t *size) {
                        }
                }
  
@@ -57,17 +57,19 @@
 +#if LIBAVCODEC_VERSION_MAJOR < 59
                ret = avcodec_decode_audio4(m_codec_ctx, m_frame, &m_got_frame, 
&m_packet);
 +#else
-+              ret = avcodec_receive_frame(m_codec_ctx, m_frame);
-+              if (ret == 0)
-+                      m_got_frame = true;
-+              if(ret == AVERROR(EAGAIN))
++              m_got_frame = 0;
++              ret = avcodec_send_packet(m_codec_ctx, &m_packet);
++              if(ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
 +                      ret = 0;
-+              if (ret == 0)
-+                      ret = avcodec_send_packet(m_codec_ctx, &m_packet);
-+              if (ret == AVERROR(EAGAIN))
++              if(ret >= 0) {
++                      ret = avcodec_receive_frame(m_codec_ctx, m_frame);
++                      if (ret == 0) {
++                              m_got_frame = 1;
++                              ret = m_packet.size;
++                      }
++              }
++              if(ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
 +                      ret = 0;
-+              if (ret >= 0)
-+                      ret = m_packet.size;
 +#endif
                if (ret < 0) {
                        if (m_decode_error) {

Reply via email to