Received: by 2002:a89:d88:0:b0:1fa:5c73:8e2d with SMTP id eb8csp900984lqb; Fri, 24 May 2024 18:52:26 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUcEiKauojGeW9i0HOoDG1x36X3UQOD02Ko11Hhg16StExho0NFTJtGMPzgwO/32V/6EdVdp8lxS7CvpEYR/iVd5+WHom/Njx/w19RBkA== X-Google-Smtp-Source: AGHT+IG1yIsnnytNv3pMazRAdn3cDjKF4fks66HI78nONENBJ6XV5tu2ztuySk3HvGisPrlU3DdB X-Received: by 2002:a05:620a:40ca:b0:792:cf01:9eb9 with SMTP id af79cd13be357-794a0966382mr1216445385a.22.1716601946070; Fri, 24 May 2024 18:52:26 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1716601946; cv=pass; d=google.com; s=arc-20160816; b=Wt9YP+abViJNriS+PjpQlxrpEMQQFx/JyqAeeTK9TA7V0M/fNQMlBILnYmPs5D04KO f9bzGSuhlSSLUSlH0j4FBu/833jg3nsPN038TdGPJKMTF2Es95GmyRDw7nbSB0IZY4QT gIdt4wt2ntPoOe/h1u2rjwb+RVnWXiR2dbAS+gYlXdQ5R6Y39jC1rgtJzkEaFLHu5c53 ONgNUk+SJHCWYvELy1q/YIUAIp+57YwCurFky4E9Zz+JbcuncgcqFXFPNATY4tKDm5yq 2x37RtrFJrCseu8iS/PEItGgfg5fVrTtXZqFDrgtcZa9dHL1lKzUBP344PfV5U2U7jeZ rTnA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=DwnwPjzccLpPvdiGanFWdjhMbKs+Z/p4Bub/3nQbGtY=; fh=Gg33OXRnrPRrTdx+nczYYEEAdxDOorVRrtzYqt0L5Tg=; b=Ig/lJiq6xKKafkcadbBOhceLFwmzcikUzkLquNIKnL8RNsNojoraKz1NdNlZXKEE0G OJcvEO5wCT70SQ9ZdLRz79O8Nt/0CFsR9Ul7+t0h0CkgzoJktHnhDGNVTvt2F+06j1K4 h0BE0U4IAOAu5vYh1i2buqPMeY66d86/08BkUGj/Xz/M+QWKqufTTQC5wS48AGhxiizD IYVnngBYm4JjqK0qSS3U6L6DioaxlMA0mbzRXKF5JPMKVZhASGG0gXnWrCq2olx0M1eS WfDQc4uuoHMque+EbkUi9V9M/SZDw1HkR1FXcQd9EamPNjIfy1vfOK9MAS75Dkq0AIE/ gf2g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@asymptotic.io header.s=google header.b=uDaLoYJt; arc=pass (i=1 spf=pass spfdomain=asymptotic.io dkim=pass dkdomain=asymptotic.io dmarc=pass fromdomain=asymptotic.io); spf=pass (google.com: domain of linux-bluetooth+bounces-4900-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-4900-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=asymptotic.io Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id af79cd13be357-794abd51b59si272399185a.678.2024.05.24.18.52.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 May 2024 18:52:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth+bounces-4900-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@asymptotic.io header.s=google header.b=uDaLoYJt; arc=pass (i=1 spf=pass spfdomain=asymptotic.io dkim=pass dkdomain=asymptotic.io dmarc=pass fromdomain=asymptotic.io); spf=pass (google.com: domain of linux-bluetooth+bounces-4900-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-4900-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=asymptotic.io Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 2A69D1C20BFC for ; Thu, 23 May 2024 15:53:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6220A134A5; Thu, 23 May 2024 15:53:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=asymptotic.io header.i=@asymptotic.io header.b="uDaLoYJt" X-Original-To: linux-bluetooth@vger.kernel.org Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C87E125C1 for ; Thu, 23 May 2024 15:53:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716479595; cv=none; b=Km+wbPjO9wLZeitksNOjmWcfGr/RXFrmSOAZHn3yfSZL2xQC+tNL7RQ6+ZD35SCf0InHfAeWKkTXhEdy3790gLV3uU4/aNKSFr/6+6rT51qxa8F3LHokiSOHiocdzL4Q6UdZ6qUjii3/lwVF68vMnY8EAkgG0dmhMmZD8mR3Ad8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716479595; c=relaxed/simple; bh=tdW02JtjijsdxTCSM5tkxlwFOP/eLVq6eZod7wkmGv4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Ie3h7ZI3l58QwchGHwSKRqOA9gW+tO6zi9pJUB255YroXgAe/u+G4oAijL1wx+L8BfiJOfaAea5jejAe/fHPgk4LoY4yXyLxrufoV5rjtfUjpciMHzYKa5Z/BRlF/Z3zcFzwwphZYYaWWcFXApts9+nxf4XOlBc8dBwfY8SBeXg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asymptotic.io; spf=pass smtp.mailfrom=asymptotic.io; dkim=pass (2048-bit key) header.d=asymptotic.io header.i=@asymptotic.io header.b=uDaLoYJt; arc=none smtp.client-ip=209.85.218.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asymptotic.io Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=asymptotic.io Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-a59c0a6415fso1213006466b.1 for ; Thu, 23 May 2024 08:53:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asymptotic.io; s=google; t=1716479591; x=1717084391; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=DwnwPjzccLpPvdiGanFWdjhMbKs+Z/p4Bub/3nQbGtY=; b=uDaLoYJtGHiIDtQZcWnNk/UaPux9h1y+gLcXqosBYirAoU0V5JnPDd0N5KAGJUpGTp Pdz4EbEJgpc/gL3wPuVPdBktPg6kkc1sT86QCCLfSJmPu3alxi42R5YT1rMhzpTynoFh WCKq92pI2aGf0sKNED+uVb4FwDeyl/5y9udgj+Dj4Mf90VC0o/+ixOVWeuc7GAe+apHO F0sXGGp7xovng4ms66bJ6VTlKlOmijX/WdJAerVV2uaQGdBBfBh3NcxkH2e5XjcCIaQT MnCaOJjPdUSw/fF9xIRIP1bnZx2NWEX3zyHZ6M2KskQDykBy9o/V69zQsaJkPRzcMcc9 Z1FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716479591; x=1717084391; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DwnwPjzccLpPvdiGanFWdjhMbKs+Z/p4Bub/3nQbGtY=; b=VsJjih4/3XXAB8dGg240mjBEXCJQTOxZBOf8UpgCvokPtqiVF0TWuzRQSZt/S9vtdF fsMiyA3jfTb6dbvz1Ware24el5sAyGQEoyKzhWctdVhVaxII4M3gkjlmMwVK//k5S0Hl GptZde3dBCHED4aTscEVVupoM/yG7htnzJYsewQzvg0i5xXwstotLqa5BH9CwNe1logY GdtHDaS5tnMLIyBcB6f+tPU27zylZ8BunvIwUwwjTR/RsW09awI9AWwGrz9yohTEUoSu vgXiub7i4suNUcGA8byywKVQudOGK/c3ANpXLxWti4/7DnIp1fKMtxGOOJHRYUC6P/Kt sRJw== X-Gm-Message-State: AOJu0Yzb1CV/nMKz2jNd3QgTKkv0VB5YtuMLEX+32aJ2HTBgpNYuCAsv WOX7AalGQ+xxcowdW6gYwHg60fxqCtrZkGGQxlcbX3lPUdBV4btimhLdfMZJm+pmMREbi4FcKPc W X-Received: by 2002:a17:906:34cc:b0:a5a:6f4f:e54e with SMTP id a640c23a62f3a-a622818e3ecmr383455666b.65.1716479591235; Thu, 23 May 2024 08:53:11 -0700 (PDT) Received: from andromeda.llama-bortle.ts.net (bras-base-toroon0359w-grc-41-70-27-101-40.dsl.bell.ca. [70.27.101.40]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a5a1787c686sm1947600566b.47.2024.05.23.08.53.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 May 2024 08:53:11 -0700 (PDT) From: Arun Raghavan To: linux-bluetooth@vger.kernel.org Cc: Arun Raghavan Subject: [PATCH BlueZ,v8 0/5] ASHA plugin Date: Thu, 23 May 2024 11:52:56 -0400 Message-ID: <20240523155301.140522-1-arun@asymptotic.io> X-Mailer: git-send-email 2.45.1 Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Hello, This is v8 of the ASHA plugin patch set: * I've now refactored things so that fd management is all in the profile code, rather than shared code * In the process, there is bt_asha_device struct, so the transport only interacts with that, and access to the shared bt_asha struct is more cleanly mediated by shared code * Absorbed the connection parameter update into the first two patches for easier rebase Cheers, Arun Arun Raghavan (5): src/shared: Add initial implementation for an ASHA profile profiles/audio: Add an ASHA plugin test: Add a script to test ASHA gitignore: Add compile_commands.json gitignore: Add __pycache__ .gitignore | 3 + Makefile.am | 3 +- Makefile.plugins | 5 + configure.ac | 4 + lib/uuid.h | 3 + profiles/audio/asha.c | 533 +++++++++++++++++++++++++++++++++++++ profiles/audio/asha.h | 38 +++ profiles/audio/media.c | 30 +++ profiles/audio/media.h | 2 + profiles/audio/transport.c | 194 +++++++++++++- src/shared/asha.c | 368 +++++++++++++++++++++++++ src/shared/asha.h | 64 +++++ test/simple-asha | 166 ++++++++++++ 13 files changed, 1410 insertions(+), 3 deletions(-) create mode 100644 profiles/audio/asha.c create mode 100644 profiles/audio/asha.h create mode 100644 src/shared/asha.c create mode 100644 src/shared/asha.h create mode 100755 test/simple-asha -- 2.45.1