From patchwork Wed Jan 19 14:17:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Beauxis X-Patchwork-Id: 33661 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp4829537iog; Wed, 19 Jan 2022 06:17:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJzM7oVMVM3ExNaXOUehhD2fGEOAy5KnPtfyYpv9Uw85lOmU792yO9mhMj3/UQ5BUWDJBhqd X-Received: by 2002:a05:6402:14f:: with SMTP id s15mr30223002edu.118.1642601849732; Wed, 19 Jan 2022 06:17:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642601849; cv=none; d=google.com; s=arc-20160816; b=T4DbTgUmpSjc8a6GRsS3vjV7+KkyZlpMfjAEQyfw+Ed18cybMDEoL5NUg1NwpFOSHt QbYo/SEqmPoPPU/ibnJbB2daFTX+DbeG8YGrfJIHzLy6df4FQSmGHTvwHC05fSHr4kVu 6QrucNa9JHlRN8GcldwON2CI2O+EYr8+++cYDrUeaBBdQrEP6K0giNOFhTxToa/nPgQI 60c10Egil+FBwsToZxTWu7fdQtapzcCN+UBY8iA1LUvfJBSdesPinsDO0N2UPd5/fgt/ pXgokA3wn6Pkl/gPnQTVFvjVrFYo3VNKV/ZuMv7TdVWb8R2ewfOVWnr7yYKLDR25kKFV IZLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:to:message-id:date:from:mime-version :delivered-to; bh=wDk3JRlwRJ4hOulAZM/mFDtPyut4Bd5OfzSOz7aiE50=; b=HmvJJ3NOx1zWwoTcXe1ZIw7dkjzwzETp6addgCb77vCP9kPoXuP0oQOqgAw3ctCIAA 8hqFqk4m1qpu4/Ng/3QO4Vpjcctd6RN6voEWqY8YrN5PJmppbCU6axUpFWkGOwfBPE/Y wT7bBPPWWQ8IwB6DVBoFpFuFICJBnWCAOiw/PJ1adES1NS8d11O4zAKMYjomi1UO6A5l dt0FQMh/nyIXyLaIHgiKRrJwxGjYxBAyC1NsxtiS4BqqCWarEbQ9uYLCMpgJu0swGHp5 O2pqq81kT1KmW66/DDmuw2EJeWRJRG4DwVX39E8pR/aA5S4MmEISpudaXN8rRDc7D1Ao qx/A== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gt44si12503385ejc.209.2022.01.19.06.17.28; Wed, 19 Jan 2022 06:17:29 -0800 (PST) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E379468B084; Wed, 19 Jan 2022 16:17:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3B7E68AF88 for ; Wed, 19 Jan 2022 16:17:17 +0200 (EET) Received: by mail-lf1-f47.google.com with SMTP id bu18so10003901lfb.5 for ; Wed, 19 Jan 2022 06:17:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Oyqbmz3BaTgJCYwe/YMa76z9+AU4/kIwBrmcHtMQoRc=; b=KADfvNSPEjA981zsC4m2SEX3VsBmHRM29axcoA3XzOqXozpVOrTEEsFXrM6UYN0Jih jaJJrAlkDRg4kVTyH7v1ay18yZCTLRlp51gsccO0rsuBlXH71NdCT5QWrsI4BZtB28za vV5sCAMl9evU4N+a1KNBoXvrz0BfMkfgn8RQS/UnKcu2fvReI5STU/0OBou4jYUgVkC0 fL3L81dHXGHg93fULIy/ODocpHo5hRLSQepHJ36EIq1n92jEIFUC/FDI1xRy0U7aqycc vXLDHGPzKOphoates/1DUN6wuux7arK/kffqVLQAxaI6axoATLEiC/M5DShAKKXV1fAF OCTw== X-Gm-Message-State: AOAM531PyqWhUC+wtCQ7E2GnkxyTsR9qDH3oxe3Ap/jcQiYkjw5zbjgm FsWo+ACmctnUXjh11Gftnvvf8PGbuFK7ow== X-Received: by 2002:a05:6512:374f:: with SMTP id a15mr26719264lfs.571.1642601836655; Wed, 19 Jan 2022 06:17:16 -0800 (PST) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com. [209.85.167.43]) by smtp.gmail.com with ESMTPSA id 28sm1994721lfq.34.2022.01.19.06.17.16 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Jan 2022 06:17:16 -0800 (PST) Received: by mail-lf1-f43.google.com with SMTP id m3so10198616lfu.0 for ; Wed, 19 Jan 2022 06:17:16 -0800 (PST) X-Received: by 2002:a05:6512:33d1:: with SMTP id d17mr26337073lfg.455.1642601835801; Wed, 19 Jan 2022 06:17:15 -0800 (PST) MIME-Version: 1.0 From: Romain Beauxis Date: Wed, 19 Jan 2022 08:17:04 -0600 X-Gmail-Original-Message-ID: Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH 0/5] macos avdevice fixes and improvements 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: yOZLoToC8VhN This is a follow-up from a previous series of patches that fix, enhance and cleanup support for audio and video input on macos in libavdevice. Due to some important recent refactoring and addition, version is reset. Patches: libavdevice/avfoundation.m: use setAudioSettings, extend supported formats libavdevice/avfoundation.m: Replace mutex-based concurrency handling in avfoundation.m by a thread-safe fifo queue with maximum length libavdevice/avfoundation.m: Allow to select devices by unique ID Use appropriate method for device discovery. Add AudioToolbox audio input device. configure | 5 ++ doc/indevs.texi | 50 +++++++++++++++- libavdevice/Makefile | 1 + libavdevice/alldevices.c | 1 + libavdevice/audiotoolbox_dec.m (new) | 466 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ libavdevice/avfoundation.m | 548 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------- 6 files changed, 781 insertions(+), 290 deletions(-) create mode 100644 libavdevice/audiotoolbox_dec.m Signed-off-by:=20Romain=20Beauxis=20=0A---=0A=20= Signed-off-by:=20Romain=20Beauxis=20=0A---=0A=20=