Received: by 2002:a05:6358:701b:b0:131:369:b2a3 with SMTP id 27csp3400086rwo; Mon, 24 Jul 2023 10:23:44 -0700 (PDT) X-Google-Smtp-Source: APBJJlG4/1KUdnlSQqmAP4RX5vMqSNgGilVm16bnmA/swR6uHz25dqNRqjSBNGXf8dtBG3uXL6Jl X-Received: by 2002:a17:907:78c5:b0:973:daa0:2f6 with SMTP id kv5-20020a17090778c500b00973daa002f6mr11076350ejc.3.1690219424470; Mon, 24 Jul 2023 10:23:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690219424; cv=none; d=google.com; s=arc-20160816; b=bdW5gBjTW2QyDoqeYtiodbT8rJcJBTaw9tbtK4+gREnILu1QeTJQQ2X3poJsJ897B9 l4qAUFcgW2RmHbqdU0P0tkhy3Ct0oOtoNR3SyZO5N6CuirIKEzly/GO9DFMSLDrMJWyt aHaImjBIgN6d5HZmfeXvjYQzr2/MThGSPCZA25Mbd5DLhafYvBftKwchl5x0XF68R3mL iO1CgsnYLfniLzpuXZ/hM5T2ZGfgrK5x+IhyB9htOV5gV1BkxvDGuKzvInhLxxscua6j A89D8xh9ReRhhy2TgaOrAgBFtQjzEwifIpesPBjYl9XLB4nrIqEveI2DdAiCs2Pl/ggK CNyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=Vhmw6oCssaqjUN5GauBK6cmFD9VML3oz1aGp0hJ77+Q=; fh=VXNCg1Bxi0IpkDq9rKrljwdfZvOdRry3t6ijSqKiHaQ=; b=eDUYfjby3DCrOECyz3mGSspPk8szLnyXNXmm4jH+E5a6JVluAE20g+jv66bz8Al2t0 1uQRt68kB/d5pIiOTiiwqtyhBDNYkt80GansFbxOp2/eQjP8Kiu/rFavNw5RulxTjEFw +5jCFhGNpyCZL0R2sdmaLSmhaW1wobFCfe+3yYXt7f/VbqtI7vfS0Oep/gRNhBXS7D2Q /mk4MkCgT/lhnF0jOF3vx3g2aUh+NnPsq46q+0CwAuB2NgVRkHq3MwAn4GS/cm26WmYN vQcSNWqFiBnSbH2ZL2aZSzyZOwb6oTltnLittshyxAkumjKIRuhFPhNATdAvFPcCDlLR 0J9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=CpLjVdwv; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v1-20020a1709064e8100b00993689daad1si6866646eju.116.2023.07.24.10.23.09; Mon, 24 Jul 2023 10:23:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=CpLjVdwv; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229910AbjGXRGm (ORCPT + 99 others); Mon, 24 Jul 2023 13:06:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229504AbjGXRGl (ORCPT ); Mon, 24 Jul 2023 13:06:41 -0400 Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6C39EB0 for ; Mon, 24 Jul 2023 10:06:40 -0700 (PDT) Received: by mail-lj1-x234.google.com with SMTP id 38308e7fff4ca-2b741cf99f8so65398891fa.0 for ; Mon, 24 Jul 2023 10:06:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690218399; x=1690823199; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Vhmw6oCssaqjUN5GauBK6cmFD9VML3oz1aGp0hJ77+Q=; b=CpLjVdwv72w9yJbDkd7y8+Lk7bqu69xpnJlxJGIaS+4b0+BwvFMR7GjegGf0sjBiHR 4ayOwKES/vLA+W+WwS7T2g1DOR5js9aQJ7EVw1kzSLZXseRcLITtS5u19fBKCQ2Sxire uEoO0DNus5GiZwJ6RthMhtc3zbTyEgtBoUGz3OAl2gOmNpJkjqB9UTJVCPV7ZQv9RjVk zJfGXIMnOihjjjA820ZreCAFgl5sUeiWBFiQ5Hoh9X4RQ8haHe4jnTpszVcCGyLbTB64 8vQVqHmv8F/LlFTXoB61aN0igFTN6c0usM8Cq7m56iWRuV1QrQRTsNTTiWmiDEpnSDEF 2fkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690218399; x=1690823199; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Vhmw6oCssaqjUN5GauBK6cmFD9VML3oz1aGp0hJ77+Q=; b=BISYBCLTmP6KohYDvlEUByg4NHepwllPEJCtIqOoK7/LLTsBZkvQ97Nh1IGiY3WOU+ nmgDX8MU932ZMrPjQzvSQGdTA9R4o/AdEYLkWqMr++FtqI4EecXylwlUOXJRl5URCon4 skQyXZk4jHMiVByccrwMRxzMZlPchH782bMIy0ccxdy8DQQGQExXLfq2cC/XeP4HsQR9 UZMABi5Xby2aukOnEcWZkBtbnuLeID3cU6u1pMqAzC2kkVUqcIK8W5xOQLyiUkZjl9nL JYyHHMfb+AGiHmOQqR9H16zLWFguQ0m6QoNVvc7ns14BKjW3PBPIPm7msgdxPHAVjyBp 5pZA== X-Gm-Message-State: ABy/qLY4Ou2gJlymIYAsvc2ZYBeDsaTDqrb5Oq2wAOtrEu7HSkR0Tjv6 ME88Iqes2DUtJnBGxH3SHX5l9EDnMnEcjXZi0uygSZEM X-Received: by 2002:a2e:8047:0:b0:2b6:e2aa:8fbc with SMTP id p7-20020a2e8047000000b002b6e2aa8fbcmr5954308ljg.8.1690218398189; Mon, 24 Jul 2023 10:06:38 -0700 (PDT) MIME-Version: 1.0 References: <20230712122135.7734-1-claudia.rosu@nxp.com> In-Reply-To: From: Luiz Augusto von Dentz Date: Mon, 24 Jul 2023 10:06:25 -0700 Message-ID: Subject: Re: [EXT] Re: [PATCH BlueZ v2 0/6] Add support for BAP broadcast sink To: Silviu Florian Barbulescu Cc: "linux-bluetooth@vger.kernel.org" , Iulia Tanasescu , Mihai-Octavian Urzica , Vlad Pruteanu , Andrei Istodorescu , Claudia Cristina Draghicescu Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Hi Silviu, On Mon, Jul 24, 2023 at 8:26=E2=80=AFAM Silviu Florian Barbulescu wrote: > > Hi Luiz, > > >Hi Claudia, > > > >On Wed, Jul 12, 2023 at 10:45=E2=80=AFAM Luiz Augusto von Dentz wrote: > >> > >> Hi Claudia, > >> > >> On Wed, Jul 12, 2023 at 5:46=E2=80=AFAM Claudia Draghicescu > >> wrote: > >> > > >> > This series of patches adds support for BAP broadcast sink. > >> > It consists in registering a sink endpoint using the Sink PAC UUID, > >> > discovering of broadcast advertisers that announce the Broadcast > >> > Audio Announcement service, synchronizes to the Periodic > >> > advertisements of the source and synchronizes to the BIG advertised > >> > in the PA train. > >> > To retrieve the BASE info advertised in the PA train, the patch > >> > Bluetooth: ISO: Add support for periodic adv reports processing was > >> > used. > >> > > >> > This feature was tested using bluetoothctl with the following comman= ds: > >> > > >> > [bluetooth]# endpoint.register 00002bc9-0000-1000-8000-00805f9b34fb > >> > 0x06 [/local/endpoint/ep0] Auto Accept (yes/no): y > >> > [/local/endpoint/ep0] Max Transports (auto/value): a > >> > [/local/endpoint/ep0] unicast/broadcast (u/b): b > >> > [/local/endpoint/ep0] BIG (auto/value): a [/local/endpoint/ep0] BIS > >> > (auto/value): a > >> > >> Ive thought we would be using BAA UUID instead to follow the same > >> setup as the broadcaster role. > > We think adding a new UUID for the broadcast sink (0x1851) along with the > UUID for the broadcast source (0x1852) is the best choice because we need > to differentiate the endpoint and transport in other applications like Pi= peWire. > This follows the same procedure as for bap unicast where PAC_SOURCE_UUID > and PAC_SINK_UUID are used to differentiate between BAP unicast source an= d sink > endpoints and transports. Sure, I wasn't aware there was a broadcast sink UUID, anyway the point is to have a similar flow for both Broadcast and Unicast. > >> > >> > [bluetooth]# scan on > >> > >> Then while scanning if we find an announcement it should create a > >> remote endpoint under the device object path, just as in case of > >> unicast, which can later be used with endpoint.config. > > > >I had a few more thoughts about how to enumerate the remote broadcast en= dpoints, we may want to introduce a driver for BAA UUID so when a device is= found with BAA as part of the advertised > >UUID would get probed and the driver can take care of creating the Media= Endpoint objects based of the advertised data, probably each BIS should hav= e a endpoint, > > > >> > [bluetooth]# endpoint.config /org/bluez/hci0/pac_bcast0 > >> > /local/endpoint/ep0 16_2_1 > >> > >> Here then one would replace /org/bluez/hci0/pac_bcast0 with the one > >> found during the scanning, so the difference with broadcaster becomes > >> the source endpoint, if you pass the adapter it is for broadcaster > >> role or in case it is a remote endpoint the it is for listener role so > >> the commands would work similarly in all directions > >> > >> > Claudia Draghicescu (6): > >> > client/player: Add broadcast sink endpoint registration and > >> > configuration. > >> > client/main: Add broadcast source discovery > >> > media: Add support for a broadcast sink media endpoint > >> > transport: Update transport properties for a broadcast stream > >> > btio: Add support for getsockopt(BT_ISO_BASE) > >> > bap: Add gdbus interface for BAP broadcast sink, create > >> > synchronization with source and create BAP broadcast sink stream > >> > > >> > btio/btio.c | 13 +- > >> > client/main.c | 57 +++++- > >> > client/player.c | 187 +++++++++++++++++++- > >> > client/player.h | 3 + > >> > profiles/audio/bap.c | 347 ++++++++++++++++++++++++++++++++++= --- > >> > profiles/audio/media.c | 35 +++- > >> > profiles/audio/media.h | 2 +- > >> > profiles/audio/transport.c | 244 +++++++++++++++++++++++++- > >> > src/shared/bap.c | 50 +++++- > >> > src/shared/bap.h | 4 +- > >> > 10 files changed, 888 insertions(+), 54 deletions(-) > >> > > >> > > >> > base-commit: 838e1578072900d1f98dfb31cc538940d2fad876 > >> > -- > >> > 2.34.1 > >> > > >> > >> > >> -- > >> Luiz Augusto von Dentz > > > > > > > >-- > >Luiz Augusto von Dentz --=20 Luiz Augusto von Dentz