From patchwork Fri May 10 14:27:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iulia Tanasescu X-Patchwork-Id: 13661680 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2058.outbound.protection.outlook.com [40.107.13.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B7CE716D4DF for ; Fri, 10 May 2024 14:28:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.13.58 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715351287; cv=fail; b=XNyv/JQG7BFYNGzIeb5+UWNifLHVkhRzuP/Gqn1RSLjX58LuzQSlmvN3gtRNS5DIWILO1PeZh5bsDyRDIYk0xsMSNS7DwmpfZng6nBzR8m+e8LDfgyPDG02rHunOmVcJRnxNt6rJWscAul81ZBz4Fd0l8f1YggZc+TxmJRh8c8A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715351287; c=relaxed/simple; bh=zH8L1UqihVsOEJLKu5ibWYku67wK+eVD9Go8huWHCnw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Mm6Qquz1LCSaPQl0e2vkzdzhVN4P3Xao0JKVQl/KiWfVKJl0cWXnj3qUE3q5PNC88r0cBosBKirWMoOLA3isSt1Y2V558l9czJ/W8zhMQT8tspoYx1A+XhRDNFYkj0rKJYoRwNCZ3um3fw7AvTWnf4Etmc7UymLuXGLQQlKu9XQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=crlqjYNk; arc=fail smtp.client-ip=40.107.13.58 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="crlqjYNk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JCKQZUsdFZioCtF65Th6bD0PPG8n5TGeNXXQ5HHOqPBO7dPlgb+916DQ/eJegE1wO3K33Du54wY3pxBuuOOdButIvxKmaiD6iTdjSyi8WHP8JNnIxfzmaY5aMHICGJsjOZUz4Fy/6UwGrZAl9+MJYQNK6Hcw9375K3m01ArX92NY3JnsP3zQ2ldPm3ABO6mfHvZL1fg4S4FciA8TrX0Lvn7XLbbf/lXHpwKxgXyLFIIjawiB/Lnye9gchxOT3YKom9U+GB/U8LvaxP3n3M8oXwErRhWecc8bSpNVgpwTth8phd6jQHwO6k88avvPjU8PEVjfzU2lAhXEKX8fbSMIhQ== 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=2gKYGZ+RP+lrZQRa9y3LnILmLVfQe8GWcpI6XocZXec=; b=E6kS2chvzxqakBsmJqWzgMLXqq1p6jRrAoNudoaQMn18JppzgwvXarydsCyPSGN2M3NUIioNxA4u3LJjKXTP9ia4vaSJBOQyKfw0JaVTby9BOCrnCa4H9amTecFBndFKiWMozzs2tCgkFE/UMUz7gQiq04ylDONiieqe+NY32i1AFQ9kU+oiUWc6G9VQX9eGx9nhc+NWQyYXeN2eEyGNxp54M5IX9v8EY91uOKSYsrlnxNV5fL1pC/oLPKm4HX4S/gIVhxmgNlGvSCZcrkh0D3aE9jx3I8RQX0TdKBh/yeZQuce91rQW7+YtYN9/bgWXRcHtnZOIYdmiPf+zRzPQHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2gKYGZ+RP+lrZQRa9y3LnILmLVfQe8GWcpI6XocZXec=; b=crlqjYNkdCI9qt5ZqMIgtzUqxSrMeoPYcX7T9ui1MHIXZyyvIqXD3PhX1vUrNphZdTQtFQwZIfm8jy0ArEDki9+SRHgV5H72x8kgfA57dEyHuJRne6wOfWQxveWuL5PmcrOsabwEUIn6sv9kQJJK6DZMgR9t/I73zZpU72KemWw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8898.eurprd04.prod.outlook.com (2603:10a6:20b:42d::15) by PA4PR04MB9592.eurprd04.prod.outlook.com (2603:10a6:102:271::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.49; Fri, 10 May 2024 14:28:03 +0000 Received: from AS8PR04MB8898.eurprd04.prod.outlook.com ([fe80::5e22:869c:33c:9654]) by AS8PR04MB8898.eurprd04.prod.outlook.com ([fe80::5e22:869c:33c:9654%4]) with mapi id 15.20.7544.048; Fri, 10 May 2024 14:28:03 +0000 From: Iulia Tanasescu To: linux-bluetooth@vger.kernel.org Cc: claudia.rosu@nxp.com, mihai-octavian.urzica@nxp.com, silviu.barbulescu@nxp.com, vlad.pruteanu@nxp.com, andrei.istodorescu@nxp.com, luiz.dentz@gmail.com, Iulia Tanasescu Subject: [PATCH BlueZ 1/4] shared/bap: Fix uninitialized field at BASE generation Date: Fri, 10 May 2024 17:27:51 +0300 Message-Id: <20240510142754.3901-2-iulia.tanasescu@nxp.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240510142754.3901-1-iulia.tanasescu@nxp.com> References: <20240510142754.3901-1-iulia.tanasescu@nxp.com> X-ClientProxiedBy: VI1PR04CA0133.eurprd04.prod.outlook.com (2603:10a6:803:f0::31) To AS8PR04MB8898.eurprd04.prod.outlook.com (2603:10a6:20b:42d::15) Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8898:EE_|PA4PR04MB9592:EE_ X-MS-Office365-Filtering-Correlation-Id: ec997fd7-8841-4f13-096f-08dc70fd66d6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|366007|1800799015|376005; X-Microsoft-Antispam-Message-Info: ALbbDblpI7h7JQHPwtRjfUJNJ8HJF2Nioxz8SAZCrDD8fGyD8XaxC3alRmLTe4tbLvOlfWd3VcfVQi8oP5jvcnvS2rHjHNeG5wC/Ms+9a2AJB8JCdqfZ7OoyxNuagV+1K8O0B7KXZXyzNXPz8Y1rU4y5lcXlyQqBvVS4VTbmRpjLQocPIvM0i5zDMby+Z51A0NWwv/tOUrlR7vr/d2HkvLz56a2jL2MQNtgezRN/zDy/WO9a/ESzZaKZcPY+isB+tcYLCIBBI+9FsDtK9OCH70UDQxaYixbxkUJGJRBg0r8WqtFZHJF8oykXdEVL/Al8yMpioUeWFiSCnvsWpJY9lSPijyttRfSzF2zaqDpGXISsLJjrkFIu9VWL7kB2YyqY9HUhGVu+O6xjUn1e1j7j9DtynrmdPbIwCPjXHBerbfK1EBjeGOohqc5R32YK9s2snwn3owFW6/9N/1pSrGv0gdjo34cuuG42LUUfksjNjFh5gKlFmXjIJiIfn7TMCb8pQW4kpVgB8g8YnRaO6wtZiVeoZIeV8b69Gb7fJ9j8WR4NEFLa3iI3bEpIdLEdSJsvvGpRMJ3tTklJqgbmzV2r9oUuC5uPEyL91oyly3KwWH/EDWmyw+cbeXtg5f5tvpuEXvi2fVPK7YM1k4mPpQ3uW6QB1wRdk1MAmWTH47KPzOu+OejG4ld4D7vG2pPRQjZ71+a5O8U1I97upGviLE7H0d3JQQpgTnQtYWjFHa3NKEDISg5+/g7onXBURkS6oSlvWwXBmtuxunUKn+74RUoGbh1PCSRMk6qGXWc1QjhpO+JYzvfSgh2ioh94Uop+1GiqhAnDKfRioOTjSzzrqyM6OnQiMRZhs9Kl1RXLPtwWGArZc0kSVoKQ6ioaPyDxNLxWQl8tEYjZ7cO5U+SO8jJKNvKWWjtiqs/mYTp4UYKVc55U5b3fsMFpyu6n478AA2Xjd2WvtTG7zWc4NU+2WBSl340w2xt1AlW5ssPIYDoGSXajM3qxud/BijJCyPVIeV/IclIELSdC+vYdmuCt8fNnszSvub8gEnN8PesDpjt6Q2ipR9qQFDZ38vqG27GLx8UkdEX4sCgtQbvthCVheEtb1UJzvTq7EOl55ULNPbyQGvSxlt+/Hy4nt6moatqz1qK3B/VnWyX2RIIXKqSEOPtmogCndIcidaBS3dk0esBXIrdw14ZiosUQFizq5mOcDBJmRU9IQl20ygZc9/x7OLPWipKUA0cucHesaqYDrRrT5IT5El8Y4GXrcbYH1v8bxYNau3cicFx8uN862FsbSz/CKA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8898.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MMWAwzLNXqe0lNW0A8G4G1krAlzTnZc0NfzE7Ne0uXOeeNjLRKR+eV0OivcU7XBC4zhYsmRa+57EJY/GEIPt5otguF9Cr6I/4FXeqW+0hL4bjjFHUj+RTCRKoQH3Qc4W9SKPWCI7ouMSNHTfqGpoDtWBsEnt6Lqsp/RrTQp7v4S0b3Pchva3GeQTPTnUTgc6n2oVLMBOiV36NxnXTZmC9TZ6vCbAu9cuvnyBw7/H6LGA8MqKGJhmCJXMo5QB+8bsEwoAvA8SVy6teybG808ucMai9jgP14Qv/xO6YfhmB1jgP2BcY/NckmSDRrcMGyhc2q23arz04PrRuhCBUnC5fFXRSBCMjou/4rm17dYBnAdng19EChz/LaB2/oN/hlwyIiYXQUWV+bCC3UWyrsxE/FidVjCRVYyK9xmMDZ8ks3YvHlAs5M6atn6mPgBPzShY/H8uWB7K9fht6jURcyleJwgwTRI63jnNRH8m7cbIHO3xqx4cehiUleuGaWzSjBUPLXFO4wjeQy5w+sS4qveZ1Te3RvHkRmVPCPmx8kncvlokCooSTStVBXzTyzij714JbONZWmxshig6Pm4PtRYulT58of8OJnm46Ek5IuvjyZVdPJltaufJfV2kbUKGmyLBFkEW5wsuTrhVbNKMONKKrT6XndaYmD8yOSo5HMHbGgU5ZQ59XsD7pFv6hV1R33rcxQVAoczb1lJNO5+7LezGQbGJkUlAexjUlkbP1W24TAFgruuP2/yROjQx222CHtySkxwUSqWWPrUJ8iL9EqOLMqEZHJVi/5bjFucw8Wd8tD2zOTk8vxtithcZJMU0tAZwjdv/5VJXXkSRrP1BwIvJb/pz96BVGUO0dfHTa8IBfPUwgi9vh+R9CLaRHJb8ihHUnlSegDANuSAswMjeG5kyagCvbpFNicpKxkxShmNJhBmyQzHDWLK/pZ3d7bTZRP45A7Klvq+IP1BG6y72Sp1Be99IgdxJQ1kBKOP0aDoWRwX2SBleSz+IgUxRmxq7JTQsuhlk8Ai0keEb77nslb9NuZNXCvZI+teWB+qCCdbEg3UuDdeksmg0rH79fuHDjfIKc+SLSljMENbxA+kV/i+pWjFRX3L4UHQIj3Fs5FgakwyePVSgffeixR007uYJL/ijq0LsA22emfuUVRtYfCR0gn0rZ6UiN7sg8akSPQSxsHxR3+0sIW3rKl2uqEkPOs3jGGUoMx272DqRl+4g+VYFvmONZx/h8EQUd6ZcIzltUriBk0OAJ+5COkrqqh7dMso6r+OhB1DPl7mgsF1NInJPtmXt5WrEIUfwZf7QqxGh+q1k5lB81r1nZ/Ijjjmav08dJWQtMC8+VkbKwd95D1q6nA5Y8n+lQdpzCh+KOs7MVKgUK0SM/W9BSUckCd+6NXvu9Wxw2yRulUqcsvoEmceWL6n7o/iTsuHcTFB7//2oSJnbFtLjExlGReKRjel8ABe+MeEdiSGMmrXU+RllBsVEcsDsent0he3LWBBd7mIp2gLYj6O6kez7O+FaH9iw3hxA8w5LsmKWMjeLxAc0Kyo3DlvDkVqWeH3AUvC36pWJpyYhXxJvcLiJrNrnGghK4iug+o2JAflzlOUll2NcUFJGCw== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec997fd7-8841-4f13-096f-08dc70fd66d6 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8898.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2024 14:28:03.5275 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZDszlhGnfq6WQpL1UkwkXqideb3VbFsM47CdjcF0V/dbAEYLynmXpZJBgn3mDDwQri8gN10Vnbr+dZr6Jt2W7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9592 Currently in bt_bap_stream_get_base, the pres_delay inside the base variable is left uninitialized and it is later accessed in set_base_subgroup, to be compared to each stream presentation delay. This commit adds a fix by initializing the pres_delay field to the current stream presentation delay, before later updating it based on comparison. --- src/shared/bap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/shared/bap.c b/src/shared/bap.c index 818326f45..1316d7c73 100644 --- a/src/shared/bap.c +++ b/src/shared/bap.c @@ -6321,6 +6321,7 @@ struct iovec *bt_bap_stream_get_base(struct bt_bap_stream *stream) base.subgroups = queue_new(); base.next_bis_index = 1; base.big_id = stream->qos.bcast.big; + base.pres_delay = stream->qos.bcast.delay; /* If the BIG ID was explicitly set, create a BASE with information * from all streams belonging to this BIG. Otherwise, create a BASE From patchwork Fri May 10 14:27:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iulia Tanasescu X-Patchwork-Id: 13661681 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2043.outbound.protection.outlook.com [40.107.13.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 994CA170886 for ; Fri, 10 May 2024 14:28:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.13.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715351292; cv=fail; b=O6j/80t5KsKcb2clchuPZtu8IGJmboe4NrRiCjHt88Q0bfhDceRHVXeq/pgMqOW3jlNJJTFsUw/7DhKVnCSen/b9uPv8aXEZi0A+ZbKviFRnUjDGT1KCYmAZPWDzU0vs2DvI3TF3iyx6ha9s686QD4vWAQbOzwr2+FHshylFDow= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715351292; c=relaxed/simple; bh=48RXrvNy375EeYETYM5mPSOrNGDt5z0GlW795TO4Iz8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Q1/1GBqtqQVM6aUa1FPEhlvfks2LXgv5dvYCHRiM43g9z6/1VW3FxIXltBXDJQrRK0PDhXtJI/8kPEzQQCpelj6zIs0S4pqUYgVrHTbK1FSydLYoVpckNjAIEMAHLXpJPpv7OXo1o0bq4R6z6k4hYTNw4mt1ZyG2nPGnZV6Yr6s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=iILP+nMf; arc=fail smtp.client-ip=40.107.13.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="iILP+nMf" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mqedJOjLtFxi9fchtX2RxRxEX6GcA6Sz2wwZua/tzWpF9Az1EGj94WldtCw3cCJ7daXLC+p3wzyt3QKkwDzJMXnF7rpQC5EJ1+PkoJubQwW72yAXEG3+o8D7ZyCbzRqhr2ITJ3cSyucPY6T8/8lGgzhQZCsW4kAAIMJ12iyRcTtWYNJkWp9rov5MCeTgS/QPeAAgF3hbAygHu9ev46mni7A19bfrC658JwPC5ZnJnZkic8OQrckBc8IFY5oH8xFkh+NpIzcmVPU+7VQlEvY/etpWDkZP8C+UXIBsjRAVFm75PB3r8cODXfQP01oFhycWK5xuEL6yhfnuloM3X7MCpw== 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=I7IgsxSrztHt0gsfJWJO1PUV+gNRseW5zhxrF8KNJgY=; b=NbcNNdmvb3lZa8Rpd8LnLGk8WIoy5owTKZd/GWAY/+/mR3MJsjk13EmOkbUnw+4yQN3zGsxRDOS1XfUNcXzs1O4Z8K9G88wTaibODbsa8IfwqATXrCyjvS3Eyy3lYyC50yXZ0HrrJztcEzSDZQ+x3jYLvwwbzTN1byCHCfG82J3Qiyg68rdP58OGosAEGg+XJqn6jBCu+U2qc1ZPWBZ2IZM4FgsJ/hXHPsMHEUYXoyQH0wTckvjQSEMvuNeNc66xXbhcgH1njZAdWjHNSHaG8h2BWRCaKLPmGp5Kx2GpynGcGYTro6cMNUD0mJOuLSJmK0ce7EwYbXc90MeXb/fRQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I7IgsxSrztHt0gsfJWJO1PUV+gNRseW5zhxrF8KNJgY=; b=iILP+nMfgCg3IfFD6IFBxCg8yEncddVKidmiK8c3Yt0AWLektBLAcT2DXM+SH3G4GrTeLEDaUpkQJEjXsQwTv5q6OllMKv4wxp+qPWRqRW6lgKftfmosLtJ5krgby6yLVKyzGkI3gx8syqIMWR1ahIXoGdX5aNfE7yiePdwRlMA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8898.eurprd04.prod.outlook.com (2603:10a6:20b:42d::15) by PA4PR04MB9592.eurprd04.prod.outlook.com (2603:10a6:102:271::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.49; Fri, 10 May 2024 14:28:07 +0000 Received: from AS8PR04MB8898.eurprd04.prod.outlook.com ([fe80::5e22:869c:33c:9654]) by AS8PR04MB8898.eurprd04.prod.outlook.com ([fe80::5e22:869c:33c:9654%4]) with mapi id 15.20.7544.048; Fri, 10 May 2024 14:28:07 +0000 From: Iulia Tanasescu To: linux-bluetooth@vger.kernel.org Cc: claudia.rosu@nxp.com, mihai-octavian.urzica@nxp.com, silviu.barbulescu@nxp.com, vlad.pruteanu@nxp.com, andrei.istodorescu@nxp.com, luiz.dentz@gmail.com, Iulia Tanasescu Subject: [PATCH BlueZ 2/4] shared/lc3: Add missing LC3_QOS_8_1_2_B define Date: Fri, 10 May 2024 17:27:52 +0300 Message-Id: <20240510142754.3901-3-iulia.tanasescu@nxp.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240510142754.3901-1-iulia.tanasescu@nxp.com> References: <20240510142754.3901-1-iulia.tanasescu@nxp.com> X-ClientProxiedBy: VI1PR08CA0216.eurprd08.prod.outlook.com (2603:10a6:802:15::25) To AS8PR04MB8898.eurprd04.prod.outlook.com (2603:10a6:20b:42d::15) Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8898:EE_|PA4PR04MB9592:EE_ X-MS-Office365-Filtering-Correlation-Id: 433d0e9f-b9a2-4bca-d0e2-08dc70fd6952 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|366007|1800799015|376005; X-Microsoft-Antispam-Message-Info: iLgrcYCJ3Ioy9Rk1QKxwvhOOzNdXauFXOdpEzOx+RgqF4KQu5OQ93vZmAwFHJwNx88qKQuo+MNQFMAAJW2iLzi2Ce7PCxmsFYFQnxFarEIx9OszUnFd3ul7cg3fmbzmcWE4aVEXC1K144H6D4MlVNNR9nFlJ1ZKDp2MGZcQ2D0iOqMGCVwCb6/0BzMfCk7sNDAz3fFzIAaenXqjenPFWr63J/uIUaX3/2Nj9kVoMC/Y2/apv5vaUHDbj+PjXTs16fs5AVaAYEC3NvuXdbVnS7sQmFXJOhmyUOdZoCOT5ZWOWleb+26/lwXbo3dmW7elH7LN8T5+X5srHhe6/tr1FWXP+znSMSJaZw5wxlwwYUbOAk9hoasySp0U2Xp4feBLHImElkl+JmdyukGaO+B8DJ7/LqeSBK1RyH7zKiLALBUGes1HeLCMsnScRQaeNQE9wN5NO+pxOMMrkg5QH85RAEDXLqe6xDRtF9RBor5dvdmDAOgT7jkyt/eKNtaE63EPbCm1jK28muFK/+ZOv6/Kb/gMuFZDWIhvkseV21Wq1fJAe6fS/qeqDLTyh9ynEgS50tNAsbKxkw8OLEj+j4dKswwwUaX04E0HDt38H8f+jN23S8rCMIul5TVuWKIDr23gC/o7aSiwJI52YPpnW5lcs62ZhTkYCSrrEElbBQJg5z4/0SV7936fWqi5CyzlTPrw23WJE4ZO7F4dumswgIU2yCt0zizjHaSCgin3p5rOm6+H247H77+841UposMoCoVqS+p7LxNy3fcJHPJSu5naXKsOIBvVwmmxKVmqMz5XZL5+dNAIy5B9WZ18tuht1epa1XCOZVVfeDVz+2j7IH3i7pLYQdF+gS+gTXto6ZMMeqjaZ0zI/xD8uCXkY3SBFeO6NAer/Oaxm+dSdDYFArUIH8Itz/1WhtuNgiBsA5WwwDnRbmHuYhus8mBMkLGS9FhbZv+D8E6DvqRbyejOZjiahHuwZ3sQHUtaRU9nGHexNC3/h8g+Xkh/4Dk67p9yHml5UjYQMMzwNvRGqmAIIQKpxwUz8A10haFT+Cp3Eih/QV2VVzoV3RdD7g5kFSzka29hLLq/X7PFJQHWmqeOKr1UTWn/XH/8D2UK2oNZ1cBSbTGi8Y63JUdOBboGFxckCau2+Rz5OeDpsPXXA34Zmol6BoqsL6n5wiHNmPM/ssGAtENPQ2T/9ZIlPPrUfCyScnBZzjPtYwsuOSW0HyQcfX4uBYD+BPKGLUBte2OwvRF1Q+uIx6do5R1GPOK/fK6Fa4Ju0qu+A6FCHPV0yGHyOcZC0tQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8898.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lyPkPAmwaAF0Se/fICLLJCGgCZ394RiVxV7Bd37zDazbnf19vNfgucT1RVV862aBScT8EtuT/30fGNSKcoZmzWC8zpCUSgfEZ6l2fJBS6MfixhOxU1SUHTsVR0/CSpmlrSjQ7svXYLam5iLlUySUB/Sq8K4BjcCXdv9Rr4/lj1ACSibi+RQ3WineIkT/4zQNCuLEeU4WNGC3QCvLa9s8nnph1qGbBvX2hIGJyNrme6HvEpZ4BjD8xBTj9X/JqPmFV5UL4TG1oKs7RL38xQY9Afr9K0b448CDjuVrK8U8j4ZOAvSkpckiBmWdhqqF+r82Pwrgje05N3HOJ/dKz8g2SmuFQ1dBZB8CMy+r07GfU3uVtBetFbWDDVJplCw5gReE0vLqSgZI9AL4LQ8vgEn70VoL7wZFkmlEnvU36a3pskOZR2Ox/LxGSFphSFlqzsxvWEaVK1Y3UZ1UFmoWDvcOhUBvWIvJtXZov7VDcTtNBE7JBZPQiKLZC7nL4qCMdNwc/H58m3OyfbI8J6L7kUQ+leyNY47Y/iJNyompa1XgeB/Aq0wy5LhKDciDOR9DSQmS7/wKa7ySx/Y5Og2sJahA4DeSu02cpSzqc8jbdyRs9YwEjRizITWHOKdXBRVQLdZE0RypPvnoWQU27jOg3VzOR7CBp6FQWCUduwFkfk5Og8/qoi0/DF6FHRi/07nD1jxHyXFqFrMSUztq0OhsbZcxEy1GRG6sfPlbyqNCVSgH1txcUOxvdV9zYYE/1yKWm23GcmJPoDFO3sA14r+0V7ysOy5MdCjNXKBisrWyEKBNasrIAILyWy+TTc+6Gmv2FMVvBkdTor1j8gkC5zZNeSq39D8cQFwNZi4+bxh9YQ8YTJiHpdu2hF7POI34I2LDUC/ms9AGiORTButOzGsaZNQmJmvCMzW0w7s9jiT2b9mscBmT/anjCJpytIWak0YYGM/0AIZlDaXqB5iPOCCtMY5Q+H3dZjLXal2/g3f82K3gKwfHxwqcVIYuy6b4ukdRYbJCx60sRbWesB4OYA0h3M5Q4BLBxALbaZ+LpNFljURzsFLwLYatQChnlNtemYfutS5voGV5p/VlLslZ32V5AYBe3qHWt5S5159CBOazxqLUIQjg0g+QwW3lAQ5BVgpem+SWIMMxT9KO2wR761s41doEJW7R8WXZMmE+plsIhosa64w4g3892Aa6husDBEGzQciqD0wjhIfK4By9o/OB2iiwJq6fJC+EpkA6XLg45H1QQILfc/AjutP1rgLVlqVSecE8Y4e98jLtGtJkdU011XON1KOHbAsqZcMjgndIeb9cCTxXZGb/H5xRf6hbl606MlSBe4vGr33FbRhU7CPMxr8v6wbU3i2CRtE6ZU2HWdhOwgSmIN3wIesArrMKg8njZtPdJFhi5EFcvxkD1WH2iu90ZadUZSIRk36jFAOEyevVRuMENzsThBHClEy8kK1pLCV2i8fLuXyPXpmq9qpNmVU0Hn0qKpPyabQe4cfF/RSVBMislWAvA4Ins0XvPlRVmxK4c38SBZmZOdXcT072eOx0qlZeBV1pSUDn18Ba5Dl158NNh03/jqGFSEx7dx3562OJlKtE9CPQC11kMuaAZAdo3A== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 433d0e9f-b9a2-4bca-d0e2-08dc70fd6952 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8898.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2024 14:28:07.7257 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: r5WL7UK7VtDPJyi1nNIA5n7i+cVx7ezMKxgvV08IW4apQKSuU3a379AU2ETTt8cOJQAcX5G9M7u+xCDdz9JlsA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9592 This adds the missing LC3_QOS_8_1_2_B macro and removes the duplicate define for LC3_QOS_48_1_2_B. --- src/shared/lc3.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/lc3.h b/src/shared/lc3.h index d74412719..95aa21702 100644 --- a/src/shared/lc3.h +++ b/src/shared/lc3.h @@ -769,7 +769,7 @@ LC3_QOS_BCAST_7_5_UNFRAMED(40000u, LC3_QOS_8_1_2_B_LATENCY, \ (_ac) * LC3_CONFIG_FRAME_LEN_8_1, \ LC3_QOS_8_1_2_B_RTN) -#define LC3_QOS_48_1_2_B LC3_QOS_48_1_2_B_AC(1) +#define LC3_QOS_8_1_2_B LC3_QOS_8_1_2_B_AC(1) #define LC3_QOS_8_2_1_B_AC(_ac) \ LC3_QOS_BCAST_10_UNFRAMED(40000u, LC3_QOS_8_2_1_LATENCY, \ From patchwork Fri May 10 14:27:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iulia Tanasescu X-Patchwork-Id: 13661682 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2070.outbound.protection.outlook.com [40.107.13.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0B6CA12AAD5 for ; Fri, 10 May 2024 14:28:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.13.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715351298; cv=fail; b=lC7ON16GJxxAoFPiCWN+/cgX7a1UYcHB/PjfBF+fEoz0mTDI/lr3YLQCPX4tVt7A8CjHSTgpUaMba85AM86JU70hhb0b3gvuJeNDC6xkqj5eiN04B/75bzuzt262q1J8muR3KosTFFHLWHh0wh7hJBdPaWw+kij3ruKaxzflJUY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715351298; c=relaxed/simple; bh=KAGHhR2vv8coLp1Hyr9+VM11xX9sJM78cdstfPw7UY4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=ZKLtiiJnq1iKlY+BHws+TKb4YHPzcxhfdRH/0uAP+haDKvPjLkDkmk5cYizZkW1iLEhvKYVKLBDLcn0N8MWRvEUuDn2+5dLaseiLCj/XxjOlwCMx3mELurMuab7NEKvqWFZMQofNgZwhNlwFohuoz3Os27L2Fe5tiMQJPYepMMk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=hsVbvkPi; arc=fail smtp.client-ip=40.107.13.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="hsVbvkPi" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V4hbadD3rEda/c1BiGqdrqW0HRoP9Mj0gdgSGoY1WoyeAq/WsE9xwxN4Up03lR2US51o0UZGdmRk0enjEcTjtfZhL0cNBOzigKy2TN01Wl9C8bX58S5gmxZGqwfAayUDzpeiI8Oxmc88xK8YgGrIJcReynwNgu3egz6SMpK+QBseB5oq08umXadNp+tYNWR9esUnWJ8B0GtAIEBLl0dLq963xQiu4UhoJrWKnvzKAWXY7Czd41cTnfNUpIvtq+xa6ZR3RA46cvRqSspOnE1JWLLfqFuIkDVOWMr3YalXcIvO3v1vFHo+BkufYasQeS1KLgvjI4CjzLaxfTlX9qYidQ== 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=INa86BgwBvboxH60PXydDGjgQWkd4aUPJGfxd7vo65E=; b=A/KD/MEnx6RbEQH+DImEJ0y0V1wcF4rV2SYMQLwpKtnJ7mQzMxXRmUCMD/s9mxjQ19mEl07C4/SZQ9f11t+HBxQdKDdG1645WFFUoJZwWAbOY+gEPLZ2duHh3sX2wtPXxvXPPEy/16UWd0RbWVDfuTHTQMD3nxYpMPbdGaFSHq4p2hn0lkmRLrgX/GgyU/yc+rlGUtlsykem0zmxbHldHWdN3i8aLZi4Eu5XztTdYej1bi8hQw74VCeigBCh8KhIqC7eGcNghi8x3rBBXjFe4csZLAlgSlmNzh5aSIWDiQ8W46p/PVPu1ATsmfFLDHI+Tkj8gAM3uOkYq1kOcAfZVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=INa86BgwBvboxH60PXydDGjgQWkd4aUPJGfxd7vo65E=; b=hsVbvkPiBMDykMOdiGv+O66Ja1CwzsBxEXJPr4uANIb6cPIcRn8J8CUMBxQD2AS1Y+Cc/SP4CKDVqD2xctwUTZBmpLcvLEu/5uEVlehr25nwRnkn++h39fnrtwuHF1R4uwsRKmhJNRIpdebZytUxp7z8Cprz2u9+OWZl0kXQdYI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8898.eurprd04.prod.outlook.com (2603:10a6:20b:42d::15) by PA4PR04MB9592.eurprd04.prod.outlook.com (2603:10a6:102:271::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.49; Fri, 10 May 2024 14:28:11 +0000 Received: from AS8PR04MB8898.eurprd04.prod.outlook.com ([fe80::5e22:869c:33c:9654]) by AS8PR04MB8898.eurprd04.prod.outlook.com ([fe80::5e22:869c:33c:9654%4]) with mapi id 15.20.7544.048; Fri, 10 May 2024 14:28:11 +0000 From: Iulia Tanasescu To: linux-bluetooth@vger.kernel.org Cc: claudia.rosu@nxp.com, mihai-octavian.urzica@nxp.com, silviu.barbulescu@nxp.com, vlad.pruteanu@nxp.com, andrei.istodorescu@nxp.com, luiz.dentz@gmail.com, Iulia Tanasescu Subject: [PATCH BlueZ 3/4] test-bap: Pass test_setup as test define argument Date: Fri, 10 May 2024 17:27:53 +0300 Message-Id: <20240510142754.3901-4-iulia.tanasescu@nxp.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240510142754.3901-1-iulia.tanasescu@nxp.com> References: <20240510142754.3901-1-iulia.tanasescu@nxp.com> X-ClientProxiedBy: VI1PR08CA0238.eurprd08.prod.outlook.com (2603:10a6:802:15::47) To AS8PR04MB8898.eurprd04.prod.outlook.com (2603:10a6:20b:42d::15) Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8898:EE_|PA4PR04MB9592:EE_ X-MS-Office365-Filtering-Correlation-Id: 5ac44968-117d-47d7-fc69-08dc70fd6b34 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|366007|1800799015|376005; X-Microsoft-Antispam-Message-Info: OoXk2lmTROP6dDv3Hji/MAQxrEWZt5l0XV2dzixoXdYQCQVv8tVVFZKtmXDOnkjKa4OqAwmBvvZjnA+u0+jSzPZ6v9xcUDnieAcEsFIGfJ4WNsnYHARYBvZeRuosw55KoB6PBrLFNwcyJIL53DfOYzxkDTNFUMB2gJ50m/TpUeMf2fw7wpJ5nA75LiHL1EC66N7/kSO0Zldsv+4RJVgUqHVxwW6hdzl843xtMMB3Cmb42zLXsStpzIW85i7avFU3HDujFLIyuRLv74nNOG6XliNa71dJ7KHcOqqZdh+p24RxqyAnn41JFXYcB0d3xkxzZYNbGRz7kPGr3nIR3atoCe1mWyNTDsEY6yzq+1z15gGHdV22mfjtzWcjsCNzK77Z2Cq67POQo4MhxpIJ6NiAztBQr1m5BsWAoGMUr8vb8/M/Ig3/hIrYl2oUVYaBw6wtSKExyXdpTXWPaZeBzI7xR/b2M7GwHWySTLTEB4ycXGYoe2uVil58IPU0hmf3CiQcJkzt3mehame0H2jsI+9nWnj2QEToHZlL+pTrOdu8nMG0WIvUinWUfnn6QhOmBUNvr9Axi788Od6/Vs5A5GDhdQRq4kosNYny26fMx4MgN6mNObiZvCTfxUjFmHepboDKORosOkF/KtMEX9ki/5fmX+uZat00fzFyF4zeZm7gEI+jek71X+9plaMC5lmPGde/jxbLWAX3Af7uVu+4RCa1dbE1O4femEeHpmG6yCfCbvI0dfvaKupgxvHlD8R3vulvy0uTThgxr6KvUouQPE+B5AuQrfIxomCWQdV6GpELh/qd1wTpIU21r/uSA9QDiIEEPcVYYrVHHWCFDxC3VNyx94cuzGk69UmVI0YAgSZnMOLNvV6EOPoJR4e4kUhJM4AUpoGob2fglsrC++GyIcqWfqt5luYIBtl6AAMihgFZnPg2IW8KYwl7bbvjGL1n2OV9uXWpRpi7clGFIpP9oKNsuwTC5OGcDwRM/GxV99Izo60vE5Q2TFNa8q2Ocr0e9YgmoWomzuetWy31yMWsZyI+6f5MliXSExRJsCIaHALynReZlpEscwvEsejt0Hyael8fOv1366B2eF24Hur/Jl1qNzqKdIbel+llxGvigG9+t1WYGXpRmQlFtVXSU4CAuxvg9T7+7NYZ+JbQuTpWjXq4qZE6LyIMQBm8tt0/azbVelKhtBLSVzmfq/psIu9ENuGUTlIR1PPVYeXeOniajDy0bqZCyKQ0hmpNIy6WrPHHwhP7Qov+GqeDaxTLsfUq5DMqpFOGu3ONYZ4J5fP3/XeYTQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8898.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IfiklHQWWYcTALs0u5+MKFv2XpBReHSlwwt4eXwnrE6QZZaa+t6+yf+Ng70598qMb0SOW/ppsRvG4VaFFyUnUY5kejwOrflQw0dPLDGpm905wOsfzFAOQHSmawxcxpgNKOx8XIOH1sf+7j709tIR7pt6UIqGI4+u/w9RhUheo/bWdEaPwNn4x4oQM9g9bDsiJzhcBsRMpAOrqWup32lVShi9MXnI+ajaSjck4phyGZ8boxYcWN3xnptSJXuN3sxstRF0kLwj73Ba+im6X4Is9G+mPUqWZ5InWb1qXIaP11GjSy7Ha2Sr7wXOmsltSimGONYDPI8rYwteBDyfOcHjLCQrqFDJKAlAb1w9ZsXOFi/KBWktFWEjhdtvLyl3x6x2aYZKuV+yhOBUUPn5+wDOyuvU04XcZxQT+huQIZxH29EJtVCy0ZH2GjOw76YQICuCC89JCY5Owi6VX0kSjhYGy7eRu/ODyFLH1JqG/7gRUivwXR9BLG9tgsRDXaE4Q4aCpJQw79qEQEZFgcjW0NjS6dybRu5Puuk8lZKlGl4o4HabCmDR/ntMy4s/l3QDvkKG9M3JcuvMYapgWsXjQep5Hr56MDoy1DGRu469wCXGFTMJ+yFYutt+JV8p5TEpXjhkrTYNIBcNKcv6XuB/k670HOc55olU6o1ZCc4U2A8PkexL9Q7hUYfFYZtdHWYY5b/3T8iI/vKA55qO3JQeGCSrinM4Rf3zidGw6h4fLDYA65KXXvmwqVPQrq83+g+l8SvPOtTwwAgWA3P8aY0JekQxVq/xu+LmfdQmso+gtvOOdlH+tqByMxHhiTDaCDqzECiBKLB2aHUH6tNf09kXJcUaCf0bU6agNJ5LTdGE2cPFkjnAcpro44KxhTptwIR5fL6ZwtR5kh1S2yKOWOYCPBygszZYatxdZlsdXKf1KdzKPETdq7vNApABk94rrbwEySNDGY/nH0hk1FwN4Sxy8J3Qhw44t1Q4wpJ6I2Gue9njSm9DofsUjlw9z4t0mSHDIQCOSuithUKl3Ld9iYM+DmWbfrffTruSNOADgg0KXfj3kC2qimZWhGtEl+0D36ckKj6bJulYe765KKkeX2jvIxA3O63lCZNB0qYiidlpjTjwQ7b5qFpW259AZZhh+jBbBM4ZvJ3x3umD7WGkNkD07e2tDJRQb0mXKAvSG1uuvnlMxUwZIJEjSwRxC0pFOZ08NeTMj9QYzMQNpZ79OJ9X0jk7fjKQHm0Hgk+bW7wvCmui2SCgIqmZ17UqsNKGXHYlfHVLBdZG1qyyXQ1x7MM9tLTJ6gnu1R3Zww5tLP/E4QJdMLro2ZVaR0WhDfFNWUG+Z8RKw/BbrTUryD0h260EaO/N5lS1VPWswLcN9aV6kFFXdEZvMf/5w76iLY2dRfVLkfKHsn6aUa1Aor0tBTxxCxCX5EfuBuPB9K4KN6G8nVtmfO48aUaYp2t1OB4GkAyafHbCBorLIqhi8PjcP3yz+xNI88jB+hVFhza07Y0eWv5h8tNNOMFzAtPdRjhE3q3BBNi6BEAEm0MTMpl20y6dBVMxqRyxXqlphSzeMXIDzGiNJB2TQKGFwpxEgRTM07GXpRl4qQHWpBxK9dS7SmSuxvsxsA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ac44968-117d-47d7-fc69-08dc70fd6b34 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8898.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2024 14:28:10.9357 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tk1iB66fvfoRnr7XNpWF7OiPwLVqQgYECr94eJhtKLp6Ge/zBNfF8/RoxDM7LsgCZnbDEvtQ/W0bbFPUlLeOdg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9592 The current test_setup function is only targeted for client test cases that require service discovery. This commit makes the test define more generic, by adding the test_setup to the list of parameters, so that custom setup functions can be provided depending on the test case. --- unit/test-bap.c | 584 +++++++++++++++++++++++++++--------------------- 1 file changed, 332 insertions(+), 252 deletions(-) diff --git a/unit/test-bap.c b/unit/test-bap.c index a465597a0..c6b3a2b47 100644 --- a/unit/test-bap.c +++ b/unit/test-bap.c @@ -4,6 +4,7 @@ * BlueZ - Bluetooth protocol stack for Linux * * Copyright (C) 2022 Intel Corporation. + * Copyright 2024 NXP * * */ @@ -67,7 +68,7 @@ static struct iovec lc3_caps = LC3_CAPABILITIES(LC3_FREQ_ANY, LC3_DURATION_ANY, #define iov_data(args...) ((const struct iovec[]) { args }) -#define define_test(name, function, _cfg, args...) \ +#define define_test(name, setup, function, _cfg, args...) \ do { \ const struct iovec iov[] = { args }; \ static struct test_data data; \ @@ -75,7 +76,7 @@ static struct iovec lc3_caps = LC3_CAPABILITIES(LC3_FREQ_ANY, LC3_DURATION_ANY, data.cfg = _cfg; \ data.iovcnt = ARRAY_SIZE(iov_data(args)); \ data.iov = util_iov_dup(iov, ARRAY_SIZE(iov_data(args))); \ - tester_add(name, &data, test_setup, function, \ + tester_add(name, &data, setup, function, \ test_teardown); \ } while (0) @@ -740,22 +741,25 @@ static void test_disc(void) * The IUT reads the values of the characteristics specified in the PAC * Characteristic and Location Characteristic columns. */ - define_test("BAP/UCL/DISC/BV-01-C", test_client, NULL, DISC_SNK_LC3); - define_test("BAP/UCL/DISC/BV-02-C", test_client, NULL, DISC_SRC_LC3); + define_test("BAP/UCL/DISC/BV-01-C", test_setup, test_client, NULL, + DISC_SNK_LC3); + define_test("BAP/UCL/DISC/BV-02-C", test_setup, test_client, NULL, + DISC_SRC_LC3); /* BAP/UCL/DISC/BV-06-C [Discover Available Audio Contexts] * * The IUT successfully reads the value of the Available Audio Contexts * characteristic on the LowerTester. */ - define_test("BAP/UCL/DISC/BV-06-C", test_client, NULL, DISC_CTX_LC3); + define_test("BAP/UCL/DISC/BV-06-C", test_setup, test_client, NULL, + DISC_CTX_LC3); /* BAP/UCL/DISC/BV-05-C [Discover Supported Audio Contexts] * * The IUT successfully reads the value of the Supported Audio Contexts * characteristic on the Lower Tester. */ - define_test("BAP/UCL/DISC/BV-05-C", test_client, NULL, + define_test("BAP/UCL/DISC/BV-05-C", test_setup, test_client, NULL, DISC_SUP_CTX_LC3); /* BAP/UCL/DISC/BV-03-C [Discover Sink ASE_ID] @@ -764,9 +768,9 @@ static void test_disc(void) * The IUT successfully reads the ASE_ID values of each discovered ASE * characteristic on the LowerTester. */ - define_test("BAP/UCL/DISC/BV-03-C", test_client, NULL, + define_test("BAP/UCL/DISC/BV-03-C", test_setup, test_client, NULL, DISC_SNK_ASE_LC3); - define_test("BAP/UCL/DISC/BV-04-C", test_client, NULL, + define_test("BAP/UCL/DISC/BV-04-C", test_setup, test_client, NULL, DISC_SRC_ASE_LC3); } @@ -1160,69 +1164,69 @@ static struct test_config cfg_src_48_6 = { static void test_scc_cc_lc3(void) { define_test("BAP/UCL/SCC/BV-001-C [UCL SRC Config Codec, LC3 8_1]", - test_client, &cfg_snk_8_1, SCC_SNK_8_1); + test_setup, test_client, &cfg_snk_8_1, SCC_SNK_8_1); define_test("BAP/UCL/SCC/BV-002-C [UCL SRC Config Codec, LC3 8_2]", - test_client, &cfg_snk_8_2, SCC_SNK_8_2); + test_setup, test_client, &cfg_snk_8_2, SCC_SNK_8_2); define_test("BAP/UCL/SCC/BV-003-C [UCL SRC Config Codec, LC3 16_1]", - test_client, &cfg_snk_16_1, SCC_SNK_16_1); + test_setup, test_client, &cfg_snk_16_1, SCC_SNK_16_1); define_test("BAP/UCL/SCC/BV-004-C [UCL SRC Config Codec, LC3 16_2]", - test_client, &cfg_snk_16_2, SCC_SNK_16_2); + test_setup, test_client, &cfg_snk_16_2, SCC_SNK_16_2); define_test("BAP/UCL/SCC/BV-005-C [UCL SRC Config Codec, LC3 24_1]", - test_client, &cfg_snk_24_1, SCC_SNK_24_1); + test_setup, test_client, &cfg_snk_24_1, SCC_SNK_24_1); define_test("BAP/UCL/SCC/BV-006-C [UCL SRC Config Codec, LC3 24_2]", - test_client, &cfg_snk_24_2, SCC_SNK_24_2); + test_setup, test_client, &cfg_snk_24_2, SCC_SNK_24_2); define_test("BAP/UCL/SCC/BV-007-C [UCL SRC Config Codec, LC3 32_1]", - test_client, &cfg_snk_32_1, SCC_SNK_32_1); + test_setup, test_client, &cfg_snk_32_1, SCC_SNK_32_1); define_test("BAP/UCL/SCC/BV-008-C [UCL SRC Config Codec, LC3 32_2]", - test_client, &cfg_snk_32_2, SCC_SNK_32_2); + test_setup, test_client, &cfg_snk_32_2, SCC_SNK_32_2); define_test("BAP/UCL/SCC/BV-009-C [UCL SRC Config Codec, LC3 44.1_1]", - test_client, &cfg_snk_44_1, SCC_SNK_44_1); + test_setup, test_client, &cfg_snk_44_1, SCC_SNK_44_1); define_test("BAP/UCL/SCC/BV-010-C [UCL SRC Config Codec, LC3 44.1_2]", - test_client, &cfg_snk_44_2, SCC_SNK_44_2); + test_setup, test_client, &cfg_snk_44_2, SCC_SNK_44_2); define_test("BAP/UCL/SCC/BV-011-C [UCL SRC Config Codec, LC3 48_1]", - test_client, &cfg_snk_48_1, SCC_SNK_48_1); + test_setup, test_client, &cfg_snk_48_1, SCC_SNK_48_1); define_test("BAP/UCL/SCC/BV-012-C [UCL SRC Config Codec, LC3 48_2]", - test_client, &cfg_snk_48_2, SCC_SNK_48_2); + test_setup, test_client, &cfg_snk_48_2, SCC_SNK_48_2); define_test("BAP/UCL/SCC/BV-013-C [UCL SRC Config Codec, LC3 48_3]", - test_client, &cfg_snk_48_3, SCC_SNK_48_3); + test_setup, test_client, &cfg_snk_48_3, SCC_SNK_48_3); define_test("BAP/UCL/SCC/BV-014-C [UCL SRC Config Codec, LC3 48_4]", - test_client, &cfg_snk_48_4, SCC_SNK_48_4); + test_setup, test_client, &cfg_snk_48_4, SCC_SNK_48_4); define_test("BAP/UCL/SCC/BV-015-C [UCL SRC Config Codec, LC3 48_5]", - test_client, &cfg_snk_48_5, SCC_SNK_48_5); + test_setup, test_client, &cfg_snk_48_5, SCC_SNK_48_5); define_test("BAP/UCL/SCC/BV-016-C [UCL SRC Config Codec, LC3 48_6]", - test_client, &cfg_snk_48_6, SCC_SNK_48_6); + test_setup, test_client, &cfg_snk_48_6, SCC_SNK_48_6); define_test("BAP/UCL/SCC/BV-017-C [UCL SNK Config Codec, LC3 8_1]", - test_client, &cfg_src_8_1, SCC_SRC_8_1); + test_setup, test_client, &cfg_src_8_1, SCC_SRC_8_1); define_test("BAP/UCL/SCC/BV-018-C [UCL SNK Config Codec, LC3 8_2]", - test_client, &cfg_src_8_2, SCC_SRC_8_2); + test_setup, test_client, &cfg_src_8_2, SCC_SRC_8_2); define_test("BAP/UCL/SCC/BV-019-C [UCL SNK Config Codec, LC3 16_1]", - test_client, &cfg_src_16_1, SCC_SRC_16_1); + test_setup, test_client, &cfg_src_16_1, SCC_SRC_16_1); define_test("BAP/UCL/SCC/BV-020-C [UCL SNK Config Codec, LC3 16_2]", - test_client, &cfg_src_16_2, SCC_SRC_16_2); + test_setup, test_client, &cfg_src_16_2, SCC_SRC_16_2); define_test("BAP/UCL/SCC/BV-021-C [UCL SNK Config Codec, LC3 24_1]", - test_client, &cfg_src_24_1, SCC_SRC_24_1); + test_setup, test_client, &cfg_src_24_1, SCC_SRC_24_1); define_test("BAP/UCL/SCC/BV-022-C [UCL SNK Config Codec, LC3 24_2]", - test_client, &cfg_src_24_2, SCC_SRC_24_2); + test_setup, test_client, &cfg_src_24_2, SCC_SRC_24_2); define_test("BAP/UCL/SCC/BV-023-C [UCL SNK Config Codec, LC3 32_1]", - test_client, &cfg_src_32_1, SCC_SRC_32_1); + test_setup, test_client, &cfg_src_32_1, SCC_SRC_32_1); define_test("BAP/UCL/SCC/BV-024-C [UCL SNK Config Codec, LC3 32_2]", - test_client, &cfg_src_32_2, SCC_SRC_32_2); + test_setup, test_client, &cfg_src_32_2, SCC_SRC_32_2); define_test("BAP/UCL/SCC/BV-025-C [UCL SNK Config Codec, LC3 44.1_1]", - test_client, &cfg_src_44_1, SCC_SRC_44_1); + test_setup, test_client, &cfg_src_44_1, SCC_SRC_44_1); define_test("BAP/UCL/SCC/BV-026-C [UCL SNK Config Codec, LC3 44.1_2]", - test_client, &cfg_src_44_2, SCC_SRC_44_2); + test_setup, test_client, &cfg_src_44_2, SCC_SRC_44_2); define_test("BAP/UCL/SCC/BV-027-C [UCL SNK Config Codec, LC3 48_1]", - test_client, &cfg_src_48_1, SCC_SRC_48_1); + test_setup, test_client, &cfg_src_48_1, SCC_SRC_48_1); define_test("BAP/UCL/SCC/BV-028-C [UCL SNK Config Codec, LC3 48_2]", - test_client, &cfg_src_48_2, SCC_SRC_48_2); + test_setup, test_client, &cfg_src_48_2, SCC_SRC_48_2); define_test("BAP/UCL/SCC/BV-029-C [UCL SNK Config Codec, LC3 48_3]", - test_client, &cfg_src_48_3, SCC_SRC_48_3); + test_setup, test_client, &cfg_src_48_3, SCC_SRC_48_3); define_test("BAP/UCL/SCC/BV-030-C [UCL SNK Config Codec, LC3 48_4]", - test_client, &cfg_src_48_4, SCC_SRC_48_4); + test_setup, test_client, &cfg_src_48_4, SCC_SRC_48_4); define_test("BAP/UCL/SCC/BV-031-C [UCL SNK Config Codec, LC3 48_5]", - test_client, &cfg_src_48_5, SCC_SRC_48_5); + test_setup, test_client, &cfg_src_48_5, SCC_SRC_48_5); define_test("BAP/UCL/SCC/BV-032-C [UCL SNK Config Codec, LC3 48_6]", - test_client, &cfg_src_48_6, SCC_SRC_48_6); + test_setup, test_client, &cfg_src_48_6, SCC_SRC_48_6); } static struct test_config cfg_snk_vs = { @@ -1263,9 +1267,9 @@ static struct test_config cfg_src_vs = { static void test_scc_cc_vs(void) { define_test("BAP/UCL/SCC/BV-033-C [UCL SRC Config Codec, VS]", - test_client, &cfg_snk_vs, SCC_SNK_VS); + test_setup, test_client, &cfg_snk_vs, SCC_SNK_VS); define_test("BAP/UCL/SCC/BV-034-C [UCL SNK Config Codec, VS]", - test_client, &cfg_src_vs, SCC_SRC_VS); + test_setup, test_client, &cfg_src_vs, SCC_SRC_VS); } static struct test_config cfg_snk_8_1_1 = { @@ -2079,133 +2083,197 @@ static struct test_config cfg_src_48_6_2 = { static void test_scc_qos_lc3(void) { define_test("BAP/UCL/SCC/BV-035-C [UCL SRC Config QoS, LC3 8_1_1]", - test_client, &cfg_snk_8_1_1, SCC_SNK_8_1_1); + test_setup, test_client, &cfg_snk_8_1_1, + SCC_SNK_8_1_1); define_test("BAP/UCL/SCC/BV-036-C [UCL SRC Config QoS, LC3 8_2_1]", - test_client, &cfg_snk_8_2_1, SCC_SNK_8_2_1); + test_setup, test_client, &cfg_snk_8_2_1, + SCC_SNK_8_2_1); define_test("BAP/UCL/SCC/BV-037-C [UCL SRC Config QoS, LC3 16_1_1]", - test_client, &cfg_snk_16_1_1, SCC_SNK_16_1_1); + test_setup, test_client, &cfg_snk_16_1_1, + SCC_SNK_16_1_1); define_test("BAP/UCL/SCC/BV-038-C [UCL SRC Config QoS, LC3 16_2_1]", - test_client, &cfg_snk_16_2_1, SCC_SNK_16_2_1); + test_setup, test_client, &cfg_snk_16_2_1, + SCC_SNK_16_2_1); define_test("BAP/UCL/SCC/BV-039-C [UCL SRC Config QoS, LC3 24_1_1]", - test_client, &cfg_snk_24_1_1, SCC_SNK_24_1_1); + test_setup, test_client, &cfg_snk_24_1_1, + SCC_SNK_24_1_1); define_test("BAP/UCL/SCC/BV-040-C [UCL SRC Config QoS, LC3 24_2_1]", - test_client, &cfg_snk_24_2_1, SCC_SNK_24_2_1); + test_setup, test_client, &cfg_snk_24_2_1, + SCC_SNK_24_2_1); define_test("BAP/UCL/SCC/BV-041-C [UCL SRC Config QoS, LC3 32_1_1]", - test_client, &cfg_snk_32_1_1, SCC_SNK_32_1_1); + test_setup, test_client, &cfg_snk_32_1_1, + SCC_SNK_32_1_1); define_test("BAP/UCL/SCC/BV-042-C [UCL SRC Config QoS, LC3 32_2_1]", - test_client, &cfg_snk_32_2_1, SCC_SNK_32_2_1); + test_setup, test_client, &cfg_snk_32_2_1, + SCC_SNK_32_2_1); define_test("BAP/UCL/SCC/BV-043-C [UCL SRC Config QoS, LC3 44.1_1_1]", - test_client, &cfg_snk_44_1_1, SCC_SNK_44_1_1); + test_setup, test_client, &cfg_snk_44_1_1, + SCC_SNK_44_1_1); define_test("BAP/UCL/SCC/BV-044-C [UCL SRC Config QoS, LC3 44.1_2_1]", - test_client, &cfg_snk_44_2_1, SCC_SNK_44_2_1); + test_setup, test_client, &cfg_snk_44_2_1, + SCC_SNK_44_2_1); define_test("BAP/UCL/SCC/BV-045-C [UCL SRC Config QoS, LC3 48_1_1]", - test_client, &cfg_snk_48_1_1, SCC_SNK_48_1_1); + test_setup, test_client, &cfg_snk_48_1_1, + SCC_SNK_48_1_1); define_test("BAP/UCL/SCC/BV-046-C [UCL SRC Config QoS, LC3 48_2_1]", - test_client, &cfg_snk_48_2_1, SCC_SNK_48_2_1); + test_setup, test_client, &cfg_snk_48_2_1, + SCC_SNK_48_2_1); define_test("BAP/UCL/SCC/BV-047-C [UCL SRC Config QoS, LC3 48_3_1]", - test_client, &cfg_snk_48_3_1, SCC_SNK_48_3_1); + test_setup, test_client, &cfg_snk_48_3_1, + SCC_SNK_48_3_1); define_test("BAP/UCL/SCC/BV-048-C [UCL SRC Config QoS, LC3 48_4_1]", - test_client, &cfg_snk_48_4_1, SCC_SNK_48_4_1); + test_setup, test_client, &cfg_snk_48_4_1, + SCC_SNK_48_4_1); define_test("BAP/UCL/SCC/BV-049-C [UCL SRC Config QoS, LC3 48_5_1]", - test_client, &cfg_snk_48_5_1, SCC_SNK_48_5_1); + test_setup, test_client, &cfg_snk_48_5_1, + SCC_SNK_48_5_1); define_test("BAP/UCL/SCC/BV-050-C [UCL SRC Config QoS, LC3 48_6_1]", - test_client, &cfg_snk_48_6_1, SCC_SNK_48_6_1); + test_setup, test_client, &cfg_snk_48_6_1, + SCC_SNK_48_6_1); define_test("BAP/UCL/SCC/BV-051-C [UCL SNK Config QoS, LC3 8_1_1]", - test_client, &cfg_src_8_1_1, SCC_SRC_8_1_1); + test_setup, test_client, &cfg_src_8_1_1, + SCC_SRC_8_1_1); define_test("BAP/UCL/SCC/BV-052-C [UCL SNK Config QoS, LC3 8_2_1]", - test_client, &cfg_src_8_2_1, SCC_SRC_8_2_1); + test_setup, test_client, &cfg_src_8_2_1, + SCC_SRC_8_2_1); define_test("BAP/UCL/SCC/BV-053-C [UCL SNK Config QoS, LC3 16_1_1]", - test_client, &cfg_src_16_1_1, SCC_SRC_16_1_1); + test_setup, test_client, &cfg_src_16_1_1, + SCC_SRC_16_1_1); define_test("BAP/UCL/SCC/BV-054-C [UCL SNK Config QoS, LC3 16_2_1]", - test_client, &cfg_src_16_2_1, SCC_SRC_16_2_1); + test_setup, test_client, &cfg_src_16_2_1, + SCC_SRC_16_2_1); define_test("BAP/UCL/SCC/BV-055-C [UCL SNK Config QoS, LC3 24_1_1]", - test_client, &cfg_src_24_1_1, SCC_SRC_24_1_1); + test_setup, test_client, &cfg_src_24_1_1, + SCC_SRC_24_1_1); define_test("BAP/UCL/SCC/BV-056-C [UCL SNK Config QoS, LC3 24_2_1]", - test_client, &cfg_src_24_2_1, SCC_SRC_24_2_1); + test_setup, test_client, &cfg_src_24_2_1, + SCC_SRC_24_2_1); define_test("BAP/UCL/SCC/BV-057-C [UCL SNK Config QoS, LC3 32_1_1]", - test_client, &cfg_src_32_1_1, SCC_SRC_32_1_1); + test_setup, test_client, &cfg_src_32_1_1, + SCC_SRC_32_1_1); define_test("BAP/UCL/SCC/BV-058-C [UCL SNK Config QoS, LC3 32_2_1]", - test_client, &cfg_src_32_2_1, SCC_SRC_32_2_1); + test_setup, test_client, &cfg_src_32_2_1, + SCC_SRC_32_2_1); define_test("BAP/UCL/SCC/BV-059-C [UCL SNK Config QoS, LC3 44.1_1_1]", - test_client, &cfg_src_44_1_1, SCC_SRC_44_1_1); + test_setup, test_client, &cfg_src_44_1_1, + SCC_SRC_44_1_1); define_test("BAP/UCL/SCC/BV-060-C [UCL SNK Config QoS, LC3 44.1_2_1]", - test_client, &cfg_src_44_2_1, SCC_SRC_44_2_1); + test_setup, test_client, &cfg_src_44_2_1, + SCC_SRC_44_2_1); define_test("BAP/UCL/SCC/BV-061-C [UCL SNK Config QoS, LC3 48_1_1]", - test_client, &cfg_src_48_1_1, SCC_SRC_48_1_1); + test_setup, test_client, &cfg_src_48_1_1, + SCC_SRC_48_1_1); define_test("BAP/UCL/SCC/BV-062-C [UCL SNK Config QoS, LC3 48_2_1]", - test_client, &cfg_src_48_2_1, SCC_SRC_48_2_1); + test_setup, test_client, &cfg_src_48_2_1, + SCC_SRC_48_2_1); define_test("BAP/UCL/SCC/BV-063-C [UCL SNK Config QoS, LC3 48_3_1]", - test_client, &cfg_src_48_3_1, SCC_SRC_48_3_1); + test_setup, test_client, &cfg_src_48_3_1, + SCC_SRC_48_3_1); define_test("BAP/UCL/SCC/BV-064-C [UCL SNK Config QoS, LC3 48_4_1]", - test_client, &cfg_src_48_4_1, SCC_SRC_48_4_1); + test_setup, test_client, &cfg_src_48_4_1, + SCC_SRC_48_4_1); define_test("BAP/UCL/SCC/BV-065-C [UCL SNK Config QoS, LC3 48_5_1]", - test_client, &cfg_src_48_5_1, SCC_SRC_48_5_1); + test_setup, test_client, &cfg_src_48_5_1, + SCC_SRC_48_5_1); define_test("BAP/UCL/SCC/BV-066-C [UCL SNK Config QoS, LC3 48_6_1]", - test_client, &cfg_src_48_6_1, SCC_SRC_48_6_1); + test_setup, test_client, &cfg_src_48_6_1, + SCC_SRC_48_6_1); define_test("BAP/UCL/SCC/BV-067-C [UCL SRC Config QoS, LC3 8_1_2]", - test_client, &cfg_snk_8_1_2, SCC_SNK_8_1_2); + test_setup, test_client, &cfg_snk_8_1_2, + SCC_SNK_8_1_2); define_test("BAP/UCL/SCC/BV-068-C [UCL SRC Config QoS, LC3 8_2_2]", - test_client, &cfg_snk_8_2_2, SCC_SNK_8_2_2); + test_setup, test_client, &cfg_snk_8_2_2, + SCC_SNK_8_2_2); define_test("BAP/UCL/SCC/BV-069-C [UCL SRC Config QoS, LC3 16_1_2]", - test_client, &cfg_snk_16_1_2, SCC_SNK_16_1_2); + test_setup, test_client, &cfg_snk_16_1_2, + SCC_SNK_16_1_2); define_test("BAP/UCL/SCC/BV-070-C [UCL SRC Config QoS, LC3 16_2_2]", - test_client, &cfg_snk_16_2_2, SCC_SNK_16_2_2); + test_setup, test_client, &cfg_snk_16_2_2, + SCC_SNK_16_2_2); define_test("BAP/UCL/SCC/BV-071-C [UCL SRC Config QoS, LC3 24_1_2]", - test_client, &cfg_snk_24_1_2, SCC_SNK_24_1_2); + test_setup, test_client, &cfg_snk_24_1_2, + SCC_SNK_24_1_2); define_test("BAP/UCL/SCC/BV-072-C [UCL SRC Config QoS, LC3 24_2_2]", - test_client, &cfg_snk_24_2_2, SCC_SNK_24_2_2); + test_setup, test_client, &cfg_snk_24_2_2, + SCC_SNK_24_2_2); define_test("BAP/UCL/SCC/BV-073-C [UCL SRC Config QoS, LC3 32_1_2]", - test_client, &cfg_snk_32_1_2, SCC_SNK_32_1_2); + test_setup, test_client, &cfg_snk_32_1_2, + SCC_SNK_32_1_2); define_test("BAP/UCL/SCC/BV-074-C [UCL SRC Config QoS, LC3 32_2_2]", - test_client, &cfg_snk_32_2_2, SCC_SNK_32_2_2); + test_setup, test_client, &cfg_snk_32_2_2, + SCC_SNK_32_2_2); define_test("BAP/UCL/SCC/BV-075-C [UCL SRC Config QoS, LC3 44.1_1_2]", - test_client, &cfg_snk_44_1_2, SCC_SNK_44_1_2); + test_setup, test_client, &cfg_snk_44_1_2, + SCC_SNK_44_1_2); define_test("BAP/UCL/SCC/BV-076-C [UCL SRC Config QoS, LC3 44.1_2_2]", - test_client, &cfg_snk_44_2_2, SCC_SNK_44_2_2); + test_setup, test_client, &cfg_snk_44_2_2, + SCC_SNK_44_2_2); define_test("BAP/UCL/SCC/BV-077-C [UCL SRC Config QoS, LC3 48_1_2]", - test_client, &cfg_snk_48_1_2, SCC_SNK_48_1_2); + test_setup, test_client, &cfg_snk_48_1_2, + SCC_SNK_48_1_2); define_test("BAP/UCL/SCC/BV-078-C [UCL SRC Config QoS, LC3 48_2_2]", - test_client, &cfg_snk_48_2_2, SCC_SNK_48_2_2); + test_setup, test_client, &cfg_snk_48_2_2, + SCC_SNK_48_2_2); define_test("BAP/UCL/SCC/BV-079-C [UCL SRC Config QoS, LC3 48_3_2]", - test_client, &cfg_snk_48_3_2, SCC_SNK_48_3_2); + test_setup, test_client, &cfg_snk_48_3_2, + SCC_SNK_48_3_2); define_test("BAP/UCL/SCC/BV-080-C [UCL SRC Config QoS, LC3 48_4_2]", - test_client, &cfg_snk_48_4_2, SCC_SNK_48_4_2); + test_setup, test_client, &cfg_snk_48_4_2, + SCC_SNK_48_4_2); define_test("BAP/UCL/SCC/BV-081-C [UCL SRC Config QoS, LC3 48_5_2]", - test_client, &cfg_snk_48_5_2, SCC_SNK_48_5_2); + test_setup, test_client, &cfg_snk_48_5_2, + SCC_SNK_48_5_2); define_test("BAP/UCL/SCC/BV-082-C [UCL SRC Config QoS, LC3 48_6_2]", - test_client, &cfg_snk_48_6_2, SCC_SNK_48_6_2); + test_setup, test_client, &cfg_snk_48_6_2, + SCC_SNK_48_6_2); define_test("BAP/UCL/SCC/BV-083-C [UCL SNK Config QoS, LC3 8_1_2]", - test_client, &cfg_src_8_1_2, SCC_SRC_8_1_2); + test_setup, test_client, &cfg_src_8_1_2, + SCC_SRC_8_1_2); define_test("BAP/UCL/SCC/BV-084-C [UCL SNK Config QoS, LC3 8_2_2]", - test_client, &cfg_src_8_2_2, SCC_SRC_8_2_2); + test_setup, test_client, &cfg_src_8_2_2, + SCC_SRC_8_2_2); define_test("BAP/UCL/SCC/BV-085-C [UCL SNK Config QoS, LC3 16_1_2]", - test_client, &cfg_src_16_1_2, SCC_SRC_16_1_2); + test_setup, test_client, &cfg_src_16_1_2, + SCC_SRC_16_1_2); define_test("BAP/UCL/SCC/BV-086-C [UCL SNK Config QoS, LC3 16_2_2]", - test_client, &cfg_src_16_2_2, SCC_SRC_16_2_2); + test_setup, test_client, &cfg_src_16_2_2, + SCC_SRC_16_2_2); define_test("BAP/UCL/SCC/BV-087-C [UCL SNK Config QoS, LC3 24_1_2]", - test_client, &cfg_src_24_1_2, SCC_SRC_24_1_2); + test_setup, test_client, &cfg_src_24_1_2, + SCC_SRC_24_1_2); define_test("BAP/UCL/SCC/BV-088-C [UCL SNK Config QoS, LC3 24_2_2]", - test_client, &cfg_src_24_2_2, SCC_SRC_24_2_2); + test_setup, test_client, &cfg_src_24_2_2, + SCC_SRC_24_2_2); define_test("BAP/UCL/SCC/BV-089-C [UCL SNK Config QoS, LC3 32_1_2]", - test_client, &cfg_src_32_1_2, SCC_SRC_32_1_2); + test_setup, test_client, &cfg_src_32_1_2, + SCC_SRC_32_1_2); define_test("BAP/UCL/SCC/BV-090-C [UCL SNK Config QoS, LC3 32_2_2]", - test_client, &cfg_src_32_2_2, SCC_SRC_32_2_2); + test_setup, test_client, &cfg_src_32_2_2, + SCC_SRC_32_2_2); define_test("BAP/UCL/SCC/BV-091-C [UCL SNK Config QoS, LC3 44.1_1_2]", - test_client, &cfg_src_44_1_2, SCC_SRC_44_1_2); + test_setup, test_client, &cfg_src_44_1_2, + SCC_SRC_44_1_2); define_test("BAP/UCL/SCC/BV-092-C [UCL SNK Config QoS, LC3 44.1_2_2]", - test_client, &cfg_src_44_2_2, SCC_SRC_44_2_2); + test_setup, test_client, &cfg_src_44_2_2, + SCC_SRC_44_2_2); define_test("BAP/UCL/SCC/BV-093-C [UCL SNK Config QoS, LC3 48_1_2]", - test_client, &cfg_src_48_1_2, SCC_SRC_48_1_2); + test_setup, test_client, &cfg_src_48_1_2, + SCC_SRC_48_1_2); define_test("BAP/UCL/SCC/BV-094-C [UCL SNK Config QoS, LC3 48_2_2]", - test_client, &cfg_src_48_2_2, SCC_SRC_48_2_2); + test_setup, test_client, &cfg_src_48_2_2, + SCC_SRC_48_2_2); define_test("BAP/UCL/SCC/BV-095-C [UCL SNK Config QoS, LC3 48_3_2]", - test_client, &cfg_src_48_3_2, SCC_SRC_48_3_2); + test_setup, test_client, &cfg_src_48_3_2, + SCC_SRC_48_3_2); define_test("BAP/UCL/SCC/BV-096-C [UCL SNK Config QoS, LC3 48_4_2]", - test_client, &cfg_src_48_4_2, SCC_SRC_48_4_2); + test_setup, test_client, &cfg_src_48_4_2, + SCC_SRC_48_4_2); define_test("BAP/UCL/SCC/BV-097-C [UCL SNK Config QoS, LC3 48_5_2]", - test_client, &cfg_src_48_5_2, SCC_SRC_48_5_2); + test_setup, test_client, &cfg_src_48_5_2, + SCC_SRC_48_5_2); define_test("BAP/UCL/SCC/BV-098-C [UCL SNK Config QoS, LC3 48_6_2]", - test_client, &cfg_src_48_6_2, SCC_SRC_48_6_2); + test_setup, test_client, &cfg_src_48_6_2, + SCC_SRC_48_6_2); } static struct test_config cfg_snk_qos_vs = { @@ -2245,9 +2313,11 @@ static struct test_config cfg_src_qos_vs = { static void test_scc_qos_vs(void) { define_test("BAP/UCL/SCC/BV-099-C [UCL SNK Config QoS, VS]", - test_client, &cfg_src_qos_vs, SCC_SRC_QOS_VS); + test_setup, test_client, &cfg_src_qos_vs, + SCC_SRC_QOS_VS); define_test("BAP/UCL/SCC/BV-100-C [UCL SRC QoS Codec, VS]", - test_client, &cfg_snk_qos_vs, SCC_SNK_QOS_VS); + test_setup, test_client, &cfg_snk_qos_vs, + SCC_SNK_QOS_VS); } static struct test_config cfg_snk_enable = { @@ -2317,9 +2387,11 @@ static struct test_config cfg_src_enable = { static void test_scc_enable(void) { define_test("BAP/UCL/SCC/BV-101-C [UCL SRC Enable]", - test_client, &cfg_snk_enable, SCC_SNK_ENABLE); + test_setup, test_client, &cfg_snk_enable, + SCC_SNK_ENABLE); define_test("BAP/UCL/SCC/BV-102-C [UCL SNK Enable]", - test_client, &cfg_src_enable, SCC_SRC_ENABLE); + test_setup, test_client, &cfg_src_enable, + SCC_SRC_ENABLE); } static struct test_config cfg_snk_disable = { @@ -2436,12 +2508,14 @@ static struct test_config cfg_src_disable_streaming = { static void test_scc_disable(void) { define_test("BAP/UCL/SCC/BV-103-C [UCL SNK Disable in Enabling State]", - test_client, &cfg_src_disable, SCC_SRC_DISABLE); + test_setup, test_client, &cfg_src_disable, + SCC_SRC_DISABLE); define_test("BAP/UCL/SCC/BV-104-C [UCL SRC Disable in Enabling or " "Streaming state]", - test_client, &cfg_snk_disable, SCC_SNK_DISABLE); + test_setup, test_client, &cfg_snk_disable, + SCC_SNK_DISABLE); define_test("BAP/UCL/SCC/BV-105-C [UCL SNK Disable in Streaming State]", - test_client, &cfg_src_disable_streaming, + test_setup, test_client, &cfg_src_disable_streaming, SCC_SRC_DISABLE_STREAMING); } @@ -2667,28 +2741,32 @@ static void test_scc_release(void) { define_test("BAP/UCL/SCC/BV-106-C [UCL SNK Release in Codec Configured" " state]", - test_client, &cfg_src_cc_release, SCC_SRC_CC_RELEASE); + test_setup, test_client, &cfg_src_cc_release, + SCC_SRC_CC_RELEASE); define_test("BAP/UCL/SCC/BV-107-C [UCL SRC Release in Codec Configured" " state]", - test_client, &cfg_snk_cc_release, SCC_SNK_CC_RELEASE); + test_setup, test_client, &cfg_snk_cc_release, + SCC_SNK_CC_RELEASE); define_test("BAP/UCL/SCC/BV-108-C [UCL SNK Release in QoS Configured" " state]", - test_client, &cfg_src_qos_release, SCC_SRC_QOS_RELEASE); + test_setup, test_client, &cfg_src_qos_release, + SCC_SRC_QOS_RELEASE); define_test("BAP/UCL/SCC/BV-109-C [UCL SRC Release in QoS Configured" " state]", - test_client, &cfg_snk_qos_release, SCC_SNK_QOS_RELEASE); + test_setup, test_client, &cfg_snk_qos_release, + SCC_SNK_QOS_RELEASE); define_test("BAP/UCL/SCC/BV-110-C [UCL SNK Release in Enabling state]", - test_client, &cfg_src_enable_release, + test_setup, test_client, &cfg_src_enable_release, SCC_SRC_ENABLE_RELEASE); define_test("BAP/UCL/SCC/BV-111-C [UCL SRC Release in Enabling or" " Streaming state]", - test_client, &cfg_snk_enable_release, + test_setup, test_client, &cfg_snk_enable_release, SCC_SNK_ENABLE_RELEASE); define_test("BAP/UCL/SCC/BV-112-C [UCL SNK Release in Streaming state]", - test_client, &cfg_src_start_release, + test_setup, test_client, &cfg_src_start_release, SCC_SRC_START_RELEASE); define_test("BAP/UCL/SCC/BV-113-C [UCL SNK Release in Disabling state]", - test_client, &cfg_src_disable_release, + test_setup, test_client, &cfg_src_disable_release, SCC_SRC_DISABLE_RELEASE); } @@ -2820,13 +2898,15 @@ static void test_scc_metadata(void) { define_test("BAP/UCL/SCC/BV-115-C [UCL SNK Update Metadata in Enabling " "State]", - test_client, &cfg_src_metadata, SCC_SRC_METADATA); + test_setup, test_client, &cfg_src_metadata, + SCC_SRC_METADATA); define_test("BAP/UCL/SCC/BV-116-C [UCL SRC Update Metadata in Enabling " "or Streaming state]", - test_client, &cfg_snk_metadata, SCC_SNK_METADATA); + test_setup, test_client, &cfg_snk_metadata, + SCC_SNK_METADATA); define_test("BAP/UCL/SCC/BV-117-C [UCL SNK Update Metadata in Streaming" " State]", - test_client, &cfg_src_metadata_streaming, + test_setup, test_client, &cfg_src_metadata_streaming, SCC_SRC_METADATA_STREAMING); } @@ -4903,388 +4983,388 @@ static struct test_config str_src_ac4_48_6_2 = { static void test_str_1_1_1_lc3(void) { define_test("BAP/UCL/STR/BV-001-C [UCL, AC 2, LC3 8_1_1]", - test_client, &str_snk_ac2_8_1_1, + test_setup, test_client, &str_snk_ac2_8_1_1, STR_SNK_AC2_8_1_1); define_test("BAP/UCL/STR/BV-002-C [UCL, AC 10, LC3 8_1_1]", - test_client, &str_snk_ac10_8_1_1, + test_setup, test_client, &str_snk_ac10_8_1_1, STR_SNK_AC10_8_1_1); define_test("BAP/UCL/STR/BV-003-C [UCL, AC 2, LC3 8_2_1]", - test_client, &str_snk_ac2_8_2_1, + test_setup, test_client, &str_snk_ac2_8_2_1, STR_SNK_AC2_8_2_1); define_test("BAP/UCL/STR/BV-004-C [UCL, AC 10, LC3 8_2_1]", - test_client, &str_snk_ac10_8_2_1, + test_setup, test_client, &str_snk_ac10_8_2_1, STR_SNK_AC10_8_2_1); define_test("BAP/UCL/STR/BV-005-C [UCL, AC 2, LC3 16_1_1]", - test_client, &str_snk_ac2_16_1_1, + test_setup, test_client, &str_snk_ac2_16_1_1, STR_SNK_AC2_16_1_1); define_test("BAP/UCL/STR/BV-006-C [UCL, AC 10, LC3 16_1_1]", - test_client, &str_snk_ac10_16_1_1, + test_setup, test_client, &str_snk_ac10_16_1_1, STR_SNK_AC10_16_1_1); define_test("BAP/UCL/STR/BV-007-C [UCL, AC 2, LC3 16_2_1]", - test_client, &str_snk_ac2_16_2_1, + test_setup, test_client, &str_snk_ac2_16_2_1, STR_SNK_AC2_16_2_1); define_test("BAP/UCL/STR/BV-008-C [UCL, AC 10, LC3 16_2_1]", - test_client, &str_snk_ac10_16_2_1, + test_setup, test_client, &str_snk_ac10_16_2_1, STR_SNK_AC10_16_2_1); define_test("BAP/UCL/STR/BV-009-C [UCL, AC 2, LC3 24_1_1]", - test_client, &str_snk_ac2_24_1_1, + test_setup, test_client, &str_snk_ac2_24_1_1, STR_SNK_AC2_24_1_1); define_test("BAP/UCL/STR/BV-010-C [UCL, AC 10, LC3 24_1_1]", - test_client, &str_snk_ac10_24_1_1, + test_setup, test_client, &str_snk_ac10_24_1_1, STR_SNK_AC10_24_1_1); define_test("BAP/UCL/STR/BV-011-C [UCL, AC 2, LC3 24_2_1]", - test_client, &str_snk_ac2_24_2_1, + test_setup, test_client, &str_snk_ac2_24_2_1, STR_SNK_AC2_24_2_1); define_test("BAP/UCL/STR/BV-012-C [UCL, AC 10, LC3 24_2_1]", - test_client, &str_snk_ac10_24_2_1, + test_setup, test_client, &str_snk_ac10_24_2_1, STR_SNK_AC10_24_2_1); define_test("BAP/UCL/STR/BV-013-C [UCL, AC 2, LC3 32_1_1]", - test_client, &str_snk_ac2_32_1_1, + test_setup, test_client, &str_snk_ac2_32_1_1, STR_SNK_AC2_32_1_1); define_test("BAP/UCL/STR/BV-014-C [UCL, AC 10, LC3 32_1_1]", - test_client, &str_snk_ac10_32_1_1, + test_setup, test_client, &str_snk_ac10_32_1_1, STR_SNK_AC10_32_1_1); define_test("BAP/UCL/STR/BV-015-C [UCL, AC 2, LC3 32_2_1]", - test_client, &str_snk_ac2_32_2_1, + test_setup, test_client, &str_snk_ac2_32_2_1, STR_SNK_AC2_32_2_1); define_test("BAP/UCL/STR/BV-016-C [UCL, AC 10, LC3 32_2_1]", - test_client, &str_snk_ac10_32_2_1, + test_setup, test_client, &str_snk_ac10_32_2_1, STR_SNK_AC10_32_2_1); define_test("BAP/UCL/STR/BV-017-C [UCL, AC 2, LC3 441_1_1]", - test_client, &str_snk_ac2_44_1_1, + test_setup, test_client, &str_snk_ac2_44_1_1, STR_SNK_AC2_44_1_1); define_test("BAP/UCL/STR/BV-018-C [UCL, AC 10, LC3 441_1_1]", - test_client, &str_snk_ac10_44_1_1, + test_setup, test_client, &str_snk_ac10_44_1_1, STR_SNK_AC10_44_1_1); define_test("BAP/UCL/STR/BV-019-C [UCL, AC 2, LC3 44_2_1]", - test_client, &str_snk_ac2_44_2_1, + test_setup, test_client, &str_snk_ac2_44_2_1, STR_SNK_AC2_44_2_1); define_test("BAP/UCL/STR/BV-020-C [UCL, AC 10, LC3 44_2_1]", - test_client, &str_snk_ac10_44_2_1, + test_setup, test_client, &str_snk_ac10_44_2_1, STR_SNK_AC10_44_2_1); define_test("BAP/UCL/STR/BV-021-C [UCL, AC 2, LC3 48_1_1]", - test_client, &str_snk_ac2_48_1_1, + test_setup, test_client, &str_snk_ac2_48_1_1, STR_SNK_AC2_48_1_1); define_test("BAP/UCL/STR/BV-022-C [UCL, AC 10, LC3 48_1_1]", - test_client, &str_snk_ac10_48_1_1, + test_setup, test_client, &str_snk_ac10_48_1_1, STR_SNK_AC10_48_1_1); define_test("BAP/UCL/STR/BV-023-C [UCL, AC 2, LC3 48_2_1]", - test_client, &str_snk_ac2_48_2_1, + test_setup, test_client, &str_snk_ac2_48_2_1, STR_SNK_AC2_48_2_1); define_test("BAP/UCL/STR/BV-024-C [UCL, AC 10, LC3 48_2_1]", - test_client, &str_snk_ac10_48_2_1, + test_setup, test_client, &str_snk_ac10_48_2_1, STR_SNK_AC10_48_2_1); define_test("BAP/UCL/STR/BV-025-C [UCL, AC 2, LC3 48_3_1]", - test_client, &str_snk_ac2_48_3_1, + test_setup, test_client, &str_snk_ac2_48_3_1, STR_SNK_AC2_48_3_1); define_test("BAP/UCL/STR/BV-026-C [UCL, AC 10, LC3 48_3_1]", - test_client, &str_snk_ac10_48_3_1, + test_setup, test_client, &str_snk_ac10_48_3_1, STR_SNK_AC10_48_3_1); define_test("BAP/UCL/STR/BV-027-C [UCL, AC 2, LC3 48_4_1]", - test_client, &str_snk_ac2_48_4_1, + test_setup, test_client, &str_snk_ac2_48_4_1, STR_SNK_AC2_48_4_1); define_test("BAP/UCL/STR/BV-028-C [UCL, AC 10, LC3 48_4_1]", - test_client, &str_snk_ac10_48_4_1, + test_setup, test_client, &str_snk_ac10_48_4_1, STR_SNK_AC10_48_4_1); define_test("BAP/UCL/STR/BV-029-C [UCL, AC 2, LC3 48_5_1]", - test_client, &str_snk_ac2_48_5_1, + test_setup, test_client, &str_snk_ac2_48_5_1, STR_SNK_AC2_48_5_1); define_test("BAP/UCL/STR/BV-030-C [UCL, AC 10, LC3 48_5_1]", - test_client, &str_snk_ac10_48_5_1, + test_setup, test_client, &str_snk_ac10_48_5_1, STR_SNK_AC10_48_5_1); define_test("BAP/UCL/STR/BV-031-C [UCL, AC 2, LC3 48_6_1]", - test_client, &str_snk_ac2_48_6_1, + test_setup, test_client, &str_snk_ac2_48_6_1, STR_SNK_AC2_48_6_1); define_test("BAP/UCL/STR/BV-032-C [UCL, AC 10, LC3 48_6_1]", - test_client, &str_snk_ac10_48_6_1, + test_setup, test_client, &str_snk_ac10_48_6_1, STR_SNK_AC10_48_6_1); define_test("BAP/UCL/STR/BV-033-C [UCL, SRC, AC 1, LC3 8_1_1]", - test_client, &str_src_ac1_8_1_1, + test_setup, test_client, &str_src_ac1_8_1_1, STR_SRC_AC1_8_1_1); define_test("BAP/UCL/STR/BV-034-C [UCL, SRC, AC 4, LC3 8_1_1]", - test_client, &str_src_ac4_8_1_1, + test_setup, test_client, &str_src_ac4_8_1_1, STR_SRC_AC4_8_1_1); define_test("BAP/UCL/STR/BV-035-C [UCL, SRC, AC 1, LC3 8_2_1]", - test_client, &str_src_ac1_8_2_1, + test_setup, test_client, &str_src_ac1_8_2_1, STR_SRC_AC1_8_2_1); define_test("BAP/UCL/STR/BV-036-C [UCL, SRC, AC 4, LC3 8_2_1]", - test_client, &str_src_ac4_8_2_1, + test_setup, test_client, &str_src_ac4_8_2_1, STR_SRC_AC4_8_2_1); define_test("BAP/UCL/STR/BV-037-C [UCL, SRC, AC 1, LC3 16_1_1]", - test_client, &str_src_ac1_16_1_1, + test_setup, test_client, &str_src_ac1_16_1_1, STR_SRC_AC1_16_1_1); define_test("BAP/UCL/STR/BV-038-C [UCL, SRC, AC 4, LC3 16_1_1]", - test_client, &str_src_ac4_16_1_1, + test_setup, test_client, &str_src_ac4_16_1_1, STR_SRC_AC4_16_1_1); define_test("BAP/UCL/STR/BV-039-C [UCL, SRC, AC 1, LC3 16_2_1]", - test_client, &str_src_ac1_16_2_1, + test_setup, test_client, &str_src_ac1_16_2_1, STR_SRC_AC1_16_2_1); define_test("BAP/UCL/STR/BV-040-C [UCL, SRC, AC 4, LC3 16_2_1]", - test_client, &str_src_ac4_16_2_1, + test_setup, test_client, &str_src_ac4_16_2_1, STR_SRC_AC4_16_2_1); define_test("BAP/UCL/STR/BV-041-C [UCL, SRC, AC 1, LC3 24_1_1]", - test_client, &str_src_ac1_24_1_1, + test_setup, test_client, &str_src_ac1_24_1_1, STR_SRC_AC1_24_1_1); define_test("BAP/UCL/STR/BV-042-C [UCL, SRC, AC 4, LC3 24_1_1]", - test_client, &str_src_ac4_24_1_1, + test_setup, test_client, &str_src_ac4_24_1_1, STR_SRC_AC4_24_1_1); define_test("BAP/UCL/STR/BV-043-C [UCL, SRC, AC 1, LC3 24_2_1]", - test_client, &str_src_ac1_24_2_1, + test_setup, test_client, &str_src_ac1_24_2_1, STR_SRC_AC1_24_2_1); define_test("BAP/UCL/STR/BV-044-C [UCL, SRC, AC 4, LC3 24_2_1]", - test_client, &str_src_ac4_24_2_1, + test_setup, test_client, &str_src_ac4_24_2_1, STR_SRC_AC4_24_2_1); define_test("BAP/UCL/STR/BV-045-C [UCL, SRC, AC 1, LC3 32_1_1]", - test_client, &str_src_ac1_32_1_1, + test_setup, test_client, &str_src_ac1_32_1_1, STR_SRC_AC1_32_1_1); define_test("BAP/UCL/STR/BV-046-C [UCL, SRC, AC 4, LC3 32_1_1]", - test_client, &str_src_ac4_32_1_1, + test_setup, test_client, &str_src_ac4_32_1_1, STR_SRC_AC4_32_1_1); define_test("BAP/UCL/STR/BV-047-C [UCL, SRC, AC 1, LC3 32_2_1]", - test_client, &str_src_ac1_32_2_1, + test_setup, test_client, &str_src_ac1_32_2_1, STR_SRC_AC1_32_2_1); define_test("BAP/UCL/STR/BV-048-C [UCL, SRC, AC 4, LC3 32_2_1]", - test_client, &str_src_ac4_32_2_1, + test_setup, test_client, &str_src_ac4_32_2_1, STR_SRC_AC4_32_2_1); define_test("BAP/UCL/STR/BV-049-C [UCL, SRC, AC 1, LC3 44_1_1]", - test_client, &str_src_ac1_44_1_1, + test_setup, test_client, &str_src_ac1_44_1_1, STR_SRC_AC1_44_1_1); define_test("BAP/UCL/STR/BV-050-C [UCL, SRC, AC 4, LC3 44_1_1]", - test_client, &str_src_ac4_44_1_1, + test_setup, test_client, &str_src_ac4_44_1_1, STR_SRC_AC4_44_1_1); define_test("BAP/UCL/STR/BV-051-C [UCL, SRC, AC 1, LC3 44_2_1]", - test_client, &str_src_ac1_44_2_1, + test_setup, test_client, &str_src_ac1_44_2_1, STR_SRC_AC1_44_2_1); define_test("BAP/UCL/STR/BV-052-C [UCL, SRC, AC 4, LC3 44_2_1]", - test_client, &str_src_ac4_44_2_1, + test_setup, test_client, &str_src_ac4_44_2_1, STR_SRC_AC4_44_2_1); define_test("BAP/UCL/STR/BV-053-C [UCL, SRC, AC 1, LC3 48_1_1]", - test_client, &str_src_ac1_48_1_1, + test_setup, test_client, &str_src_ac1_48_1_1, STR_SRC_AC1_48_1_1); define_test("BAP/UCL/STR/BV-054-C [UCL, SRC, AC 4, LC3 48_1_1]", - test_client, &str_src_ac4_48_1_1, + test_setup, test_client, &str_src_ac4_48_1_1, STR_SRC_AC4_48_1_1); define_test("BAP/UCL/STR/BV-055-C [UCL, SRC, AC 1, LC3 48_2_1]", - test_client, &str_src_ac1_48_2_1, + test_setup, test_client, &str_src_ac1_48_2_1, STR_SRC_AC1_48_2_1); define_test("BAP/UCL/STR/BV-056-C [UCL, SRC, AC 4, LC3 48_2_1]", - test_client, &str_src_ac4_48_2_1, + test_setup, test_client, &str_src_ac4_48_2_1, STR_SRC_AC4_48_2_1); define_test("BAP/UCL/STR/BV-057-C [UCL, SRC, AC 1, LC3 48_3_1]", - test_client, &str_src_ac1_48_3_1, + test_setup, test_client, &str_src_ac1_48_3_1, STR_SRC_AC1_48_3_1); define_test("BAP/UCL/STR/BV-058-C [UCL, SRC, AC 4, LC3 48_3_1]", - test_client, &str_src_ac4_48_3_1, + test_setup, test_client, &str_src_ac4_48_3_1, STR_SRC_AC4_48_3_1); define_test("BAP/UCL/STR/BV-059-C [UCL, SRC, AC 1, LC3 48_4_1]", - test_client, &str_src_ac1_48_4_1, + test_setup, test_client, &str_src_ac1_48_4_1, STR_SRC_AC1_48_4_1); define_test("BAP/UCL/STR/BV-060-C [UCL, SRC, AC 4, LC3 48_4_1]", - test_client, &str_src_ac4_48_4_1, + test_setup, test_client, &str_src_ac4_48_4_1, STR_SRC_AC4_48_4_1); define_test("BAP/UCL/STR/BV-061-C [UCL, SRC, AC 1, LC3 48_5_1]", - test_client, &str_src_ac1_48_5_1, + test_setup, test_client, &str_src_ac1_48_5_1, STR_SRC_AC1_48_5_1); define_test("BAP/UCL/STR/BV-062-C [UCL, SRC, AC 4, LC3 48_5_1]", - test_client, &str_src_ac4_48_5_1, + test_setup, test_client, &str_src_ac4_48_5_1, STR_SRC_AC4_48_5_1); define_test("BAP/UCL/STR/BV-063-C [UCL, SRC, AC 1, LC3 48_6_1]", - test_client, &str_src_ac1_48_6_1, + test_setup, test_client, &str_src_ac1_48_6_1, STR_SRC_AC1_48_6_1); define_test("BAP/UCL/STR/BV-064-C [UCL, SRC, AC 4, LC3 48_6_1]", - test_client, &str_src_ac4_48_6_1, + test_setup, test_client, &str_src_ac4_48_6_1, STR_SRC_AC4_48_6_1); define_test("BAP/UCL/STR/BV-065-C [UCL, AC 2, LC3 8_1_2]", - test_client, &str_snk_ac2_8_1_2, + test_setup, test_client, &str_snk_ac2_8_1_2, STR_SNK_AC2_8_1_2); define_test("BAP/UCL/STR/BV-066-C [UCL, AC 10, LC3 8_1_2]", - test_client, &str_snk_ac10_8_1_2, + test_setup, test_client, &str_snk_ac10_8_1_2, STR_SNK_AC10_8_1_2); define_test("BAP/UCL/STR/BV-067-C [UCL, AC 2, LC3 8_2_2]", - test_client, &str_snk_ac2_8_2_2, + test_setup, test_client, &str_snk_ac2_8_2_2, STR_SNK_AC2_8_2_2); define_test("BAP/UCL/STR/BV-068-C [UCL, AC 10, LC3 8_2_2]", - test_client, &str_snk_ac10_8_2_2, + test_setup, test_client, &str_snk_ac10_8_2_2, STR_SNK_AC10_8_2_2); define_test("BAP/UCL/STR/BV-069-C [UCL, AC 2, LC3 16_1_2]", - test_client, &str_snk_ac2_16_1_2, + test_setup, test_client, &str_snk_ac2_16_1_2, STR_SNK_AC2_16_1_2); define_test("BAP/UCL/STR/BV-070-C [UCL, AC 10, LC3 16_1_2]", - test_client, &str_snk_ac10_16_1_2, + test_setup, test_client, &str_snk_ac10_16_1_2, STR_SNK_AC10_16_1_2); define_test("BAP/UCL/STR/BV-071-C [UCL, AC 2, LC3 16_2_2]", - test_client, &str_snk_ac2_16_2_2, + test_setup, test_client, &str_snk_ac2_16_2_2, STR_SNK_AC2_16_2_2); define_test("BAP/UCL/STR/BV-072-C [UCL, AC 10, LC3 16_2_2]", - test_client, &str_snk_ac10_16_2_2, + test_setup, test_client, &str_snk_ac10_16_2_2, STR_SNK_AC10_16_2_2); define_test("BAP/UCL/STR/BV-073-C [UCL, AC 2, LC3 24_1_2]", - test_client, &str_snk_ac2_24_1_2, + test_setup, test_client, &str_snk_ac2_24_1_2, STR_SNK_AC2_24_1_2); define_test("BAP/UCL/STR/BV-074-C [UCL, AC 10, LC3 24_1_2]", - test_client, &str_snk_ac10_24_1_2, + test_setup, test_client, &str_snk_ac10_24_1_2, STR_SNK_AC10_24_1_2); define_test("BAP/UCL/STR/BV-075-C [UCL, AC 2, LC3 24_2_2]", - test_client, &str_snk_ac2_24_2_2, + test_setup, test_client, &str_snk_ac2_24_2_2, STR_SNK_AC2_24_2_2); define_test("BAP/UCL/STR/BV-076-C [UCL, AC 10, LC3 24_2_2]", - test_client, &str_snk_ac10_24_2_2, + test_setup, test_client, &str_snk_ac10_24_2_2, STR_SNK_AC10_24_2_2); define_test("BAP/UCL/STR/BV-077-C [UCL, AC 2, LC3 32_1_2]", - test_client, &str_snk_ac2_32_1_2, + test_setup, test_client, &str_snk_ac2_32_1_2, STR_SNK_AC2_32_1_2); define_test("BAP/UCL/STR/BV-078-C [UCL, AC 10, LC3 32_1_2]", - test_client, &str_snk_ac10_32_1_2, + test_setup, test_client, &str_snk_ac10_32_1_2, STR_SNK_AC10_32_1_2); define_test("BAP/UCL/STR/BV-079-C [UCL, AC 2, LC3 32_2_2]", - test_client, &str_snk_ac2_32_2_2, + test_setup, test_client, &str_snk_ac2_32_2_2, STR_SNK_AC2_32_2_2); define_test("BAP/UCL/STR/BV-080-C [UCL, AC 10, LC3 32_2_2]", - test_client, &str_snk_ac10_32_2_2, + test_setup, test_client, &str_snk_ac10_32_2_2, STR_SNK_AC10_32_2_2); define_test("BAP/UCL/STR/BV-081-C [UCL, AC 2, LC3 44_1_2]", - test_client, &str_snk_ac2_44_1_2, + test_setup, test_client, &str_snk_ac2_44_1_2, STR_SNK_AC2_44_1_2); define_test("BAP/UCL/STR/BV-082-C [UCL, AC 10, LC3 44_1_2]", - test_client, &str_snk_ac10_44_1_2, + test_setup, test_client, &str_snk_ac10_44_1_2, STR_SNK_AC10_44_1_2); define_test("BAP/UCL/STR/BV-083-C [UCL, AC 2, LC3 44_2_2]", - test_client, &str_snk_ac2_44_2_2, + test_setup, test_client, &str_snk_ac2_44_2_2, STR_SNK_AC2_44_2_2); define_test("BAP/UCL/STR/BV-084-C [UCL, AC 10, LC3 44_2_2]", - test_client, &str_snk_ac10_44_2_2, + test_setup, test_client, &str_snk_ac10_44_2_2, STR_SNK_AC10_44_2_2); define_test("BAP/UCL/STR/BV-085-C [UCL, AC 2, LC3 48_1_2]", - test_client, &str_snk_ac2_48_1_2, + test_setup, test_client, &str_snk_ac2_48_1_2, STR_SNK_AC2_48_1_2); define_test("BAP/UCL/STR/BV-086-C [UCL, AC 10, LC3 48_1_2]", - test_client, &str_snk_ac10_48_1_2, + test_setup, test_client, &str_snk_ac10_48_1_2, STR_SNK_AC10_48_1_2); define_test("BAP/UCL/STR/BV-087-C [UCL, AC 2, LC3 48_2_2]", - test_client, &str_snk_ac2_48_2_2, + test_setup, test_client, &str_snk_ac2_48_2_2, STR_SNK_AC2_48_2_2); define_test("BAP/UCL/STR/BV-088-C [UCL, AC 10, LC3 48_2_2]", - test_client, &str_snk_ac10_48_2_2, + test_setup, test_client, &str_snk_ac10_48_2_2, STR_SNK_AC10_48_2_2); define_test("BAP/UCL/STR/BV-089-C [UCL, AC 2, LC3 48_3_2]", - test_client, &str_snk_ac2_48_3_2, + test_setup, test_client, &str_snk_ac2_48_3_2, STR_SNK_AC2_48_3_2); define_test("BAP/UCL/STR/BV-090-C [UCL, AC 10, LC3 48_3_2]", - test_client, &str_snk_ac10_48_3_2, + test_setup, test_client, &str_snk_ac10_48_3_2, STR_SNK_AC10_48_3_2); define_test("BAP/UCL/STR/BV-091-C [UCL, AC 2, LC3 48_4_2]", - test_client, &str_snk_ac2_48_4_2, + test_setup, test_client, &str_snk_ac2_48_4_2, STR_SNK_AC2_48_4_2); define_test("BAP/UCL/STR/BV-092-C [UCL, AC 10, LC3 48_4_2]", - test_client, &str_snk_ac10_48_4_2, + test_setup, test_client, &str_snk_ac10_48_4_2, STR_SNK_AC10_48_4_2); define_test("BAP/UCL/STR/BV-093-C [UCL, AC 2, LC3 48_5_2]", - test_client, &str_snk_ac2_48_5_2, + test_setup, test_client, &str_snk_ac2_48_5_2, STR_SNK_AC2_48_5_2); define_test("BAP/UCL/STR/BV-094-C [UCL, AC 10, LC3 48_5_2]", - test_client, &str_snk_ac10_48_5_2, + test_setup, test_client, &str_snk_ac10_48_5_2, STR_SNK_AC10_48_5_2); define_test("BAP/UCL/STR/BV-095-C [UCL, AC 2, LC3 48_6_2]", - test_client, &str_snk_ac2_48_6_2, + test_setup, test_client, &str_snk_ac2_48_6_2, STR_SNK_AC2_48_6_2); define_test("BAP/UCL/STR/BV-096-C [UCL, AC 10, LC3 48_6_2]", - test_client, &str_snk_ac10_48_6_2, + test_setup, test_client, &str_snk_ac10_48_6_2, STR_SNK_AC10_48_6_2); define_test("BAP/UCL/STR/BV-097-C [UCL, SRC, AC 1, LC3 8_1_2]", - test_client, &str_src_ac1_8_1_2, + test_setup, test_client, &str_src_ac1_8_1_2, STR_SRC_AC1_8_1_2); define_test("BAP/UCL/STR/BV-098-C [UCL, SRC, AC 4, LC3 8_1_2]", - test_client, &str_src_ac4_8_1_2, + test_setup, test_client, &str_src_ac4_8_1_2, STR_SRC_AC4_8_1_2); define_test("BAP/UCL/STR/BV-099-C [UCL, SRC, AC 1, LC3 8_2_2]", - test_client, &str_src_ac1_8_2_2, + test_setup, test_client, &str_src_ac1_8_2_2, STR_SRC_AC1_8_2_2); define_test("BAP/UCL/STR/BV-100-C [UCL, SRC, AC 4, LC3 8_2_2]", - test_client, &str_src_ac4_8_2_2, + test_setup, test_client, &str_src_ac4_8_2_2, STR_SRC_AC4_8_2_2); define_test("BAP/UCL/STR/BV-101-C [UCL, SRC, AC 1, LC3 16_1_2]", - test_client, &str_src_ac1_16_1_2, + test_setup, test_client, &str_src_ac1_16_1_2, STR_SRC_AC1_16_1_2); define_test("BAP/UCL/STR/BV-102-C [UCL, SRC, AC 4, LC3 16_1_2]", - test_client, &str_src_ac4_16_1_2, + test_setup, test_client, &str_src_ac4_16_1_2, STR_SRC_AC4_16_1_2); define_test("BAP/UCL/STR/BV-103-C [UCL, SRC, AC 1, LC3 16_2_2]", - test_client, &str_src_ac1_16_2_2, + test_setup, test_client, &str_src_ac1_16_2_2, STR_SRC_AC1_16_2_2); define_test("BAP/UCL/STR/BV-104-C [UCL, SRC, AC 4, LC3 16_2_2]", - test_client, &str_src_ac4_16_2_2, + test_setup, test_client, &str_src_ac4_16_2_2, STR_SRC_AC4_16_2_2); define_test("BAP/UCL/STR/BV-105-C [UCL, SRC, AC 1, LC3 24_1_2]", - test_client, &str_src_ac1_24_1_2, + test_setup, test_client, &str_src_ac1_24_1_2, STR_SRC_AC1_24_1_2); define_test("BAP/UCL/STR/BV-106-C [UCL, SRC, AC 4, LC3 24_1_2]", - test_client, &str_src_ac4_24_1_2, + test_setup, test_client, &str_src_ac4_24_1_2, STR_SRC_AC4_24_1_2); define_test("BAP/UCL/STR/BV-107-C [UCL, SRC, AC 1, LC3 24_2_2]", - test_client, &str_src_ac1_24_2_2, + test_setup, test_client, &str_src_ac1_24_2_2, STR_SRC_AC1_24_2_2); define_test("BAP/UCL/STR/BV-108-C [UCL, SRC, AC 4, LC3 24_2_2]", - test_client, &str_src_ac4_24_2_2, + test_setup, test_client, &str_src_ac4_24_2_2, STR_SRC_AC4_24_2_2); define_test("BAP/UCL/STR/BV-109-C [UCL, SRC, AC 1, LC3 32_1_2]", - test_client, &str_src_ac1_32_1_2, + test_setup, test_client, &str_src_ac1_32_1_2, STR_SRC_AC1_32_1_2); define_test("BAP/UCL/STR/BV-110-C [UCL, SRC, AC 4, LC3 32_1_2]", - test_client, &str_src_ac4_32_1_2, + test_setup, test_client, &str_src_ac4_32_1_2, STR_SRC_AC4_32_1_2); define_test("BAP/UCL/STR/BV-111-C [UCL, SRC, AC 1, LC3 32_2_2]", - test_client, &str_src_ac1_32_2_2, + test_setup, test_client, &str_src_ac1_32_2_2, STR_SRC_AC1_32_2_2); define_test("BAP/UCL/STR/BV-112-C [UCL, SRC, AC 4, LC3 32_2_2]", - test_client, &str_src_ac4_32_2_2, + test_setup, test_client, &str_src_ac4_32_2_2, STR_SRC_AC4_32_2_2); define_test("BAP/UCL/STR/BV-113-C [UCL, SRC, AC 1, LC3 44_1_2]", - test_client, &str_src_ac1_44_1_2, + test_setup, test_client, &str_src_ac1_44_1_2, STR_SRC_AC1_44_1_2); define_test("BAP/UCL/STR/BV-114-C [UCL, SRC, AC 4, LC3 44_1_2]", - test_client, &str_src_ac4_44_1_2, + test_setup, test_client, &str_src_ac4_44_1_2, STR_SRC_AC4_44_1_2); define_test("BAP/UCL/STR/BV-115-C [UCL, SRC, AC 1, LC3 44_2_2]", - test_client, &str_src_ac1_44_2_2, + test_setup, test_client, &str_src_ac1_44_2_2, STR_SRC_AC1_44_2_2); define_test("BAP/UCL/STR/BV-116-C [UCL, SRC, AC 4, LC3 44_2_2]", - test_client, &str_src_ac4_44_2_2, + test_setup, test_client, &str_src_ac4_44_2_2, STR_SRC_AC4_44_2_2); define_test("BAP/UCL/STR/BV-117-C [UCL, SRC, AC 1, LC3 48_1_2]", - test_client, &str_src_ac1_48_1_2, + test_setup, test_client, &str_src_ac1_48_1_2, STR_SRC_AC1_48_1_2); define_test("BAP/UCL/STR/BV-118-C [UCL, SRC, AC 4, LC3 48_1_2]", - test_client, &str_src_ac4_48_1_2, + test_setup, test_client, &str_src_ac4_48_1_2, STR_SRC_AC4_48_1_2); define_test("BAP/UCL/STR/BV-119-C [UCL, SRC, AC 1, LC3 48_2_2]", - test_client, &str_src_ac1_48_2_2, + test_setup, test_client, &str_src_ac1_48_2_2, STR_SRC_AC1_48_2_2); define_test("BAP/UCL/STR/BV-120-C [UCL, SRC, AC 4, LC3 48_2_2]", - test_client, &str_src_ac4_48_2_2, + test_setup, test_client, &str_src_ac4_48_2_2, STR_SRC_AC4_48_2_2); define_test("BAP/UCL/STR/BV-121-C [UCL, SRC, AC 1, LC3 48_3_2]", - test_client, &str_src_ac1_48_3_2, + test_setup, test_client, &str_src_ac1_48_3_2, STR_SRC_AC1_48_3_2); define_test("BAP/UCL/STR/BV-122-C [UCL, SRC, AC 4, LC3 48_3_2]", - test_client, &str_src_ac4_48_3_2, + test_setup, test_client, &str_src_ac4_48_3_2, STR_SRC_AC4_48_3_2); define_test("BAP/UCL/STR/BV-123-C [UCL, SRC, AC 1, LC3 48_4_2]", - test_client, &str_src_ac1_48_4_2, + test_setup, test_client, &str_src_ac1_48_4_2, STR_SRC_AC1_48_4_2); define_test("BAP/UCL/STR/BV-124-C [UCL, SRC, AC 4, LC3 48_4_2]", - test_client, &str_src_ac4_48_4_2, + test_setup, test_client, &str_src_ac4_48_4_2, STR_SRC_AC4_48_4_2); define_test("BAP/UCL/STR/BV-121-C [UCL, SRC, AC 1, LC3 48_5_2]", - test_client, &str_src_ac1_48_5_2, + test_setup, test_client, &str_src_ac1_48_5_2, STR_SRC_AC1_48_5_2); define_test("BAP/UCL/STR/BV-122-C [UCL, SRC, AC 4, LC3 48_5_2]", - test_client, &str_src_ac4_48_5_2, + test_setup, test_client, &str_src_ac4_48_5_2, STR_SRC_AC4_48_5_2); define_test("BAP/UCL/STR/BV-123-C [UCL, SRC, AC 1, LC3 48_6_2]", - test_client, &str_src_ac1_48_6_2, + test_setup, test_client, &str_src_ac1_48_6_2, STR_SRC_AC1_48_6_2); define_test("BAP/UCL/STR/BV-124-C [UCL, SRC, AC 4, LC3 48_6_2]", - test_client, &str_src_ac4_48_6_2, + test_setup, test_client, &str_src_ac4_48_6_2, STR_SRC_AC4_48_6_2); } From patchwork Fri May 10 14:27:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iulia Tanasescu X-Patchwork-Id: 13661683 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2070.outbound.protection.outlook.com [40.107.13.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3061C12AAD5 for ; Fri, 10 May 2024 14:28:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.13.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715351303; cv=fail; b=FiCMo1aXqpLbAL6ufoTsQZiAt4itdSbJx26moK+w6dQYQgj7bgBL9QEYbw8b99/9JitRqScTKfIcntaebesoWHlu3/LgLXy1Mxs2K7SMoJowJRno7pz0CgApY83Ka+COrmKG7gkrtJbOe/he+oF5NzIEdZNHWFGwhQQeMy3Qli4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715351303; c=relaxed/simple; bh=+apNrr6wfb+NB/Qpr8uQ2/JLWK4/xHgzVK0nmEsyMcQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=qh8qv2prkKVo6fNMzrq+1+VFkqDMG9vkEwNyNQ8Rn+ivjUZYQ6B1N50MVgRkte2HxyuaW5vCLIgQj9gwVwFYw8CJ58qO26+t1lwq5DSdqRgVa7hQuxW9fU9Y8doQLS+a6F5JidN4HxGGFE4BlyZWWv6Nyjgx/hcTAGitJsb+954= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=F/Q4liAA; arc=fail smtp.client-ip=40.107.13.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="F/Q4liAA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aPLpQ/eVImQ6cQDz7YRk5ySGJnjyvybGHZAncXxNrt1neY6yZqZc5lntPQn/F3wcGN+z1IKPPQjwV238/6O3WzAwZadhKWqFJ0hgm7eWDJNzOCSpQk10x9Q5E5bF3dPHkkc46EP7InXeJqZqTeforijx209WJtcftvcq1NsvSY8JDlCRz5P9XxoNVEBUSxXKtBnlW6SYw37+UY1RInlr2FneBh/d4fDGpDeiaVEgCDns4qsyuULDpmGYtkDnlOiY8CiMM1mH6qqsmdVj7YqSug9eQmgAh+2tcB949bDg3UH+B3B7TSnzE5V8U0ViLB960APmulDYqcIIn7ss5rPCCg== 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=49/bl5Vwdi4Dn/vQQpavibXsAPGxecfxtkp/U/2CTqs=; b=SXHDAx9wOxjnktrxI5PnJDqEm3uGlC0lot8GUuFD3T4Vuf8pVSnhchjaq7sM82cYB+wgvSo+/NREqCZbHlGGCB7JK3KxWvINDPXpLyvDMzcUe6lfBZblMpXGlDuLLUa4rn4n4Lnngzv5jugSU2sOlXoAhuwrgVcrZ2z4P6jwXA11EExL5HnU99BSe6ep4DmyFf0UJehe3XxLf6WPL9prcDwJ1GVt3gcjz4o958zmUiA7+xATSDYrsds5gpHXL/NZkLsUY/pw5j2vT22Bq6Ecn1kLRgeQ2PYSbMpwQTktWAjM7DmnWU8X3oh3xnK2U+SlEsEk14zh4TTTQ52pDrWsGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=49/bl5Vwdi4Dn/vQQpavibXsAPGxecfxtkp/U/2CTqs=; b=F/Q4liAA8eK7prhqbD7CXFfbQjecHOuAVhp1LClQ9R/LY7SSYDtFTXaa0Vex3Q26pbizG3e79R7LcD59SCuoAZXKd2B3aZIytS6zhqvFYlCVbdypcTVvkFbbO/ctRUdk4bpyLhKMIdd2ioVQ/3LBEX0pZADvlmezpuhkhprOStU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8898.eurprd04.prod.outlook.com (2603:10a6:20b:42d::15) by PA4PR04MB9592.eurprd04.prod.outlook.com (2603:10a6:102:271::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.49; Fri, 10 May 2024 14:28:15 +0000 Received: from AS8PR04MB8898.eurprd04.prod.outlook.com ([fe80::5e22:869c:33c:9654]) by AS8PR04MB8898.eurprd04.prod.outlook.com ([fe80::5e22:869c:33c:9654%4]) with mapi id 15.20.7544.048; Fri, 10 May 2024 14:28:15 +0000 From: Iulia Tanasescu To: linux-bluetooth@vger.kernel.org Cc: claudia.rosu@nxp.com, mihai-octavian.urzica@nxp.com, silviu.barbulescu@nxp.com, vlad.pruteanu@nxp.com, andrei.istodorescu@nxp.com, luiz.dentz@gmail.com, Iulia Tanasescu Subject: [PATCH BlueZ 4/4] test-bap: Add Broadcast Source SCC tests Date: Fri, 10 May 2024 17:27:54 +0300 Message-Id: <20240510142754.3901-5-iulia.tanasescu@nxp.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240510142754.3901-1-iulia.tanasescu@nxp.com> References: <20240510142754.3901-1-iulia.tanasescu@nxp.com> X-ClientProxiedBy: VI1P190CA0028.EURP190.PROD.OUTLOOK.COM (2603:10a6:802:2b::41) To AS8PR04MB8898.eurprd04.prod.outlook.com (2603:10a6:20b:42d::15) Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8898:EE_|PA4PR04MB9592:EE_ X-MS-Office365-Filtering-Correlation-Id: 905953c1-c06e-4f7c-5e15-08dc70fd6dc9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|366007|1800799015|376005; X-Microsoft-Antispam-Message-Info: KYlicFLwUmyNFl/xrCpKOpWls805dkJtD0dAmmkMX8uXIaGdsUpJINLg6j+Trvu9Bp5+k3NrMxA5uymCJk1d1F5dIbZ3h/FMJPqjtXsEjm8mSEM54eaQoFfa7E8ESIZuYyWqkzC80ZoBCq/KM1q4P/639e/QQpB00hF1UZ7VOuBto5tsLUQnZyzF9elrGqvULMAjOcMrWfZ53fhqJTQ3sUZA/hb/7mofIiB6KIxVmUOX/L05O0In3i3RQAlrZPixMepIAtNHlEFKqjjpSdbDW0qYt2Iveh10nlIAZxdMfxoNYra2GO0w1ZfoMB6ws+jqgPyMSBNhjOV+EMflb6YNkkX5yJ11VcEzwjOfgkYU5GbWe/FvghtqHGKkSS/bGIWM/MP+xCGLUQCWKUFanX/o+yEFyE1+kdRdwdSndcVdqfpIsqZiH8ZCnIk6RHGE9SmzjvudEvedrGMrBagNxgR0wDSnbCpqWMD3+H9h4quY+Wlq+AqOzDUb8Wh95gvbGDgJK4SoHWfM7DjoqcrgY1bMrt7RncLZtEc3d3SGPTDQZeO5xfEeV2vKs+S5fTujhzCeaj4LP4YyQBkOB0Bkr5SSzVOGKJcX+N31+a8ks/rU1eX3jlt3QbqgEQAl7zdm/yvSXK41/wtnAUZnXlr04oX/bYpnYvAHlgVhSDVRcy9zO+aqcqXHOgMgNZK5RwugrqCpMpGr7lR1tSfJnYDPjhX6aJ/xzxMtVKwKsiyRCGbtTHuBItKQyav4zurx/W8GbTwyZ1dBQZR11glSpgAKfBvW/tywEhGEdLrojEmnV6vkKbRyq+TxsDFrOnTdKgTEQY3We/gzXAPSmazpJkksuBlS2/gFnh7qANFadz5MEm08IAgkhjdN0Ovmg5qKotC4n+zN3a/I/Zca4y6sF0W+L899xqiF2Dnrj7T6Q2sgSe5nR610w6oitcfrrArUhEXP4kkNz5RlvSTQJAFja32ljxJvrIgVSy5Ab8meiRl5bXLX1H9WqMM6hQKPu0yLS5hgZQiXYM8lRluEaiO2H1uzmUVRSCLanP8aCFLUwSRzhJ0d9i897E2BOKQUn/FVN7Ysfjy7bNtK3iU+kV5n5C/cMnG5oozss0GxnV0hoYT5ztfEimKAj3A2QoBo66jFxxst6+sSFJUuuWxkXHIzbdiGdi083nsjxTW0Fu5NsKI6Kki+1UAtsg4Ia7r93nkaRgsJ6Lhf5rz2EqbvYZiw7Kpne82afBahfH1OxWV5/VG0Mnj4CAWQFbq6U1tZDtDY63JK1buoC8Fza0ufgBCrk8qecD90iw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8898.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MRrqAubfWBt1vE02+JhUrQyIDTgttyAdfZmE9Suf44yFDxrMN9BKfh2vm/VeXcwxbFD39XlR1+jEnYW9CvKnebO7iDVYIA+kpzenpwWAXWPkgbjAlDp66SvVHoBuQduiOlu5TGk/Y7Bu6aTLBcHzZszJ1NyFIu6WHmDT3u+Hi1SVN+Y+VwRMcq714r/kr5S43IdwNKM8TPaWeE3HeabVtMCEwWKCSWnt019xTkC5fkgrdkseLdT5qzG9u34uTRsRxakdhgZKHb+bks0cFCtSqkL9giv8j6coa73b/JGYUyrO+2jvlBzWBA0sse4dDLErUN2amVOvBeoj/KwfqCOwUSYnmNlUIAXsFIO8c/gtcbrdvGkg1QR0XzVezgf6an4MKFwatxoMS9Fo6RCWd6eadWuh7GeH5E/wW2ygTBGakJg0buXpS4GIkukqz70EGm76iJCxOpErlAL4axrPlnYxx5WUcE+27Jq37jQ5xMPCJXeKyeSjuk9aCv5RyFopcxQXXlmJBGEx3wr/uZGJEMeVrSZP7h/D+HYawMafj/IUZTwLGvjfUgbbNMTYb/b1U7NSSAdOmEc0ZD4qzbFIrMkpVXqZlOGKcz0Jo/3mXUa0EkuD2BoicU8oKq5VstH/xF6ruRXxFo8W8tqMW792eVlOY71PZ7NwAPE2QL2etgybL5O3CjWhmS2qaZ76U6e0pP/828Izyt6RkepKEOF7eCNeIKySGpDYM3mlCfD0qARXiwEQxumZf0YIGG7VsajOmj73HSMPzOl22kXdwH6vTbA4itPE1uoBhxkoNzh2Az+8A6T4SfDWDdoZHL0spqyiBKxCun16o5QaTFOOCk9ltl0esguOY066sNKo2guXFTEfHFXPwMbnHiCWYIGUSmuD2oHB8+wpo6oO4okRMt+/wTe4XB0X/zCTfoMWz3xX4AYO5dcRUUpxgLeywJQllzcvApvsHRD3XSzMkDGeTFZ4gvXd63m4ur4a+rLWwp/qs7v3FekvsU54aRXQCptUlMlxp4fMOC3IT71+uUyh/UdeAIx7B64v7+5P0TciOkOVya5lDIjNthui/9rruUR+lLsR9noJMD8wlHrGhSIieLwltRn9fk4EuHkhp91JXaXHHB6hFR18vM779/f3QagMfSSsMU7eFulNFMuVZbJJI5D2E/yjL+jS2c0sNXdLW9D9/dZnkiR8Gc5ayp8ZKhXngK2f2aYc+7gi+xkfUQDNDSfxDTxor+p6DVlPtOe0KitvOGeZumlxUnIPIeSKyV7z3/3s3FG8qipV3LUVI8GZS2jLvedQH/jW0YIrNLSLSowyPQBq/dBnxbkyLpCCVV2fdNi7CAzdYsJySXfPC2czulRcfTCOAViorf6jqFZ0T7HXFnfJOaUDFu7t/5hDtPFOmRmj8JOShRQ3c9puYWZdU1b6RFjCPsLtAAVe0NLnCrYSi9OaWdl7huPI3Z6VkfM7UZlyM4XXNTU7nzq2pnon/rsJP1C5wDRNRlBwJCFTzFAV1wkEioLd4JvffFqJHo67J2PCxyQVlyn5d7tKQkyF///YdWW/EO/ZDg9RB0HtvYVbvWSyDkx3Nw0mcJ74cRGBuffBL6bSgy5UIKpJP+oDh7S1cS3RvA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 905953c1-c06e-4f7c-5e15-08dc70fd6dc9 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8898.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2024 14:28:15.2123 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fR47cs+ypbaA7zjBzpN2xZM/aYUIgrzT8Yuz7+SxGzzxmyqVD+7uKj6d45y3Z8CPk847hORrZH23NYhzOpPgWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9592 4.13.1 Broadcast Source Configures Broadcast Audio Stream (page 172): Test Purpose: Verify that a Broadcast Source IUT can configure a broadcast Audio Stream with information defined by the values in its BASE structure. Test Case Configuration: BAP/BSRC/SCC/BV-01-C [Config Broadcast, LC3 8_1_1] BAP/BSRC/SCC/BV-02-C [Config Broadcast, LC3 8_2_1] BAP/BSRC/SCC/BV-03-C [Config Broadcast, LC3 16_1_1] BAP/BSRC/SCC/BV-04-C [Config Broadcast, LC3 16_2_1] BAP/BSRC/SCC/BV-05-C [Config Broadcast, LC3 24_1_1] BAP/BSRC/SCC/BV-06-C [Config Broadcast, LC3 24_2_1] BAP/BSRC/SCC/BV-07-C [Config Broadcast, LC3 32_1_1] BAP/BSRC/SCC/BV-08-C [Config Broadcast, LC3 32_2_1] BAP/BSRC/SCC/BV-09-C [Config Broadcast, LC3 44.1_1_1] BAP/BSRC/SCC/BV-10-C [Config Broadcast, LC3 44.1_2_1] BAP/BSRC/SCC/BV-11-C [Config Broadcast, LC3 48_1_1] BAP/BSRC/SCC/BV-12-C [Config Broadcast, LC3 48_2_1] BAP/BSRC/SCC/BV-13-C [Config Broadcast, LC3 48_3_1] BAP/BSRC/SCC/BV-14-C [Config Broadcast, LC3 48_4_1] BAP/BSRC/SCC/BV-15-C [Config Broadcast, LC3 48_5_1] BAP/BSRC/SCC/BV-16-C [Config Broadcast, LC3 48_6_1] BAP/BSRC/SCC/BV-17-C [Config Broadcast, LC3 8_1_2] BAP/BSRC/SCC/BV-18-C [Config Broadcast, LC3 8_2_2] BAP/BSRC/SCC/BV-19-C [Config Broadcast, LC3 16_1_2] BAP/BSRC/SCC/BV-20-C [Config Broadcast, LC3 16_2_2] BAP/BSRC/SCC/BV-21-C [Config Broadcast, LC3 24_1_2] BAP/BSRC/SCC/BV-22-C [Config Broadcast, LC3 24_2_2] BAP/BSRC/SCC/BV-23-C [Config Broadcast, LC3 32_1_2] BAP/BSRC/SCC/BV-24-C [Config Broadcast, LC3 32_2_2] BAP/BSRC/SCC/BV-25-C [Config Broadcast, LC3 44.1_1_2] BAP/BSRC/SCC/BV-26-C [Config Broadcast, LC3 44.1_2_2] BAP/BSRC/SCC/BV-27-C [Config Broadcast, LC3 48_1_2] BAP/BSRC/SCC/BV-28-C [Config Broadcast, LC3 48_2_2] BAP/BSRC/SCC/BV-29-C [Config Broadcast, LC3 48_3_2] BAP/BSRC/SCC/BV-30-C [Config Broadcast, LC3 48_4_2] BAP/BSRC/SCC/BV-31-C [Config Broadcast, LC3 48_5_2] BAP/BSRC/SCC/BV-32-C [Config Broadcast, LC3 48_6_2] BAP/BSRC/SCC/BV-33-C [Config Broadcast, VS] Pass verdict: The AdvData field of AUX_SYNC_IND and optionally AUX_CHAIN_IND PDUs contains the configured BASE information. Test Summary ------------ BAP/BSRC/SCC/BV-01-C [Config Broadcast, LC3 8_1_1] Passed BAP/BSRC/SCC/BV-02-C [Config Broadcast, LC3 8_2_1] Passed BAP/BSRC/SCC/BV-03-C [Config Broadcast, LC3 16_1_1] Passed BAP/BSRC/SCC/BV-04-C [Config Broadcast, LC3 16_2_1] Passed BAP/BSRC/SCC/BV-05-C [Config Broadcast, LC3 24_1_1] Passed BAP/BSRC/SCC/BV-06-C [Config Broadcast, LC3 24_2_1] Passed BAP/BSRC/SCC/BV-07-C [Config Broadcast, LC3 32_1_1] Passed BAP/BSRC/SCC/BV-08-C [Config Broadcast, LC3 32_2_1] Passed BAP/BSRC/SCC/BV-09-C [Config Broadcast, LC3 44.1_1_1] Passed BAP/BSRC/SCC/BV-09-C [Config Broadcast, LC3 44.1_2_1] Passed BAP/BSRC/SCC/BV-11-C [Config Broadcast, LC3 48_1_1] Passed BAP/BSRC/SCC/BV-12-C [Config Broadcast, LC3 48_2_1] Passed BAP/BSRC/SCC/BV-13-C [Config Broadcast, LC3 48_3_1] Passed BAP/BSRC/SCC/BV-14-C [Config Broadcast, LC3 48_4_1] Passed BAP/BSRC/SCC/BV-15-C [Config Broadcast, LC3 48_5_1] Passed BAP/BSRC/SCC/BV-16-C [Config Broadcast, LC3 48_6_1] Passed BAP/BSRC/SCC/BV-17-C [Config Broadcast, LC3 8_1_2] Passed BAP/BSRC/SCC/BV-18-C [Config Broadcast, LC3 8_2_2] Passed BAP/BSRC/SCC/BV-19-C [Config Broadcast, LC3 16_1_2] Passed BAP/BSRC/SCC/BV-20-C [Config Broadcast, LC3 16_2_2] Passed BAP/BSRC/SCC/BV-21-C [Config Broadcast, LC3 24_1_2] Passed BAP/BSRC/SCC/BV-22-C [Config Broadcast, LC3 24_2_2] Passed BAP/BSRC/SCC/BV-23-C [Config Broadcast, LC3 32_1_2] Passed BAP/BSRC/SCC/BV-24-C [Config Broadcast, LC3 32_2_2] Passed BAP/BSRC/SCC/BV-25-C [Config Broadcast, LC3 44.1_1_2] Passed BAP/BSRC/SCC/BV-26-C [Config Broadcast, LC3 44.1_2_2] Passed BAP/BSRC/SCC/BV-27-C [Config Broadcast, LC3 48_1_2] Passed BAP/BSRC/SCC/BV-28-C [Config Broadcast, LC3 48_2_2] Passed BAP/BSRC/SCC/BV-29-C [Config Broadcast, LC3 48_3_2] Passed BAP/BSRC/SCC/BV-30-C [Config Broadcast, LC3 48_4_2] Passed BAP/BSRC/SCC/BV-31-C [Config Broadcast, LC3 48_5_2] Passed BAP/BSRC/SCC/BV-32-C [Config Broadcast, LC3 48_6_2] Passed BAP/BSRC/SCC/BV-33-C [Config Broadcast, VS] Passed --- unit/test-bap.c | 585 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 585 insertions(+) diff --git a/unit/test-bap.c b/unit/test-bap.c index c6b3a2b47..ac9d7ff38 100644 --- a/unit/test-bap.c +++ b/unit/test-bap.c @@ -36,6 +36,7 @@ struct test_config { struct bt_bap_pac_qos pqos; struct iovec cc; + struct iovec base; struct bt_bap_qos qos; bool snk; bool src; @@ -50,6 +51,8 @@ struct test_data { struct bt_bap *bap; struct bt_bap_pac *snk; struct bt_bap_pac *src; + struct bt_bap_pac *bsrc; + struct iovec *base; struct iovec *caps; struct test_config *cfg; struct bt_bap_stream *stream; @@ -509,6 +512,93 @@ static void test_client(const void *user_data) bt_bap_attach(data->bap, data->client); } +static int pac_config(struct bt_bap_stream *stream, struct iovec *cfg, + struct bt_bap_qos *qos, bt_bap_pac_config_t cb, + void *user_data) +{ + cb(stream, 0); + + return 0; +} + +static struct bt_bap_pac_ops bcast_pac_ops = { + .config = pac_config, +}; + +static void bsrc_pac_added(struct bt_bap_pac *pac, void *user_data) +{ + struct test_data *data = user_data; + + bt_bap_pac_set_ops(pac, &bcast_pac_ops, NULL); + + data->stream = bt_bap_stream_new(data->bap, pac, NULL, + &data->cfg->qos, + &data->cfg->cc); + g_assert(data->stream); + + bt_bap_stream_config(data->stream, &data->cfg->qos, + &data->cfg->cc, NULL, data); +} + +static void bsrc_state(struct bt_bap_stream *stream, uint8_t old_state, + uint8_t new_state, void *user_data) +{ + struct test_data *data = user_data; + + switch (new_state) { + case BT_BAP_STREAM_STATE_QOS: + bt_bap_stream_enable(stream, true, NULL, NULL, NULL); + break; + case BT_BAP_STREAM_STATE_CONFIG: + data->base = bt_bap_stream_get_base(stream); + + g_assert(data->base); + g_assert(data->base->iov_len == data->cfg->base.iov_len); + g_assert(memcmp(data->base->iov_base, data->cfg->base.iov_base, + data->base->iov_len) == 0); + + bt_bap_stream_start(stream, NULL, NULL); + break; + case BT_BAP_STREAM_STATE_STREAMING: + tester_test_passed(); + break; + } +} + +static void test_bsrc(const void *user_data) +{ + struct test_data *data = (void *)user_data; + + data->db = gatt_db_new(); + g_assert(data->db); + + data->bap = bt_bap_new(data->db, data->db); + g_assert(data->bap); + + bt_bap_set_debug(data->bap, print_debug, "bt_bap:", NULL); + + bt_bap_attach_broadcast(data->bap); + + bt_bap_state_register(data->bap, bsrc_state, + NULL, data, NULL); + + bt_bap_pac_register(data->bap, bsrc_pac_added, + NULL, data, NULL); + + if (data->cfg->vs) + data->bsrc = bt_bap_add_vendor_pac(data->db, + "test-bap-bsrc", + BT_BAP_BCAST_SOURCE, 0x0ff, + 0x0000, 0x0000, + NULL, data->caps, NULL); + else + data->bsrc = bt_bap_add_pac(data->db, "test-bap-bsrc", + BT_BAP_BCAST_SOURCE, LC3_ID, + NULL, data->caps, NULL); + + g_assert(data->bsrc); +} + static void test_teardown(const void *user_data) { struct test_data *data = (void *)user_data; @@ -517,8 +607,11 @@ static void test_teardown(const void *user_data) bt_gatt_client_unref(data->client); util_iov_free(data->iov, data->iovcnt); + util_iov_free(data->base, 1); + bt_bap_remove_pac(data->snk); bt_bap_remove_pac(data->src); + bt_bap_remove_pac(data->bsrc); gatt_db_unref(data->db); tester_teardown_complete(); @@ -5381,12 +5474,504 @@ static void test_scc(void) test_str_1_1_1_lc3(); } +#define LC3_CFG(_freq, _dur, _len) \ + 0x0a, \ + 0x02, 0x01, _freq, \ + 0x02, 0x02, _dur, \ + 0x03, 0x04, _len, _len >> 8 + +#define BASE(_pd, _sgrp, _nbis, _cfg...) \ + _pd & 0xff, _pd >> 8, _pd >> 16, \ + _sgrp, \ + _nbis, \ + _cfg + +#define BASE_LC3(_pd, _sgrp, _nbis, _cc...) \ + BASE(_pd, _sgrp, _nbis, 0x06, 0x00, 0x00, 0x00, 0x00, _cc) + +#define LC3_CFG_8_1 \ + LC3_CFG(LC3_CONFIG_FREQ_8KHZ, \ + LC3_CONFIG_DURATION_7_5, \ + LC3_CONFIG_FRAME_LEN_8_1) + +#define BASE_LC3_8_1 \ + BASE_LC3(40000, 1, 1, LC3_CFG_8_1, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_8_1_1 = { + .cc = LC3_CONFIG_8_1, + .qos = LC3_QOS_8_1_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_8_1), +}; + +static struct test_config cfg_bsrc_8_1_2 = { + .cc = LC3_CONFIG_8_1, + .qos = LC3_QOS_8_1_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_8_1), +}; + +#define LC3_CFG_8_2 \ + LC3_CFG(LC3_CONFIG_FREQ_8KHZ, \ + LC3_CONFIG_DURATION_10, \ + LC3_CONFIG_FRAME_LEN_8_2) + +#define BASE_LC3_8_2 \ + BASE_LC3(40000, 1, 1, LC3_CFG_8_2, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_8_2_1 = { + .cc = LC3_CONFIG_8_2, + .qos = LC3_QOS_8_2_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_8_2), +}; + +static struct test_config cfg_bsrc_8_2_2 = { + .cc = LC3_CONFIG_8_2, + .qos = LC3_QOS_8_2_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_8_2), +}; + +#define LC3_CFG_16_1 \ + LC3_CFG(LC3_CONFIG_FREQ_16KHZ, \ + LC3_CONFIG_DURATION_7_5, \ + LC3_CONFIG_FRAME_LEN_16_1) + +#define BASE_LC3_16_1 \ + BASE_LC3(40000, 1, 1, LC3_CFG_16_1, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_16_1_1 = { + .cc = LC3_CONFIG_16_1, + .qos = LC3_QOS_16_1_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_16_1), +}; + +static struct test_config cfg_bsrc_16_1_2 = { + .cc = LC3_CONFIG_16_1, + .qos = LC3_QOS_16_1_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_16_1), +}; + +#define LC3_CFG_16_2 \ + LC3_CFG(LC3_CONFIG_FREQ_16KHZ, \ + LC3_CONFIG_DURATION_10, \ + LC3_CONFIG_FRAME_LEN_16_2) + +#define BASE_LC3_16_2 \ + BASE_LC3(40000, 1, 1, LC3_CFG_16_2, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_16_2_1 = { + .cc = LC3_CONFIG_16_2, + .qos = LC3_QOS_16_2_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_16_2), +}; + +static struct test_config cfg_bsrc_16_2_2 = { + .cc = LC3_CONFIG_16_2, + .qos = LC3_QOS_16_2_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_16_2), +}; + +#define LC3_CFG_24_1 \ + LC3_CFG(LC3_CONFIG_FREQ_24KHZ, \ + LC3_CONFIG_DURATION_7_5, \ + LC3_CONFIG_FRAME_LEN_24_1) + +#define BASE_LC3_24_1 \ + BASE_LC3(40000, 1, 1, LC3_CFG_24_1, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_24_1_1 = { + .cc = LC3_CONFIG_24_1, + .qos = LC3_QOS_24_1_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_24_1), +}; + +static struct test_config cfg_bsrc_24_1_2 = { + .cc = LC3_CONFIG_24_1, + .qos = LC3_QOS_24_1_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_24_1), +}; + +#define LC3_CFG_24_2 \ + LC3_CFG(LC3_CONFIG_FREQ_24KHZ, \ + LC3_CONFIG_DURATION_10, \ + LC3_CONFIG_FRAME_LEN_24_2) + +#define BASE_LC3_24_2 \ + BASE_LC3(40000, 1, 1, LC3_CFG_24_2, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_24_2_1 = { + .cc = LC3_CONFIG_24_2, + .qos = LC3_QOS_24_2_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_24_2), +}; + +static struct test_config cfg_bsrc_24_2_2 = { + .cc = LC3_CONFIG_24_2, + .qos = LC3_QOS_24_2_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_24_2), +}; + +#define LC3_CFG_32_1 \ + LC3_CFG(LC3_CONFIG_FREQ_32KHZ, \ + LC3_CONFIG_DURATION_7_5, \ + LC3_CONFIG_FRAME_LEN_32_1) + +#define BASE_LC3_32_1 \ + BASE_LC3(40000, 1, 1, LC3_CFG_32_1, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_32_1_1 = { + .cc = LC3_CONFIG_32_1, + .qos = LC3_QOS_32_1_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_32_1), +}; + +static struct test_config cfg_bsrc_32_1_2 = { + .cc = LC3_CONFIG_32_1, + .qos = LC3_QOS_32_1_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_32_1), +}; + +#define LC3_CFG_32_2 \ + LC3_CFG(LC3_CONFIG_FREQ_32KHZ, \ + LC3_CONFIG_DURATION_10, \ + LC3_CONFIG_FRAME_LEN_32_2) + +#define BASE_LC3_32_2 \ + BASE_LC3(40000, 1, 1, LC3_CFG_32_2, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_32_2_1 = { + .cc = LC3_CONFIG_32_2, + .qos = LC3_QOS_32_2_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_32_2), +}; + +static struct test_config cfg_bsrc_32_2_2 = { + .cc = LC3_CONFIG_32_2, + .qos = LC3_QOS_32_2_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_32_2), +}; + +#define LC3_CFG_44_1 \ + LC3_CFG(LC3_CONFIG_FREQ_44KHZ, \ + LC3_CONFIG_DURATION_7_5, \ + LC3_CONFIG_FRAME_LEN_44_1) + +#define BASE_LC3_44_1 \ + BASE_LC3(40000, 1, 1, LC3_CFG_44_1, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_44_1_1 = { + .cc = LC3_CONFIG_44_1, + .qos = LC3_QOS_44_1_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_44_1), +}; + +static struct test_config cfg_bsrc_44_1_2 = { + .cc = LC3_CONFIG_44_1, + .qos = LC3_QOS_44_1_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_44_1), +}; + +#define LC3_CFG_44_2 \ + LC3_CFG(LC3_CONFIG_FREQ_44KHZ, \ + LC3_CONFIG_DURATION_10, \ + LC3_CONFIG_FRAME_LEN_44_2) + +#define BASE_LC3_44_2 \ + BASE_LC3(40000, 1, 1, LC3_CFG_44_2, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_44_2_1 = { + .cc = LC3_CONFIG_44_2, + .qos = LC3_QOS_44_2_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_44_2), +}; + +static struct test_config cfg_bsrc_44_2_2 = { + .cc = LC3_CONFIG_44_2, + .qos = LC3_QOS_44_2_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_44_2), +}; + +#define LC3_CFG_48_1 \ + LC3_CFG(LC3_CONFIG_FREQ_48KHZ, \ + LC3_CONFIG_DURATION_7_5, \ + LC3_CONFIG_FRAME_LEN_48_1) + +#define BASE_LC3_48_1 \ + BASE_LC3(40000, 1, 1, LC3_CFG_48_1, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_48_1_1 = { + .cc = LC3_CONFIG_48_1, + .qos = LC3_QOS_48_1_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_1), +}; + +static struct test_config cfg_bsrc_48_1_2 = { + .cc = LC3_CONFIG_48_1, + .qos = LC3_QOS_48_1_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_1), +}; + +#define LC3_CFG_48_2 \ + LC3_CFG(LC3_CONFIG_FREQ_48KHZ, \ + LC3_CONFIG_DURATION_10, \ + LC3_CONFIG_FRAME_LEN_48_2) + +#define BASE_LC3_48_2 \ + BASE_LC3(40000, 1, 1, LC3_CFG_48_2, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_48_2_1 = { + .cc = LC3_CONFIG_48_2, + .qos = LC3_QOS_48_2_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_2), +}; + +static struct test_config cfg_bsrc_48_2_2 = { + .cc = LC3_CONFIG_48_2, + .qos = LC3_QOS_48_2_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_2), +}; + +#define LC3_CFG_48_3 \ + LC3_CFG(LC3_CONFIG_FREQ_48KHZ, \ + LC3_CONFIG_DURATION_7_5, \ + LC3_CONFIG_FRAME_LEN_48_3) + +#define BASE_LC3_48_3 \ + BASE_LC3(40000, 1, 1, LC3_CFG_48_3, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_48_3_1 = { + .cc = LC3_CONFIG_48_3, + .qos = LC3_QOS_48_3_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_3), +}; + +static struct test_config cfg_bsrc_48_3_2 = { + .cc = LC3_CONFIG_48_3, + .qos = LC3_QOS_48_3_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_3), +}; + +#define LC3_CFG_48_4 \ + LC3_CFG(LC3_CONFIG_FREQ_48KHZ, \ + LC3_CONFIG_DURATION_10, \ + LC3_CONFIG_FRAME_LEN_48_4) + +#define BASE_LC3_48_4 \ + BASE_LC3(40000, 1, 1, LC3_CFG_48_4, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_48_4_1 = { + .cc = LC3_CONFIG_48_4, + .qos = LC3_QOS_48_4_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_4), +}; + +static struct test_config cfg_bsrc_48_4_2 = { + .cc = LC3_CONFIG_48_4, + .qos = LC3_QOS_48_4_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_4), +}; + +#define LC3_CFG_48_5 \ + LC3_CFG(LC3_CONFIG_FREQ_48KHZ, \ + LC3_CONFIG_DURATION_7_5, \ + LC3_CONFIG_FRAME_LEN_48_5) + +#define BASE_LC3_48_5 \ + BASE_LC3(40000, 1, 1, LC3_CFG_48_5, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_48_5_1 = { + .cc = LC3_CONFIG_48_5, + .qos = LC3_QOS_48_5_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_5), +}; + +static struct test_config cfg_bsrc_48_5_2 = { + .cc = LC3_CONFIG_48_5, + .qos = LC3_QOS_48_5_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_5), +}; + +#define LC3_CFG_48_6 \ + LC3_CFG(LC3_CONFIG_FREQ_48KHZ, \ + LC3_CONFIG_DURATION_10, \ + LC3_CONFIG_FRAME_LEN_48_6) + +#define BASE_LC3_48_6 \ + BASE_LC3(40000, 1, 1, LC3_CFG_48_6, 0x00, 0x01, 0x00) + +static struct test_config cfg_bsrc_48_6_1 = { + .cc = LC3_CONFIG_48_6, + .qos = LC3_QOS_48_6_1_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_6), +}; + +static struct test_config cfg_bsrc_48_6_2 = { + .cc = LC3_CONFIG_48_6, + .qos = LC3_QOS_48_6_2_B, + .base = UTIL_IOV_INIT(BASE_LC3_48_6), +}; + +#define VS_CC \ + 0x02, 0x01, 0x08, \ + 0x02, 0x02, 0x00, \ + 0x05, 0x03, 0x01, 0x00, 0x00, 0x00, \ + 0x03, 0x04, 0x75, 0x00 + +#define VS_CFG \ + 0x10, \ + VS_CC + +#define BASE_VS \ + BASE(40000, 1, 1, 0xFF, 0x00, 0x00, 0x00, 0x00, \ + VS_CFG, 0x00, 0x01, 0x00) + +#define QOS_BCAST \ +{ \ + .bcast.big = 0x00, \ + .bcast.bis = 0x00, \ + .bcast.framing = LC3_QOS_UNFRAMED, \ + .bcast.delay = 40000, \ + .bcast.io_qos.interval = 7500, \ + .bcast.io_qos.latency = 10, \ + .bcast.io_qos.sdu = 40, \ + .bcast.io_qos.phy = BT_BAP_CONFIG_PHY_2M, \ + .bcast.io_qos.rtn = 2, \ +} + +static struct test_config cfg_bsrc_vs = { + .cc = UTIL_IOV_INIT(VS_CC), + .qos = QOS_BCAST, + .base = UTIL_IOV_INIT(BASE_VS), + .vs = true, +}; + +/* Test Purpose: + * Verify that a Broadcast Source IUT can configure a broadcast + * Audio Stream with information defined by the values in its BASE + * structure. The verification is performed one Codec Setting and + * set of parameters at a time, as enumerated in the test cases in + * Table 4.73. + * + * Pass verdict: + * In step 2, the AdvData field of AUX_SYNC_IND and optionally + * AUX_CHAIN_IND PDUs contains the configured BASE information. + * + * In step 3, the IUT transmits the PA synchronization information in + * the SyncInfo field of the Extended Header field of AUX_ADV_IND PDUs. + * The AUX_ADV_IND PDUs include the Service Data AD Type in the AdvData + * field with the Service UUID equal to the Broadcast Audio Announcement + * Service UUID. The additional service data includes Broadcast_ID. + * + * Each value included in the Codec_Specific_Configuration is formatted in + * an LTV structure with the length, type, and value specified in Table 4.74. + */ +static void test_bsrc_scc(void) +{ + define_test("BAP/BSRC/SCC/BV-01-C [Config Broadcast, LC3 8_1_1]", + NULL, test_bsrc, &cfg_bsrc_8_1_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-02-C [Config Broadcast, LC3 8_2_1]", + NULL, test_bsrc, &cfg_bsrc_8_2_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-03-C [Config Broadcast, LC3 16_1_1]", + NULL, test_bsrc, &cfg_bsrc_16_1_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-04-C [Config Broadcast, LC3 16_2_1]", + NULL, test_bsrc, &cfg_bsrc_16_2_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-05-C [Config Broadcast, LC3 24_1_1]", + NULL, test_bsrc, &cfg_bsrc_24_1_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-06-C [Config Broadcast, LC3 24_2_1]", + NULL, test_bsrc, &cfg_bsrc_24_2_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-07-C [Config Broadcast, LC3 32_1_1]", + NULL, test_bsrc, &cfg_bsrc_32_1_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-08-C [Config Broadcast, LC3 32_2_1]", + NULL, test_bsrc, &cfg_bsrc_32_2_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-09-C [Config Broadcast, LC3 44.1_1_1]", + NULL, test_bsrc, &cfg_bsrc_44_1_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-10-C [Config Broadcast, LC3 44.1_2_1]", + NULL, test_bsrc, &cfg_bsrc_44_2_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-11-C [Config Broadcast, LC3 48_1_1]", + NULL, test_bsrc, &cfg_bsrc_48_1_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-12-C [Config Broadcast, LC3 48_2_1]", + NULL, test_bsrc, &cfg_bsrc_48_2_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-13-C [Config Broadcast, LC3 48_3_1]", + NULL, test_bsrc, &cfg_bsrc_48_3_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-14-C [Config Broadcast, LC3 48_4_1]", + NULL, test_bsrc, &cfg_bsrc_48_4_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-15-C [Config Broadcast, LC3 48_5_1]", + NULL, test_bsrc, &cfg_bsrc_48_5_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-16-C [Config Broadcast, LC3 48_6_1]", + NULL, test_bsrc, &cfg_bsrc_48_6_1, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-17-C [Config Broadcast, LC3 8_1_2]", + NULL, test_bsrc, &cfg_bsrc_8_1_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-18-C [Config Broadcast, LC3 8_2_2]", + NULL, test_bsrc, &cfg_bsrc_8_2_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-19-C [Config Broadcast, LC3 16_1_2]", + NULL, test_bsrc, &cfg_bsrc_16_1_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-20-C [Config Broadcast, LC3 16_2_2]", + NULL, test_bsrc, &cfg_bsrc_16_2_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-21-C [Config Broadcast, LC3 24_1_2]", + NULL, test_bsrc, &cfg_bsrc_24_1_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-22-C [Config Broadcast, LC3 24_2_2]", + NULL, test_bsrc, &cfg_bsrc_24_2_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-23-C [Config Broadcast, LC3 32_1_2]", + NULL, test_bsrc, &cfg_bsrc_32_1_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-24-C [Config Broadcast, LC3 32_2_2]", + NULL, test_bsrc, &cfg_bsrc_32_2_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-25-C [Config Broadcast, LC3 44.1_1_2]", + NULL, test_bsrc, &cfg_bsrc_44_1_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-26-C [Config Broadcast, LC3 44.1_2_2]", + NULL, test_bsrc, &cfg_bsrc_44_2_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-27-C [Config Broadcast, LC3 48_1_2]", + NULL, test_bsrc, &cfg_bsrc_48_1_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-28-C [Config Broadcast, LC3 48_2_2]", + NULL, test_bsrc, &cfg_bsrc_48_2_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-29-C [Config Broadcast, LC3 48_3_2]", + NULL, test_bsrc, &cfg_bsrc_48_3_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-30-C [Config Broadcast, LC3 48_4_2]", + NULL, test_bsrc, &cfg_bsrc_48_4_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-31-C [Config Broadcast, LC3 48_5_2]", + NULL, test_bsrc, &cfg_bsrc_48_5_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-32-C [Config Broadcast, LC3 48_6_2]", + NULL, test_bsrc, &cfg_bsrc_48_6_2, IOV_NULL); + + define_test("BAP/BSRC/SCC/BV-33-C [Config Broadcast, VS]", + NULL, test_bsrc, &cfg_bsrc_vs, IOV_NULL); +} + int main(int argc, char *argv[]) { tester_init(&argc, &argv); test_disc(); test_scc(); + test_bsrc_scc(); return tester_run(); }