From patchwork Sat Aug 4 10:19:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: lee ju X-Patchwork-Id: 9888 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:104:0:0:0:0:0 with SMTP id c4-v6csp1403709jad; Sat, 4 Aug 2018 09:35:19 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdO2r6KVO2kMD74oTX9XCunuDFkCm1/uiNdIXnW0BLggbOU4W93bHuQaGL3U5A7S6xORwTG X-Received: by 2002:a1c:9847:: with SMTP id a68-v6mr6084299wme.99.1533400519371; Sat, 04 Aug 2018 09:35:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533400519; cv=none; d=google.com; s=arc-20160816; b=G0t/NVhVlbh4sffzoGOMfrDfH/UO8wD1GfzA1KQzu5gcVKEV8C64GGCkV1MeSl597G lqwsfdWCveLLLlGlXrKPxQZ1XqMsiPOyYpwFL7DYKfZ6+rBOD2Ynxhkp5OkEIZYgktl/ 4m895skM00I4++iLmrd4cxRuIIJh5D3YYDyeV6AEk/mRJPwbQ0SREVdBPBLWmz4ZveGx 0cRNctfPf3Igi38tbFTM0rfxsKLFSEGmgjTNfRuQs8VKa1rucfTCJJ2T1lVRCQF/80Hr PMZXSq3Ny/Ncps3l0GFJWzHP9CwlWh53PKhPeX2kREkjIXBGXkO5IyXEvhSdhnciWP5u i6yA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:content-language :accept-language:message-id:date:thread-index:thread-topic:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=xz3oWfWGJVAaAzFOd16EXjmkf23/jHq9saM/Efahc4c=; b=kSjhuEbOx4wzE2XGnAoXG7ThtFRmWWbKcRnG227Xh2tC5glgoSr1cKhoXmQWMs5rkh Y4jA07t4PlAn127h7L0iMxOly3YF2ebdHhee7OetsmM8AZ67O4WclukhR64Wm8twrLb6 t8Mpi+KljInt3/1tGM2TB/iDL4GrGYDvxxeyuxQddm7l+VEEyDAx6FVpEEElFC39CQXY Foj6G08D2ykmlePW4jGtCmkanNk7ny4ISLj/O7DVrKQhbE7koNYkwn0Q7Tz4qJVFqnTU P0z7CJeqnpLTs1h9QFDGLNZyxGCKp4CHW1BE+vjAsEwC0OKVlXZ0yw/7j3/U6w1PwAJN e+Kg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=BDzThWQq; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z49-v6si5997856wrb.368.2018.08.04.09.35.18; Sat, 04 Aug 2018 09:35:19 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=BDzThWQq; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 91E9268A37B; Sat, 4 Aug 2018 19:34:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-oln040092253097.outbound.protection.outlook.com [40.92.253.97]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1F9BA689CE0 for ; Sat, 4 Aug 2018 13:19:30 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0fngwfC0gqxssl+/7l8I8RUOAyPQ9p3Y5EJAnZvbBuI=; b=BDzThWQqYJUlpgxa5PjOAPZED5V7poItjvfnjUyjTlw8lMHWxTL+GxD9TqjWuXkirAu5XffZFlvchb2TkIXAX509kfb4gs7wXdVFRCdXfUIeBEmgplkbAPYDh3yCrPFOQX57vvDa2yylw4K9T4peXxEa7nL9hjR/rFbX7HEaICNdymZihPW5ZSMmhjDbBDkjwCRDRywAUgLDKS8Vfu49WnOYnPqWHcp1jdC2390UdYIgnvq57NNN+MzjNrcJp/0Xs4f789BZnsHBl3EpHR3+S5XtmB5+CXVyLPD/zyV9GeSuA+5fUWPwEmroGK68Am/gtUqqWAI5lfM1lohdu6p32w== Received: from PU1APC01FT064.eop-APC01.prod.protection.outlook.com (10.152.252.53) by PU1APC01HT028.eop-APC01.prod.protection.outlook.com (10.152.253.73) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.1038.13; Sat, 4 Aug 2018 10:19:45 +0000 Received: from PS1PR02MB1244.apcprd02.prod.outlook.com (10.152.252.55) by PU1APC01FT064.mail.protection.outlook.com (10.152.253.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.1038.3 via Frontend Transport; Sat, 4 Aug 2018 10:19:45 +0000 Received: from PS1PR02MB1244.apcprd02.prod.outlook.com ([fe80::784d:4221:cc84:f60f]) by PS1PR02MB1244.apcprd02.prod.outlook.com ([fe80::784d:4221:cc84:f60f%4]) with mapi id 15.20.1017.018; Sat, 4 Aug 2018 10:19:45 +0000 From: lee ju To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH] fix memory leak in frame_thread_encoder: occurs when close encoder without sending eof and receiving to end Thread-Index: AQHUK9yqBdjmfxTzG0ucafOaG+mhTA== Date: Sat, 4 Aug 2018 10:19:45 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: TYAPR01CA0043.jpnprd01.prod.outlook.com (2603:1096:404:28::31) To PS1PR02MB1244.apcprd02.prod.outlook.com (2a01:111:e400:7909::22) x-incomingtopheadermarker: OriginalChecksum:A8DE15C03DABEC25013A9BDD068E348AE5837F310A74EB75A314E2B1E1B86DC5; UpperCasedChecksum:3825CDA17599EA9EB83488DB855BF6D0CA76707E371F13AC6DB7EACE4F904B95; SizeAsReceived:7477; Count:48 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [sqvmb9OH6viFcYBBkqSokbIFYfFps0QLftQCXG6LOAM=] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; PU1APC01HT028; 6:/omb+UZ4zd6aZciVYW03q3BOX5Qd0WLZDQ77ySlkPBX77/qq7fjRu/15k3SsufGYfWmRMFbXSEI30pxJs/AbLvodHjwa58w24Tn6ZeoZdxbk5UklvIyIeJvAJHqcqJBwYxZdJVOYMjCtg+X4a5LksgQ7aqWi0qhDcT6OEBGbw0kvrANX6uRanaFvYNbd93f5hn0YffhKk5xEoAHhZzKwOkOIHoaaCaRwdhnFD/vWnuwITpJP1VLzrwxisyo3kYxaP5i5+/KVhgxlS4qXf9MePOS/XjzKocxOYKA2WrXa1dp2C+WSH9wiww8uaOeA71By6ipfAza1bqs7ZPzOGQT7YTrYm+McCD959WaLb+ctFCUcZeqHSckrByLFX8/3TTOqw9QwjqI9ldFi8HaCvlzkYieE8mJrKopKZ/4MrGSe3yuOzQ8RvK68atm40quf1mBff3qkk0MFP4Bhart1eMDWfA==; 5:RhfcXUZAoBBoNjBsE6Oks24VhDfijmpqs2/MRC5uGlW4aOXkorNsQqNThLdgX4oVHO13kCsk5GOxW3sUCCpD+z6SJdaEmgif15ZyXovYh9v1ezv4dKYC76x7W2lEVBbaJlRtJQwNtwEjUI/iRomkVblYYnJAvSQ5CnXgjLvy7Kc=; 7:jnV946Cjj+rx8508lKaR3wXvQ4Vz86aNYC/hVFawciDIeDoWriFO6OQoCUarJcRYjoy5Llk9JqyHya9hvgZQ9YAH3HwpcRPkTRieNCgmZyUNtYyNiCLSJ6vSi2JEkoXOsK8Y6YRXEV6wArUG6r1dKOdTJkNTLNtWgeJtuHYnSJU78H93p3EoUo+hPoOe3GNB6z9LCodxnJ20YGZR4Qr4O0M8rBGyMyM4ccpOg0vtlYvC+79/QLw5v2hZf7UOroNw x-incomingheadercount: 48 x-eopattributedmessage: 0 x-ms-exchange-slblob-mailprops: mBRmoEB1kyIfC8k/bR4HVIaPIIrU0h6xqAX6AittS/gx1lu/+pBBMntHeEvAihkJ/yDNp7bf/9hwjlRlVf/aJs+2fLBt12L3I0DJX7F1t3E39GdR/g6zOHD8V2tp3YT/zbKepgHlueSJdOhhxbjyQOkr7ad/gB4gdP86ClbD+zUTnQRrziKWwbD/6XyFsO7TcocWXpSusVXaGaCmYY/Vuv5EAzYva1Si8hGfzGJB3EYdsE0hsn8PBuFxB3cQfPMiyHdMhy9hguTrN8IOWKvXP/pEtdaJEHLi05RBqanMTR0veJNOIEtvKD78V/Zp/BlQklTL3cMckpTyqmCM9R8XBqIF3G+AaFMFcTzTOy94C/fgJhQYn6pNT+Jfj+W/kDpCww5zn7sE4e6461+fkYxDxrriPkFhqjqD4gDvvD1CoWVnaYJqEB/Xu/euPoBTMRtFI59bowOj99z07onY+sYjQzy/V4GhMpae2Zqb7Z+Ec0/E03yP9yD8b9iATAP+ZIvfGCFuBDtNTxJsJRuSjoND9lKvhB3aDOT/+MxXNZsXvFbaQqJ9fqjA2fGusKmx7BhBsuNb44bI6M/a1X+B2Q4Ne4Y+JEi+NXvEnMtNXJqz3hWM+UrSexMm8ws8GmZNl6cxQG4MwoJuqce3prrDPYRmqBtjAh8uBiZRhahbKCT0l7DNsB1ssKf38SJvlUqEWxic87D3Qc68pmK9oCcDidB1dir0nIwHQXi2uOx7958kEE/oALM1FGyJgtKZlDK6SVSARBOtSHe9sLk= x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031323274)(201702181274)(2017031322404)(2017031324274)(1603101475)(1601125500)(1701031045); SRVR:PU1APC01HT028; x-ms-traffictypediagnostic: PU1APC01HT028: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(4566005)(82015058); SRVR:PU1APC01HT028; BCL:0; PCL:0; RULEID:; SRVR:PU1APC01HT028; x-forefront-prvs: 0754F7E325 x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(189003)(199004)(426003)(2351001)(105586002)(106356001)(305945005)(74316002)(39060400002)(81156014)(8676002)(25786009)(56003)(86362001)(8936002)(87572001)(104016004)(256004)(4326008)(68736007)(86152003)(55016002)(82202002)(476003)(5660300001)(7696005)(14454004)(20460500001)(33656002)(6436002)(5640700003)(99286004)(26005)(102836004)(6346003)(2900100001)(2501003)(5250100002)(1857600001)(486006)(386003)(97736004)(6916009); DIR:OUT; SFP:1901; SCL:1; SRVR:PU1APC01HT028; H:PS1PR02MB1244.apcprd02.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: outlook.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=julee.vv@outlook.com; x-microsoft-antispam-message-info: 6JPyh/vaZosw1sDFNNV8rKuJugZT3MPopPFBUJmurtwIuHdgxULLJ3KGrunPxnaproFbiNPqvEzO32bzMpVK2afXFtPVH/i5X+NuiskwBltME+2oyVtjNpJcHeA17PnIjJIVktW1JXKzWk1ueW72g9LXYeoNNZ9fCz01Ue4xjNKepfy6yg9Kb0tIuu7kFr9rHNtIi0QwN0EhpRpq//aqPsramWSOWBondonHUEbPgEU= MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: b6587b75-6f1a-4db7-b0b6-5cad10ef59a7 X-MS-Exchange-CrossTenant-Network-Message-Id: 0490ba42-ce94-44bd-bad0-08d5f9f3cc0d X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: b6587b75-6f1a-4db7-b0b6-5cad10ef59a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2018 10:19:45.6740 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: PU1APC01HT028 X-Mailman-Approved-At: Sat, 04 Aug 2018 19:34:57 +0300 Subject: [FFmpeg-devel] [PATCH] fix memory leak in frame_thread_encoder: occurs when close encoder without sending eof and receiving to end 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: lee ju Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavcodec/frame_thread_encoder.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libavcodec/frame_thread_encoder.c b/libavcodec/frame_thread_encoder.c index 5ff3f7863c..55756c4c54 100644 --- a/libavcodec/frame_thread_encoder.c +++ b/libavcodec/frame_thread_encoder.c @@ -251,6 +251,23 @@ void ff_frame_thread_encoder_free(AVCodecContext *avctx){ pthread_join(c->worker[i], NULL); } + while (av_fifo_size(c->task_fifo) > 0) { + Task task; + AVFrame *frame; + av_fifo_generic_read(c->task_fifo, &task, sizeof(task), NULL); + frame = task.indata; + av_frame_free(&frame); + task.indata = NULL; + } + + for (i=0; ifinished_tasks[i].outdata != NULL) { + AVPacket *pkt = c->finished_tasks[i].outdata; + av_packet_free(&pkt); + c->finished_tasks[i].outdata = NULL; + } + } + pthread_mutex_destroy(&c->task_fifo_mutex); pthread_mutex_destroy(&c->finished_task_mutex); pthread_mutex_destroy(&c->buffer_mutex);