| // Copyright 2024 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.bluetooth.le; |
| |
| using fuchsia.bluetooth as bt; |
| using zx; |
| |
| /// This protocol allows us to retrieve controller local delay values. It is not intended to be |
| /// used stand-alone, but to be composed into protocols that need access to this information. |
| @available(added=24) |
| closed protocol CodecDelay { |
| /// Retrieve the range of controller delay for the codec specified with the provided stream |
| /// attributes. |
| /// |
| /// On success, returns the minimum and maximum allowed delay. |
| /// |
| /// Returns ZX_ERR_NOT_SUPPORTED if reading the delay is not supported. |
| /// Returns ZX_ERR_INTERNAL for all other failures. |
| strict GetCodecLocalDelayRange(table { |
| /// Logical transport type being used. Currenly only supports LE transport mechanisms |
| /// (CIS or BIS). Required. |
| 1: logical_transport_type bt.LogicalTransportType; |
| |
| /// Indicates direction of data flow. Required. |
| 2: data_direction bt.DataDirection; |
| |
| /// Codec being used over the air. Required. |
| 3: codec_attributes bt.CodecAttributes; |
| }) -> (table { |
| /// Minimum controller delay for the specified configuration, in the range [0, 4] seconds. |
| /// Always provided on success. |
| 1: min_controller_delay zx.Duration; |
| |
| /// Maximum controller delay for the specified configuration, in the range [0, 4] seconds. |
| /// Always provided on success. |
| 2: max_controller_delay zx.Duration; |
| }) error zx.Status; |
| }; |