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 7DE3A4ACA9 for ; Sun, 19 May 2024 09:58:11 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E237468CADA; Sun, 19 May 2024 12:58:09 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2089.outbound.protection.outlook.com [40.92.90.89]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2383C68C21A for ; Sun, 19 May 2024 12:58:03 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L8xFLWaMZhvyQDw+LmNQcuwFKngJHenKtCRWBrRd+s/pb0x40ZsA95xX/CnNSslWP4K7rT6Iocy5dnxIc+k6ppacHvssmmUi2Lzq8puvHvfHDIjaV4X4HUHe+TkRuPOfvFw1FZQKEFkXrm5Sh4hoOe+IFUpncnsaQr7BVplPHLIz4RhXHE9s6pDaZ0y0/5c8P6QIDbsObUnNhynMKiniw1CodordFdbiiITVSWetV3bCX6V+oI69+WdKNoDjEyA3Jy8kiWuNgTAejLIg1o7wRPiFLqYxUcie5Yi/a+NNZ/h66O55h6TyfBUQR2+84hlO6eH9z2xQ2Ca2N6EzkiEjgg== 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=elhbV312Kszva3FJRPdtm8tmXh8GkDW36O/9HmheeNE=; b=ALakzRLaXXP+cqI8qpTbMzOJ6gYrTBfzMNcpawOw/kFWRGQVqEwNtPN9LmGGsG2OZellBx7gS9R+WKvjL7vVc89LWYiLO5Tar5XGHZGYeNc/isoirWXxZzs+w4mTbr+bYvkfwuCcnJ2+o9df+KPiIWgkl5OBu5i4GqdV2bbWZcFPEvSwvJhVnboH0wF1LqE/jFJjfK200rnKPN5nLO1iPeycB53KXQd31lil+gu4LZxPFMEI8wBH4zGi/FmW9UdPtBTLfi9y7dIgODC/ISEXvRJkeMv7plyZZr5SVg/DzJcl5fMCn5hwf5R48ePFWb/6Thu1NdFzOW/4ab8I3Qe8+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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=elhbV312Kszva3FJRPdtm8tmXh8GkDW36O/9HmheeNE=; b=TGbl8Gz6BxPDSv2sStn+NkJaunyJb1N/x3Or2MlCFGAiEOTbnF10uMT26Stu0uAjhLnBV3w3zq753WM89FbxOf8qgfsU29l95Ug7xD03LK4qT2LzoZt2vjgvsCJFerhGKrc4IBh5fQcZC4kZW7sgtzJqPiqgbA73dT7K5l8yZpSrKWxFTmv0b1NeKFVm65SOUBj4HtGgnsjOH3VY5WDoobBnx3c+heIQOvTXGItMVryohEXZAIjqryAtN42A7x6LvYtChcrhlm/aQHGVp4Nv5nWISy2XkAC2PbKBYn0If3iN20iDu6w/OkrwJ1tVsMV62YDJo1GaYjad9yBw1viBmQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0365.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:27a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.31; Sun, 19 May 2024 09:58:01 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.7544.052; Sun, 19 May 2024 09:58:01 +0000 Message-ID: Date: Sun, 19 May 2024 11:57:59 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [leX5s8ZF8ZuBh+Z7bga+7RQ7sUGrXoqnqOLEur/o+a0=] X-ClientProxiedBy: ZR0P278CA0192.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::16) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <606016d2-72aa-4d60-a154-86fd8629416b@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0365:EE_ X-MS-Office365-Filtering-Correlation-Id: f7038adb-7c4b-44e1-f71a-08dc77ea2b28 X-Microsoft-Antispam: BCL:0;ARA:14566002|461199019|440099019|3412199016; X-Microsoft-Antispam-Message-Info: EEfuOlmiSDrTk8E0gvENYcN16yBL/a4O9KZ39vn0cG88ShoW8g5QlHQxB5HW+K7BTJD+vzq9OGJME4wMIAwMGiDBCKqk6XMo4d9C0da21FY0vncG257r4Rz2sW3dSaFNzY+l1FC4QHittK6TTldY2M9EWgN2HvoJvdJGqaIfamUWACeFtgmKuKU6x0By/InwnkxhmVlC812GpOvJ5RHgRz1LtiPk5rAlO8u9mpIgMImLWHpNf3owTNe6PRL54CBb9DoBLl59k4leYBS4vZtahnbduCOaS/n2YI78EzjRNNf08sh/MyyCRrKVd3gzzp+Eis/S3pz1DgFd18s/MlGotv1Cd8fy9fzIlAYepWxj0tyyTXrG5ZqWU3alrPDXmE+J3/XHWcoi58EZ6t8jiV/QNxRq5quxGN3MrSJzZzm94+CazP54toeDRDpz0WWTZKxyeINmO30vuUQxRqvynGE5l3715e2yHgMLZ6QnQcUH48By6YitOZumEOWdcIR68TmzH/kOAmBADAaw2lrwmlR918+Bk9mEidF/uF7HHnvbUkvuNX5S1XQFZ+wl5n+RTMXp X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Skd1eXFzSExQZ3I1TElLRXFURTUvd21YS1RNazZob3RIKzFybEV3WUdodmov?= =?utf-8?B?RnFCb0NibmF4ODluYTZOVEZyNDdvdG9MeDFidVVCSnplUXg5aGg5WmIydUxK?= =?utf-8?B?WklUWGU0ZjRnNEVCQ2oySHVJbjgvcnhXMnRlaURMcE5tM0NsUmFiMXpNK2Rz?= =?utf-8?B?Y3A5eWxQNUZFTWh2d3ZaQm9mWnMyRnpGSS9xS3hyeWNVRFpxdTRPTFhZK21r?= =?utf-8?B?R09HZTAvWGVINDFYTk5zbWN6SFFJWkdCN2dRRmxteTloTDVqOW1OMTNUbVE2?= =?utf-8?B?bjhDR3NnQkgwZzJkRm1peVNQZ05qNkFoUkpKTEc4SjJpZFhMUjYxYkQvRmtn?= =?utf-8?B?VEU3dHh5MEdCT2NRVk5hYzVWR2VTYmd6STdxbUVQZmxtQ0VDamhzUU1XZFUy?= =?utf-8?B?a3hzOElpK3QxWERsallvQytpVEY1SnJ2MGJjc2FaY00xRWZ1TG45NldBQ05L?= =?utf-8?B?VlI2TDEyNXh4M0xwN1F5aU5UR3ZZRDdWZ1FXcWVQZjkrU0pHRm96Q0ZoZGZ1?= =?utf-8?B?Rjcwdk9vbmxvb1Brd3pneFBWMHpaRFYxZ0lYMklhZDBRMHF1cTJ1cHI0cEtU?= =?utf-8?B?S3VZVEV5Y2hzV0Z5ZWt1ZVFRSEQxZ0NaR3drbDBjeThzZ3IzWmJXQmhMdXJQ?= =?utf-8?B?d2U0OXV0dVdnb1lCMzN6YTliL3luRzV1K21PT1RSSUQzWnZyNVBNNStPNkJT?= =?utf-8?B?OU5CRjJ3YndscU1RMXVrcEkyVHpVdWRydWtnckdNSS8rbGRlRjVCaFo2MWp6?= =?utf-8?B?Tlc0MTd4OGxUL3d6KzhFTnJvY0dPNjBrWHBSVkk2OXhzZ1RhT290YXZwY0FQ?= =?utf-8?B?VmFPU3FzUG51b2tKTWl0N3hPaUR4bmRwcXV6VzJaQ2phODV5UHozdWlNZHEx?= =?utf-8?B?b2psMDNuWVpJNGpETzFDbGdMRVBKL1N6N2NXUHZsbmJlTWE4K0s2VVo3ZFlo?= =?utf-8?B?RGxSRERaWTdFeWVNQzQ0WjJJY1lUT0xKU2hFN08wNjJ0WHYxSFdjMkdYU2du?= =?utf-8?B?Mm1MS0EyaVFWSGU5OGdiSmhxSEpwRndWanFlR2djRTEzdnhsMm1BTk9Zbm92?= =?utf-8?B?V0V0UGxKdDd6Nmh3MkxZdHdPWVJ5L2pIZklQV1BZRzB6RCtTc1RjdmFkb2dw?= =?utf-8?B?cnNXbkhqeDk3WjBBS1lIWStiREc0bzNvNksvVXJ5ektlc1VSbzlVWnIvU0Vv?= =?utf-8?B?R3FiaEJKTUJzZTNqSVpwYmhaS1FpaDJSWjNkajZwT1pORDRqNHZ4VUhYZ21G?= =?utf-8?B?WVhEaUR2SWlrdXRaZENDQXpmYU9kVFFiZDRIUk1QaXlOTEVSYkdVRlhHdlIw?= =?utf-8?B?QzdhV04ySSt5cjU4QVo2eENDZXZjTkdCdU13UC90WERoMS9ER0czbDFrdjBu?= =?utf-8?B?LzlzYUhSc044VllIaHNkWW0zVEJrTlBCaTVkUjRjZ0cvTWxoL3NYVmtRRHZx?= =?utf-8?B?K09RZm5naUh3RkVWSDhGakxNOEVnQVBtTURWeCtTWGZCK1lJWWFqakdSNDBQ?= =?utf-8?B?cVp4MEp0OTdPcHRzcHJYU0YwSnNUVW9JMzBQM2lGcWZvaEZRYVlObEdaVmhM?= =?utf-8?B?TlllMVVqV3NiTCtMSkw1UDd0bHZvKzVjc1VxalkzSnJIOWlQbG81b3U0WGhK?= =?utf-8?B?NG41YU1mSXE1Z2s0N3dNb0hkWExPVkI1MGFhN3IxeWpvTFBPUTluSytZbnhM?= =?utf-8?B?WWRuNFNrRStXYis4ZVJKZmVGbTNtaTd4TWRpbENtRFljVWpoZ1BFUjlnPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f7038adb-7c4b-44e1-f71a-08dc77ea2b28 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2024 09:58:01.2211 (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: DU2P250MB0365 Subject: Re: [FFmpeg-devel] [PATCH 1/6] avformat/utils: Use static mutexes instead of ff_lock_avformat() 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Andreas Rheinhardt: > Its existence is a remnant of (libavcodec's) lock-manager API > which has been removed in a04c2c707de2ce850f79870e84ac9d7ec7aa9143. > There is no need to use the same lock for avisynth, chromaprint > or tls, so switch to ordinary static mutexes instead. > > Signed-off-by: Andreas Rheinhardt > --- > libavformat/avisynth.c | 15 +++++++++------ > libavformat/chromaprint.c | 12 +++++++----- > libavformat/internal.h | 3 --- > libavformat/tls_gnutls.c | 16 +++++++--------- > libavformat/tls_openssl.c | 17 +++++++---------- > libavformat/utils.c | 13 ------------- > 6 files changed, 30 insertions(+), 46 deletions(-) > > diff --git a/libavformat/avisynth.c b/libavformat/avisynth.c > index 1709bf4051..625bdf7e3a 100644 > --- a/libavformat/avisynth.c > +++ b/libavformat/avisynth.c > @@ -23,6 +23,7 @@ > #include "libavutil/internal.h" > #include "libavutil/mem.h" > #include "libavutil/opt.h" > +#include "libavutil/thread.h" > > #include "avformat.h" > #include "demux.h" > @@ -130,6 +131,8 @@ static const int avs_planes_yuva[4] = { AVS_PLANAR_Y, AVS_PLANAR_U, > static const int avs_planes_rgba[4] = { AVS_PLANAR_G, AVS_PLANAR_B, > AVS_PLANAR_R, AVS_PLANAR_A }; > > +static AVMutex avisynth_mutex = AV_MUTEX_INITIALIZER; > + > /* A conflict between C++ global objects, atexit, and dynamic loading requires > * us to register our own atexit handler to prevent double freeing. */ > static AviSynthLibrary avs_library; > @@ -1083,15 +1086,15 @@ static av_cold int avisynth_read_header(AVFormatContext *s) > int ret; > > // Calling library must implement a lock for thread-safe opens. > - if (ret = ff_lock_avformat()) > - return ret; > + if (ff_mutex_lock(&avisynth_mutex)) > + return AVERROR_UNKNOWN; > > if (ret = avisynth_open_file(s)) { > - ff_unlock_avformat(); > + ff_mutex_unlock(&avisynth_mutex); > return ret; > } > > - ff_unlock_avformat(); > + ff_mutex_unlock(&avisynth_mutex); > return 0; > } > > @@ -1127,11 +1130,11 @@ static int avisynth_read_packet(AVFormatContext *s, AVPacket *pkt) > > static av_cold int avisynth_read_close(AVFormatContext *s) > { > - if (ff_lock_avformat()) > + if (ff_mutex_lock(&avisynth_mutex)) > return AVERROR_UNKNOWN; > > avisynth_context_destroy(s->priv_data); > - ff_unlock_avformat(); > + ff_mutex_unlock(&avisynth_mutex); > return 0; > } > > diff --git a/libavformat/chromaprint.c b/libavformat/chromaprint.c > index 1cdca47ea5..eae233a651 100644 > --- a/libavformat/chromaprint.c > +++ b/libavformat/chromaprint.c > @@ -20,15 +20,17 @@ > */ > > #include "avformat.h" > -#include "internal.h" > #include "mux.h" > #include "libavutil/opt.h" > +#include "libavutil/thread.h" > #include > > #define CPR_VERSION_INT AV_VERSION_INT(CHROMAPRINT_VERSION_MAJOR, \ > CHROMAPRINT_VERSION_MINOR, \ > CHROMAPRINT_VERSION_PATCH) > > +static AVMutex chromaprint_mutex = AV_MUTEX_INITIALIZER; > + > typedef enum FingerprintFormat { > FINGERPRINT_RAW, > FINGERPRINT_COMPRESSED, > @@ -52,9 +54,9 @@ static void deinit(AVFormatContext *s) > ChromaprintMuxContext *const cpr = s->priv_data; > > if (cpr->ctx) { > - ff_lock_avformat(); > + ff_mutex_lock(&chromaprint_mutex); > chromaprint_free(cpr->ctx); > - ff_unlock_avformat(); > + ff_mutex_unlock(&chromaprint_mutex); > } > } > > @@ -63,9 +65,9 @@ static av_cold int init(AVFormatContext *s) > ChromaprintMuxContext *cpr = s->priv_data; > AVStream *st; > > - ff_lock_avformat(); > + ff_mutex_lock(&chromaprint_mutex); > cpr->ctx = chromaprint_new(cpr->algorithm); > - ff_unlock_avformat(); > + ff_mutex_unlock(&chromaprint_mutex); > > if (!cpr->ctx) { > av_log(s, AV_LOG_ERROR, "Failed to create chromaprint context.\n"); > diff --git a/libavformat/internal.h b/libavformat/internal.h > index 7f3d1c0086..6bad4fd119 100644 > --- a/libavformat/internal.h > +++ b/libavformat/internal.h > @@ -727,9 +727,6 @@ struct AVBPrint; > */ > int ff_bprint_to_codecpar_extradata(AVCodecParameters *par, struct AVBPrint *buf); > > -int ff_lock_avformat(void); > -int ff_unlock_avformat(void); > - > /** > * Set AVFormatContext url field to the provided pointer. The pointer must > * point to a valid string. The existing url field is freed if necessary. Also > diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c > index 2ab38a199b..df251ad79c 100644 > --- a/libavformat/tls_gnutls.c > +++ b/libavformat/tls_gnutls.c > @@ -25,15 +25,12 @@ > #include > > #include "avformat.h" > -#include "internal.h" > #include "network.h" > #include "os_support.h" > #include "url.h" > #include "tls.h" > -#include "libavcodec/internal.h" > -#include "libavutil/avstring.h" > #include "libavutil/opt.h" > -#include "libavutil/parseutils.h" > +#include "libavutil/thread.h" > > #ifndef GNUTLS_VERSION_NUMBER > #define GNUTLS_VERSION_NUMBER LIBGNUTLS_VERSION_NUMBER > @@ -41,7 +38,6 @@ > > #if HAVE_THREADS && GNUTLS_VERSION_NUMBER <= 0x020b00 > #include > -#include "libavutil/thread.h" > GCRY_THREAD_OPTION_PTHREAD_IMPL; > #endif > > @@ -54,22 +50,24 @@ typedef struct TLSContext { > int io_err; > } TLSContext; > > +static AVMutex gnutls_mutex = AV_MUTEX_INITIALIZER; > + > void ff_gnutls_init(void) > { > - ff_lock_avformat(); > + ff_mutex_lock(&gnutls_mutex); > #if HAVE_THREADS && GNUTLS_VERSION_NUMBER < 0x020b00 > if (gcry_control(GCRYCTL_ANY_INITIALIZATION_P) == 0) > gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); > #endif > gnutls_global_init(); > - ff_unlock_avformat(); > + ff_mutex_unlock(&gnutls_mutex); > } > > void ff_gnutls_deinit(void) > { > - ff_lock_avformat(); > + ff_mutex_lock(&gnutls_mutex); > gnutls_global_deinit(); > - ff_unlock_avformat(); > + ff_mutex_unlock(&gnutls_mutex); > } > > static int print_tls_error(URLContext *h, int ret) > diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c > index b875be32f0..89d7c6e1ea 100644 > --- a/libavformat/tls_openssl.c > +++ b/libavformat/tls_openssl.c > @@ -19,17 +19,12 @@ > * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > */ > > -#include "avformat.h" > -#include "internal.h" > #include "network.h" > #include "os_support.h" > #include "url.h" > #include "tls.h" > -#include "libavutil/avstring.h" > -#include "libavutil/avutil.h" > #include "libavutil/mem.h" > #include "libavutil/opt.h" > -#include "libavutil/parseutils.h" > #include "libavutil/thread.h" > > #include > @@ -49,6 +44,8 @@ typedef struct TLSContext { > int io_err; > } TLSContext; > > +static AVMutex openssl_mutex = AV_MUTEX_INITIALIZER; > + > #if HAVE_THREADS && OPENSSL_VERSION_NUMBER < 0x10100000L > #include > pthread_mutex_t *openssl_mutexes; > @@ -69,7 +66,7 @@ static unsigned long openssl_thread_id(void) > > int ff_openssl_init(void) > { > - ff_lock_avformat(); > + ff_mutex_lock(&openssl_mutex); > if (!openssl_init) { > /* OpenSSL 1.0.2 or below, then you would use SSL_library_init. If you are > * using OpenSSL 1.1.0 or above, then the library will initialize > @@ -85,7 +82,7 @@ int ff_openssl_init(void) > int i; > openssl_mutexes = av_malloc_array(sizeof(pthread_mutex_t), CRYPTO_num_locks()); > if (!openssl_mutexes) { > - ff_unlock_avformat(); > + ff_mutex_unlock(&openssl_mutex); > return AVERROR(ENOMEM); > } > > @@ -99,14 +96,14 @@ int ff_openssl_init(void) > #endif > } > openssl_init++; > - ff_unlock_avformat(); > + ff_mutex_unlock(&openssl_mutex); > > return 0; > } > > void ff_openssl_deinit(void) > { > - ff_lock_avformat(); > + ff_mutex_lock(&openssl_mutex); > openssl_init--; > if (!openssl_init) { > #if HAVE_THREADS && OPENSSL_VERSION_NUMBER < 0x10100000L > @@ -119,7 +116,7 @@ void ff_openssl_deinit(void) > } > #endif > } > - ff_unlock_avformat(); > + ff_mutex_unlock(&openssl_mutex); > } > > static int print_tls_error(URLContext *h, int ret) > diff --git a/libavformat/utils.c b/libavformat/utils.c > index 4dded7aea4..e9ded627ad 100644 > --- a/libavformat/utils.c > +++ b/libavformat/utils.c > @@ -27,7 +27,6 @@ > #include "libavutil/bprint.h" > #include "libavutil/internal.h" > #include "libavutil/mem.h" > -#include "libavutil/thread.h" > #include "libavutil/time.h" > > #include "libavcodec/internal.h" > @@ -40,23 +39,11 @@ > #endif > #include "os_support.h" > > -static AVMutex avformat_mutex = AV_MUTEX_INITIALIZER; > - > /** > * @file > * various utility functions for use within FFmpeg > */ > > -int ff_lock_avformat(void) > -{ > - return ff_mutex_lock(&avformat_mutex) ? -1 : 0; > -} > - > -int ff_unlock_avformat(void) > -{ > - return ff_mutex_unlock(&avformat_mutex) ? -1 : 0; > -} > - > /* an arbitrarily chosen "sane" max packet size -- 50M */ > #define SANE_CHUNK_SIZE (50000000) > Will apply this patchset tomorrow unless there are objections. - Andreas _______________________________________________ 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".