From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 9DB2E43F29 for ; Sun, 18 Sep 2022 18:00:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7832468BB95; Sun, 18 Sep 2022 21:00:30 +0300 (EEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2030.outbound.protection.outlook.com [40.92.89.30]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E5E8768BAA9 for ; Sun, 18 Sep 2022 21:00:23 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CQe/cNMJ6RWYKA4RUQmhX4O4H91w+87JX8rvJM4G8dxtF7kdZsNa8FYw8qhxtVCBbI1DS96XlG35BJigJUfsoykeTaIesqKzqIFyMI6dToXZKP5rHZX99SNGbANW59+SE/dF5mjzMqTpIHx7EP2l3obZhMZL1itCabxBl+wJ9luiyj1+kpcH4EtpSBwuE+tu+lZ0S4ImZzrlJ/cwaUaj0l4RTK1CEqTXARZRW9nhN7pDTQHZ24wBFO1MY3cilI6/AEqycjysP/9jkH4WRaG1LpKvtcio8/NOTc7N7fY4HU7EQnsx/P4smCj9D866D4828RsJHWNf6cdX626ILtcKvA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZgB3hHipckfcP1/kztlgsayJA8dndCUO2SG+KOkjwqA=; b=PvCkO0sEK1v5nDIGBZn+XTamELUOWdsheByxJK0vev9SqmR95ECFSdkAwhfsoftoSBgBqgYMGK5i3Q0KD5lpLGRFeNEWo7KnO63NTlU5RD2ABeXoC6Qh0oDk3dAYr/ZzAlKFW/QxCcg0WqoQZ5kTm2lJgXmryC1A26GVvX8ddWX3KFMjuzxyaix45mkP6xSWYCJcLug7f1CxC6EvDmwrzWzGGq+QYdf7m1iQMgLb9xk7MD4/1ZgYDGNb7sHA61XxdfQfzdUYfn9CUaDbfHFvviTTYLT/kaTviWFfUNx9Woy9s/0Cvt3MxgSxPJ6HX5wiYkmyVy5l+yMTF5Ov6vYXNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from PAXP251MB0726.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:28b::21) by AS8P251MB0885.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:539::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.17; Sun, 18 Sep 2022 18:00:22 +0000 Received: from PAXP251MB0726.EURP251.PROD.OUTLOOK.COM ([fe80::2d53:d0c3:7838:cbe8]) by PAXP251MB0726.EURP251.PROD.OUTLOOK.COM ([fe80::2d53:d0c3:7838:cbe8%6]) with mapi id 15.20.5632.015; Sun, 18 Sep 2022 18:00:21 +0000 Message-ID: Date: Sun, 18 Sep 2022 20:00:07 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.0 From: sfan5 To: ffmpeg-devel@ffmpeg.org Content-Language: en-US X-TMN: [eh6AAZ+Sz9SOzfaXAqHPDWkA2ZmTzwl0XbPiuhGxsl/JLtsA33pBAQUpf/wseSgV] X-ClientProxiedBy: AM0PR02CA0174.eurprd02.prod.outlook.com (2603:10a6:20b:28e::11) To PAXP251MB0726.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:28b::21) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXP251MB0726:EE_|AS8P251MB0885:EE_ X-MS-Office365-Filtering-Correlation-Id: 91d69662-a6a1-4b5e-21e1-08da999fa781 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0URYQbgrE74DpZB/RqYzs5jfrMxrJBUyJYpMjRDhBZfVavKasH9W4uzAYFbl442G83LlGA2MN01zT0YU8X6RM7tpXG7560Qrm5Y/PtpcgSiVyBYlsOUW0afaEpvk4Ywfn/sUCnn9spAKlZLt7YlMvfCqhsu9rS2HS4+VWPR3i7bOTu1a3CypkgwBfLpsaJhPxHSt/688NEntWevnMF2EQxe0c5AfAGlKZ0tPH2JM+mzTy6QFuUdsS0VEtinmfsfFokx1rETSK2/zzqQhWjbMfpQzpXW75BW+TX0laVkr2FfxcXVckGjyrvxIvJS82xQD16cT40CArX013ig2zZSJ3F2La9LdvyYV53BbnIiAC4XvBeSWz0HhlP4Ykv7fJFpggq/QzOi9vqLuYYz/d3El3T7U8G4mKtvcrTvy+X8FMzy55hN09K/dBAay4/7mjh4Yr0Zf1I9QDnFkrof0iTXDoyYLEIeCF6cP73jS569eMnSsdsOe1v1W4WRakyZwmvQIOq6FRX0z7UwGXkTYx7wR7iw9pNdqkfZxZ9+knVCxZEu/LJdCO1WG2T2Zpg3dEWybi6FQN5JbhuNC5E/5rCKsTBQdbLLnzRsy+USgQWYxAKrrTOLGdiO8eO2gK3wMV932ymBOrePgt/c6NKvyfpANMw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?elBkbHZ1SDdtQUJIVnpZSGFSbjAvOE9KNk8yeWkzcDgzczdrRmVUWmcyYURQ?= =?utf-8?B?S1hXK3k3dFljTnQyR2JjL3N2TUpHQjhLcEdGZ3dzSmorOHptWmFHdVp3RVRi?= =?utf-8?B?a0wzZE9YRWo1WnBReHR0OS9yWkFjVk1OdGltNUUzVUFxSXQ3dDBKRWZ4dUJr?= =?utf-8?B?UnAyc3NNN3NVQlRSYjlpK0lsdnhIWUZYNUc3WEY5WFhXc3ZMWkd0Z2ROSmdJ?= =?utf-8?B?MFlzWkRNbVdvSnJkdktNdkl2NlJKRExnc1dadnQ1cGxUb3ZxMHB5Wlg5WVgw?= =?utf-8?B?akMwcjJmQmo5N0pBc0JFdDliczEydHE2TktMN3NUTWhpS3Z2dHpjYm5sYU5V?= =?utf-8?B?SUQvTk1ZY0xPZTNhYnZiY3R6TWhFVW1xNG5IenB4cEEyUm1SVHZXK1BYb1pp?= =?utf-8?B?cVdvMXUyU3pQWmdjRGRtYjdxT1VZTFdZeTMySG12RHhnU3FqYjh2TVhRc3Mr?= =?utf-8?B?RFNyTzRhWU1nN1p5eDhuZnNvZ0N2QWZPSVAxLzd4dkRqN2VnSUg3a3ZEYlVF?= =?utf-8?B?TU91ZDBMTldoWTZYYlRGcFJ0N25Fc1RRRTJLVjBET3JyemdrVkNTaml1OExq?= =?utf-8?B?MUdWNGRCNzhXU3YwSXE5aTlSeDA2TFpmQlE5T1d5ekVha09BN1lES2I2VzJj?= =?utf-8?B?WVpheFRaNXJuZm42SU81R3p4c2h5NkNsSHloQ2RRVDNWajdUOCtKcTUwSVYy?= =?utf-8?B?dkJwajgyeWJJck16c1Nkem9RMUhOVkFucE5CeWdVaEN1OEhvZGlFRmliWENa?= =?utf-8?B?Nk5INk9VUEZLUVpvb21RYnB4UUJoMWVNR2xuZEFZYm1RQkZXK2xiVEVxUHEz?= =?utf-8?B?U1QvSzZZenZrb210QjRyVVBMMGRja1F6dWhqOWV2bS9Edzd6MDdQT2FBcm5V?= =?utf-8?B?NW1NbG5vN2dETzNmK2xZOS9uZE03WXBOMmYwVWovcjdIRTc3MCtPZ2N1VlBa?= =?utf-8?B?cjdLc1FyNzM1bzNTNnprUDlUOXhiWGt0TjZPRnlKNCs0ZzdvcVU4NHFiYUZk?= =?utf-8?B?VTRqNCtlQ3VQeldQZmhTTmhYTUpFdG1CdENsUXppdktLYWI5VC8zV2RzekhR?= =?utf-8?B?ZHpabWNpSkRCSVN4MVZaZW9WNzFPc0UvVXMyQVRKdVBKQklyWE1YTElPS0Er?= =?utf-8?B?dWkrbVBuSDA3L2p0N3QyemlpZSt2ZmFrWkVVMGVRcUJXKzNSTHN1RGFQWTBE?= =?utf-8?B?Y2dyUEIrVnRIeFB0QWFCaW1Ucy9oOW13a3BpRWVzdDVqRHJjenVHWk5iMnBF?= =?utf-8?B?N0FvWnpHVTNvMW1WTXVibHZMTkpja1ZWajFORkh1ZG9qaHkvaEtHcXBLU0I2?= =?utf-8?B?TS9QUk1YcjFoQ25jNU9ScWljU2l2YVBvcjBwK0NhVVd6RlBBaFVVWVhwWW16?= =?utf-8?B?NkZkS20zNzhJVXMrV3dOVS9hdkRFVnRJMUo3YkJWUG13RG9WM3J4eGF3TmVZ?= =?utf-8?B?WjZhMklBaWEycVBlNkJYcklMU2hoMlVWNmlYdlhyMmRudHVVL0RzT1YxbUZu?= =?utf-8?B?RDFIZ1UxMDl6TWhPN3R0WFliRlo4UEFZZ29BU0lFWHR3WS9sWFhnTHE3Mnhs?= =?utf-8?B?WTU0bzZVSGNNdEhJWVdCY0oyZ2pnNjBtRjE4MzFpaWZXdk9XdGlaVmpwcmpU?= =?utf-8?B?RkhzWmxlVnpLdko0bXNlU3g1Q0h5Y05sc1dwQ3hVSGpoWFN3dXhoWHJpSkpC?= =?utf-8?B?cE82Q1A0dysvTkx2WXdwSGFqUStkeFo0Z3pucHNWdE52NFRSQ1c1UWZJSFIx?= =?utf-8?Q?AGG4V+LfBnZSh44EQztMOw1uwGDHKwljd8obcqD?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-00b75.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 91d69662-a6a1-4b5e-21e1-08da999fa781 X-MS-Exchange-CrossTenant-AuthSource: PAXP251MB0726.EURP251.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2022 18:00:21.7774 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P251MB0885 Subject: [FFmpeg-devel] [PATCH] mediacodecdec_common: enable refcounting of buffers unconditionally X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This allows av_mediacodec_release_buffer to be called safely after the decoder is closed, this was already the case with delay_flush=1. Note that this causes holding onto frames to keep the decoding context alive which is generally considered to be the intended behavior. --- libavcodec/mediacodecdec_common.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libavcodec/mediacodecdec_common.c b/libavcodec/mediacodecdec_common.c index 9fa769656c..2a605e7f5b 100644 --- a/libavcodec/mediacodecdec_common.c +++ b/libavcodec/mediacodecdec_common.c @@ -265,8 +265,7 @@ static void mediacodec_buffer_release(void *opaque, uint8_t *data) ff_AMediaCodec_releaseOutputBuffer(ctx->codec, buffer->index, 0); } - if (ctx->delay_flush) - ff_mediacodec_dec_unref(ctx); + ff_mediacodec_dec_unref(ctx); av_freep(&buffer); } @@ -321,8 +320,7 @@ static int mediacodec_wrap_hw_buffer(AVCodecContext *avctx, buffer->ctx = s; buffer->serial = atomic_load(&s->serial); - if (s->delay_flush) - ff_mediacodec_dec_ref(s); + ff_mediacodec_dec_ref(s); buffer->index = index; buffer->pts = info->presentationTimeUs; @@ -872,7 +870,7 @@ int ff_mediacodec_dec_receive(AVCodecContext *avctx, MediaCodecDecContext *s, */ int ff_mediacodec_dec_flush(AVCodecContext *avctx, MediaCodecDecContext *s) { - if (!s->surface || atomic_load(&s->refcount) == 1) { + if (!s->surface || !s->delay_flush || atomic_load(&s->refcount) == 1) { int ret; /* No frames (holding a reference to the codec) are retained by the -- 2.37.3 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".