From patchwork Mon Jan 25 17:38:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: sfan5 X-Patchwork-Id: 25175 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 7FF4B44B744 for ; Mon, 25 Jan 2021 19:38:49 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5613D689A81; Mon, 25 Jan 2021 19:38:49 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR06-AM7-obe.outbound.protection.outlook.com (mail-am7eur06olkn2042.outbound.protection.outlook.com [40.92.16.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7F7126804DB for ; Mon, 25 Jan 2021 19:38:42 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eEFA2p/MbMvLfdlppTkXbLg/LsjnHziqnededfLtX7yvsLm3lp81ohX8V1tIdkyjOAh3sh5o/tRuG8LrRYW0MAsQm//OlvCFVWZUBvmUgLldnWsqd3G0fnmZyrWSqgav877pKnO0V+m6vvLprxxEOsvPo27kYQbxn26kPKQOHGs3hOSRY4H5s0UUMMBM8jBHWwAk3ad70stFrY+9za7zXPYjSRLdQPfe8EfzTSOTP2IYuMOALHYs6yDV4iazM1+qxGwrn5D2fi41mzCIXCJLlFjwb2kU7kaj3sFSggAsFvH9hotGUfERS1IQBvZGf8nw+00c3u3CxTvcN4fMIsiPvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TCwRoy0XL/FWkjkN00TsOpNAu+AdxlFmRkPfQ7lWeLg=; b=kUESrIa5556FfISYbh0baHFBmuw8OSelPhCMu++PmcX8Z1LWxifmyNmC1SulA7WgC61UEspd8x+ClR95Y8xMZv0pbVj4pGbOehCKZzOZn7ypK94998yfhOFpGOQSVL1IkSstSqMtcO/5z/DRz0YTRSFGpFCuQJymIcDP9FKF63DKqWPxj1ahk7EACzWL0ZTB6YsZuiKtLEiYK9WfXwwEgOgMFUh6UClQemaTeLjVdQiNMQDIUNhmnhexFJT9X8+cFAo29iN4W2366w7zb/F5uwGTld8Bf/7RnvAYFGtKkxinpx5VGMNF9B9xYytm8f8/jeF7obhjPJNkkzLb3SUBKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from AM7EUR06FT047.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc36::4a) by AM7EUR06HT249.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc36::103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11; Mon, 25 Jan 2021 17:38:41 +0000 Received: from DB6PR0901MB1495.eurprd09.prod.outlook.com (2a01:111:e400:fc36::53) by AM7EUR06FT047.mail.protection.outlook.com (2a01:111:e400:fc36::504) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11 via Frontend Transport; Mon, 25 Jan 2021 17:38:41 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:FBBB77561070DFE51F087DAE1392E57AA0CC3DED08323438DD30A7D27928D0B8; UpperCasedChecksum:BA7453C250EF865BD46F6EF727393098DD44D55FC9A80EC1C9FB56F0566B656F; SizeAsReceived:8613; Count:45 Received: from DB6PR0901MB1495.eurprd09.prod.outlook.com ([fe80::5c07:7420:c23b:869f]) by DB6PR0901MB1495.eurprd09.prod.outlook.com ([fe80::5c07:7420:c23b:869f%2]) with mapi id 15.20.3784.017; Mon, 25 Jan 2021 17:38:41 +0000 From: sfan5 To: ffmpeg-devel@ffmpeg.org Message-ID: Date: Mon, 25 Jan 2021 18:38:36 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 Content-Language: en-US X-TMN: [Oo4Q3KbYeBz25XBQokoZtdSOioZNSJD2VX1CswpheqFJCztMY4LxvvLOOLD2ZRRy] X-ClientProxiedBy: AM8P192CA0017.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21b::22) To DB6PR0901MB1495.eurprd09.prod.outlook.com (2603:10a6:4:7a::9) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2003:cd:6f34:d750:381:e1b:2d5e:81f2] (2003:cd:6f34:d750:381:e1b:2d5e:81f2) by AM8P192CA0017.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.12 via Frontend Transport; Mon, 25 Jan 2021 17:38:40 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 45 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: fe12ece2-a3f1-4a7a-f4c5-08d8c1580dcc X-MS-TrafficTypeDiagnostic: AM7EUR06HT249: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Kvo15N/oX+EzkDbqvjMFTjo4IyUiESqI61ITzkwubEZ0ItFExF3JUxowG8dBz6Wjs855dyOJnN5JnNdaHAZqYNFys25gnZm3448sRkrp4JVKmVuKadlCpfHSojKomwhDWkeqHguq4sJx+nl9mYxP+ZpygmiZLLge9+SMTrg098DOHa5XvwXNKa+cY6hmfllTHkwOI/YpG9S1kIP/UD8K8HBXr20sV6iWbtbu7hWjZsgnmKYZQIkDzxX9HBYFWUQE X-MS-Exchange-AntiSpam-MessageData: fg3VW2OUS3Sxdzm74fUWV9umCKzD20KTRI419hUevsWX+wcXpWpualTSHzJhGIJfh3BlIX8e4anbf78vopFVLTjqfShKeCk78n5J37SmtfAxDyM7qMam7tsy2a1hSdaIfXBx7AzJOMUeRMcvk+A8I40iHJhwyUir7t10ByuHewQrQRzlZCh12uZ5BoASzJrxRmJCu2RTeq9dwl6WeXKyyg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe12ece2-a3f1-4a7a-f4c5-08d8c1580dcc X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2021 17:38:41.0271 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: AM7EUR06FT047.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7EUR06HT249 Subject: [FFmpeg-devel] [PATCH] avcodec/mediacodecdec: Do not abort when H264/HEVC extradata extraction fails 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Although rare, extradata can be present but empty and extraction will fail. However Android also supports passing codec-specific data inline and will likely play such a stream anyway. So there's no reason to abort initialization before we know for sure. --- libavcodec/mediacodecdec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) + ret = 0; } done: @@ -254,8 +254,8 @@ static int hevc_set_extradata(AVCodecContext *avctx, FFAMediaFormat *format) av_freep(&data); } else { - av_log(avctx, AV_LOG_ERROR, "Could not extract VPS/PPS/SPS from extradata"); - ret = AVERROR_INVALIDDATA; + av_log(avctx, AV_LOG_WARNING, "Could not extract VPS/PPS/SPS from extradata\n"); + ret = 0; } done: diff --git a/libavcodec/mediacodecdec.c b/libavcodec/mediacodecdec.c index ac1725e466..67adefb530 100644 --- a/libavcodec/mediacodecdec.c +++ b/libavcodec/mediacodecdec.c @@ -167,8 +167,8 @@ static int h264_set_extradata(AVCodecContext *avctx, FFAMediaFormat *format) ff_AMediaFormat_setBuffer(format, "csd-1", (void*)data, data_size); av_freep(&data); } else { - av_log(avctx, AV_LOG_ERROR, "Could not extract PPS/SPS from extradata"); - ret = AVERROR_INVALIDDATA; + av_log(avctx, AV_LOG_WARNING, "Could not extract PPS/SPS from extradata\n");