Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp80228rdh; Sat, 23 Sep 2023 02:14:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHTwi9upKPaGG4SS1dJ4INnwlCprjl2ktexbiR4OQciApqwiHccRkFRwVAuK7oZBqmM7QYA X-Received: by 2002:a05:6a00:2b8a:b0:692:6417:728a with SMTP id dv10-20020a056a002b8a00b006926417728amr5845369pfb.14.1695460480315; Sat, 23 Sep 2023 02:14:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1695460480; cv=pass; d=google.com; s=arc-20160816; b=Q4hDp5S8SqO0C/qwypOLj/9DmFtt3ccfc04/HTUZi+W8N/weUsQZKDbhcuC/rikNKR DPa0WQJWL7TzEDIQJTo0+6niZFjUxWAq06UyVlOVXSLKflBrKf/MdrvduxjEjfED3HDi FRevRAOMeA4RORNeReEzw6nUZ9DI2mL/vFqUcoMD4oonoU9zQOnVj18wjSa7jNUorrHd zukTJsPDlcpAXTFz65NnqnBEa+BD/kTz4bF44ffvgIvej2Oy2TS6eOLavXd9PyqvqiSF Gp4ityZXDwyEsGjAi+9KHQDN89IbX2RNd5iEXzMj9G/5OU1w/BQ4lH2SmiXQSN31ztgu fWYw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:to:from :subject:message-id:dkim-signature; bh=jK0/+mlqnTF6UIanKWHATQ7cco3waG6M+WU8Awo/Eps=; fh=HK6t0SFPvSh88TNcprQy3ad2PhCK0eaoptA9zvoG5Hg=; b=MaIvdBFudfSiyCoCRocczQ3Xf129WkObBddKD/mkxlcqyuoYnqrrkbbkvs54CCgEgW +eTPM3jaFRFkUTHs3inC0a8QByfy/AhXlfzVwi7YMM9gpPReAIxISbXhdJAAtJiQvssa SdGaE+9NhlUxagE99fpWF4PaKYAuAXYB1RcLHsqsE0ID2oWa2esu6mO5jyGneddTN0e2 ir9AbQmZRo6SUWZc1jg7zrdBWRrPboJfiYN15NOhsW2YOGClZNrqz0Vo84kOrsEBk7yg X+ioEmx04kzhqJeDybFRoKOH+g+gGV4TTo4V6fr2cmUnvM1q2Ao6rdQYdAQTu9XfSkV7 robQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@iki.fi header.s=lahtoruutu header.b=ZJEMXjKz; arc=pass (i=1); spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id eh7-20020a056a00808700b0068e26b4cd71si5425292pfb.179.2023.09.23.02.14.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Sep 2023 02:14:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@iki.fi header.s=lahtoruutu header.b=ZJEMXjKz; arc=pass (i=1); spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 5601D801D491; Sat, 23 Sep 2023 02:14:25 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229728AbjIWJOT (ORCPT + 99 others); Sat, 23 Sep 2023 05:14:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54166 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229706AbjIWJOT (ORCPT ); Sat, 23 Sep 2023 05:14:19 -0400 Received: from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 289D5136 for ; Sat, 23 Sep 2023 02:14:12 -0700 (PDT) Received: from [192.168.1.195] (unknown [IPv6:2a0c:f040:0:2790::a01d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: pav@iki.fi) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4Rt3Nb2jcbz49Psw; Sat, 23 Sep 2023 12:14:07 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1695460447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jK0/+mlqnTF6UIanKWHATQ7cco3waG6M+WU8Awo/Eps=; b=ZJEMXjKzcyU8gxZPSukv/yimdMFfItUZndKj398u+dDpfr+DOBC5T5XqMK//84pd9UQXVO cR5FPEjBdQGoVOTTMhJHkTEzBL5YkWUN024VyV+esjhnNesBW2BX234RAA9yfSvUNJu2LH +/TuF0L3sBh0HekguVC2grZkUQna2NuaXhVqUQC7q1ZxwAQjcIvWE6xTOd7B2+Uor2zVEu LtCwFFo3rBSE8JwgBkefDzV2otjSSEf6qwuDTxNmm9Bg12w3P2kgXXk2S7aXAgzg1q2MaQ Sws0nEkTRZSkdSw8KMiJ9fFCrc3rxzH1hqgIFsZqg5jBxP32vDQFtwHFtILUjw== ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1695460447; a=rsa-sha256; cv=none; b=ZcyRyFE9jR+cF0JwYtxI6N4Qmq5sR6RN70iYVRtDol0Nv8W9J6HeZFo30xjM+Z5/TrX2H2 b8iu6tosnBjqSZetFxuCkm9jB2PIxpeowqVAnoB2Rkgk7C+EOA8NzH9TX0DKd4dPp4rgFH VxOYBhk6oUqaWUiWkd2nLmhvHm+K5MHF2vnN2zXZT4W1YHdQSdg9gvCwUU2jjMmB8YUWo9 xMOtTBPNVOVXIvyzS4OiPrFyQQLXZlJoyqgpUK1jf8q+/G/dVFfy/RXSlkT5AdE+q8mNSu T9s/7z+DH4b6PQ9BmrZX9COhzdjd1PjNDud9T3kuqICJxChyRxIV5Gtg6KbnVA== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=pav@iki.fi smtp.mailfrom=pav@iki.fi ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1695460447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jK0/+mlqnTF6UIanKWHATQ7cco3waG6M+WU8Awo/Eps=; b=CIM/6RPSFed6JMJ/A+hmcTUy12Svr4mJ1fGHtk2y1UzUu9QIspNmpte7pv1ZO69n2Nb8nh 5Ao/hoJoEBTB7l8XywkasXCC/pVEUqombWRuwcgDhhrR2MWe4zDsmxJCNZp2eTRRJMBJXX afNcZ58HFJfK0hwaYcFYQgwbB1xpKuIn1D9GuzOXLPS2Ll0yiSttz+XoeHocJQNjqLCjXq KyNTnFTabP9e8rwEK9WxFH1k3yYwW0pcnAiCkn4SlS2qudR/G45zVxPG+HSOuoWRRMi99i ofldpx+YUZv9dij1Zx90Xt6sB+p17DDWgwzWhYwh4Xz/bZqm9Y9vgu53omt4bQ== Message-ID: <9100eb19ee8fb16e78cfee86e953dfe2afd6efe9.camel@iki.fi> Subject: Re: [PATCH v2 6/6] doc/media: Convert media-api.rst into manpages From: Pauli Virtanen To: Luiz Augusto von Dentz , linux-bluetooth@vger.kernel.org Date: Sat, 23 Sep 2023 12:14:05 +0300 In-Reply-To: <20230922192335.1060601-6-luiz.dentz@gmail.com> References: <20230922192335.1060601-1-luiz.dentz@gmail.com> <20230922192335.1060601-6-luiz.dentz@gmail.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sat, 23 Sep 2023 02:14:25 -0700 (PDT) Hi Luiz, pe, 2023-09-22 kello 12:23 -0700, Luiz Augusto von Dentz kirjoitti: > From: Luiz Augusto von Dentz >=20 > This splits media-api.rst into org.bluez.Media.rst and > generate manpages for them. I made a pass looking at the implementations of the transport/endpoint and SetConfiguration/SelectProperties/SelectConfiguration and comparing to docs. Note that the SelectProperties API has a problem with BAP endpoint configuration. We maybe should redesign it while we still can? I think generally at least from Pipewire side there's no need to keep backward compatibility while this is experimental. We can target BlueZ master branch. SelectProperties API problem: As BAP client one first does Config Codec (ASCS =C2=A75.1) which takes Target_Latency, Target_PHY and Codec. After this, the ASE properties (ACSS Table 4.3) in Codec Configured state contain the server supported values for Max_Transport_Latency, Presentation_Delay_Min/Max etc. SelectProperties is called before Config Codec, so it cannot necessarily know the server supported values. In this case the sound server cannot fill in QoS correctly. The client-invoked SetConfiguration API also seems to have similar issue. Probably: SelectProperties should be called twice, once to get parameters for Config Codec, and then again to get parameters for Config QoS. Or, there should be a separate "SelectCodec" and "SelectQoS" calls. Calling "SelectProperties" twice could be simpler for everyone.=C2=A0 In client-invoked "SetConfiguration" API, one probably should only pass in the parameters needed for Config Codec, and BlueZ should then make a SelectProperties call to get the QoS ones once the server-side values are known. I can take a look at this... MediaTransport: "Delay" field only exists for A2DP in code. "Volume" field only exists for A2DP in code. "Links" is ucast only in code. "QoS.TargetLatency" does not exist in code. Maybe it should be exposed for consistency, since it's expected as return from SelectProperties. SetConfiguration: SetConfiguration properties dict when called by BlueZ contains exactly the properties of the transport. The documentation probably should say that this is so. When called by client, the contents of the properties dict are expected to be different. QoS parameters are not packed in a "QoS" dict. Maybe they should be. The "PHY" key is also still a string here. The documented input parameters expected from client are wrong, the documentation explains fields of struct bt_bap_pac_qos, but what the code parses are that of struct bt_bap_qos. "MaximumLatency": no such field in code, seems to be called "Latency" everywhere. SelectProperties: In code, the return parameter expects QoS parameters (struct bt_bap_qos) to be packed in "QoS" dict. They are not packed in "QoS" dict in the input parameters. These are not exactly QoS, but instead struct bt_bap_pac_qos, so not clear if they should be packed. The input and return parameters are not documented. The input QoS contains fields of struct bt_bap_pac_qos. The return QoS has fields of struct bt_bap_qos. MediaEndpoint: The endpoints published by BlueZ only have the properties "UUID", "Codec", "Capabilities", "Device". The documentation lists various other things, but they are not implemented as server endpoint properties. As client endpoint properties: "RTN" is expected to be present in code, but is not documented. "MaximumLatency" "Location" "SupportedContext" "Context" are documented but not present in code. --=20 Pauli Virtanen