From patchwork Thu Mar 11 00:48:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26335 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 5E0F744B4A7 for ; Thu, 11 Mar 2021 02:49:15 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3591468A8FA; Thu, 11 Mar 2021 02:49:15 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C89106808CD for ; Thu, 11 Mar 2021 02:49:08 +0200 (EET) Received: by mail-ed1-f50.google.com with SMTP id u4so238937edv.9 for ; Wed, 10 Mar 2021 16:49:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:reply-to:mime-version :content-transfer-encoding; bh=UCPuTxYILzyUfbomOBnXJpaYrOEwlGOO4SaZ5e+mPaY=; b=cYyrmxI4xEJewAh7waU8H0YO22DlWCtkyjq8kHUZ0/qu2ZX8UvFbawtdkdHd+sZt5H 8Zc1EmWQOfmXKfgcQ6BYabfIf7HdFGegCaJh2X6rKvxPXcNnJjtlYJ42EmEOOJnlm8lb IYJWmAUJCAVp+OeNVN6Y3iVwj1NVd3jSoe5ErOZdp7bN0JiCOW6EBo0ZXyjVybrPF7xZ 6YlTMo7usin8CtmsuCvsGv4Jq4lRRhf9PJA5Wh79uaflx8VdFXZYqw/+JhZZhUQBwb4K J93KAEy41KBq/2rWgWlc/RF2qmXu1Z6ljG4xJYdaxdSHh3Fg/99HfiR4hRWA9LiQBrwT jF6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :mime-version:content-transfer-encoding; bh=UCPuTxYILzyUfbomOBnXJpaYrOEwlGOO4SaZ5e+mPaY=; b=JL2jUaA6BJsJ+oF1CyBC18v5UQmjiSWXazockX+mGeZpoq4UtJe8mtPYvjFnVmFthz C2Dq4upw3yc8m3dR6U9Ct2L4rWi0V9oiRifs8InSgl+GAI9iATgI8CuRBcDw0eXWx14m fcBctSiXGd7D8AIcU5JrW2UbyCeoT8YjQ38p1kaPR+VEA9HzXPb/ZVFD9wvMRiASFu3J lAVjz2huXteJJgoNSJe2g/H6dGkd6pfJmhvW0O6u3pFLqF1muYvhaeSf46D3dezbpGRo Xwbj/56hGZWVMnXwIqkY0VZtgE2y98nzOYTxVHO4KTZOlJX7dDbbdNdnOmVk3gwF9s87 MjFg== X-Gm-Message-State: AOAM532sO7RHrrECauy+djGUJFhQSkeZj96xDVoPGRMKB7uEko5cGsN4 54L77q4YB8za0LDUAPtIV+gayYpILS8= X-Google-Smtp-Source: ABdhPJwltmrsTllRqWPEnD4ltuVUxybSGROs2ZCaPkACv3RtzHo8I7XAnEcNBRS3GPcUYPLN/m4mAA== X-Received: by 2002:aa7:c6da:: with SMTP id b26mr6114350eds.254.1615423748070; Wed, 10 Mar 2021 16:49:08 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id v11sm442136eds.14.2021.03.10.16.49.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Mar 2021 16:49:07 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 11 Mar 2021 01:48:59 +0100 Message-Id: <20210311004859.1412145-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/libilbc: Support newer libiLBC versions X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Beginning with version 3.0, libiLBC switched the types of some parts of their public API to size_t and renamed some types; the old names continue to work as typedefs, but are deprecated. It furthermore added version macros. This commit uses said version macro to use the new types when using newer libiLBC versions. Signed-off-by: Andreas Rheinhardt --- libavcodec/libilbc.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libavcodec/libilbc.c b/libavcodec/libilbc.c index 08f951ac2d..9c82589918 100644 --- a/libavcodec/libilbc.c +++ b/libavcodec/libilbc.c @@ -27,6 +27,10 @@ #include "avcodec.h" #include "internal.h" +#ifndef LIBILBC_VERSION_MAJOR +#define LIBILBC_VERSION_MAJOR 2 +#endif + static int get_mode(AVCodecContext *avctx) { if (avctx->block_align == 38) @@ -41,7 +45,11 @@ static int get_mode(AVCodecContext *avctx) typedef struct ILBCDecContext { const AVClass *class; +#if LIBILBC_VERSION_MAJOR < 3 iLBC_Dec_Inst_t decoder; +#else + IlbcDecoder decoder; +#endif int enhance; } ILBCDecContext; @@ -87,7 +95,12 @@ static int ilbc_decode_frame(AVCodecContext *avctx, void *data, int ret; if (s->decoder.no_of_bytes > buf_size) { +#if LIBILBC_VERSION_MAJOR < 3 av_log(avctx, AV_LOG_ERROR, "iLBC frame too short (%u, should be %u)\n", +#else + av_log(avctx, AV_LOG_ERROR, "iLBC frame too short (%u, should be " + "%"SIZE_SPECIFIER")\n", +#endif buf_size, s->decoder.no_of_bytes); return AVERROR_INVALIDDATA; } @@ -117,7 +130,11 @@ AVCodec ff_libilbc_decoder = { typedef struct ILBCEncContext { const AVClass *class; +#if LIBILBC_VERSION_MAJOR < 3 iLBC_Enc_Inst_t encoder; +#else + IlbcEncoder encoder; +#endif int mode; } ILBCEncContext;