Skip to content

LE Audio: it is not possible to provide SDUs with a timestamp of zero. #68293

@henrla

Description

@henrla

Describe the bug
In bt_iso_chan_send, the API to provide SDUs to zephyr does not accept a timestamp of zero. A timestamp of zero is rather used to indicate that the SDU will be sent to the controller without a timestamp. This is a bug, as a timestamp of zero is a valid value.

To Reproduce
N/A

Expected behavior
It is expected that it is possible to send an SDU with a timestamp of zero as this is a valid timestamp, and necessary to ensure robustness with regards to synchronizing several streams.

Impact
The 32bit timestamp provided in HCI ISO data (described in Bluetooth Core Spec Version 5.4, vol 4, part E, section 5.4.5) will wrap during the lifetime of a stream if the stream plays long enough, and it may wrap on exactly zero. Timestamps are the primary mechanism to synchronize more than one stream. Thus, if there are more than one stream, the streams may be unable to synchronize if the timestamp wraps on zero.

Logs and console output
N/A

Environment (please complete the following information):
Commit SHA or Version used: e840c9af011df029bb1208bbdef5e7b605af1c85

Additional context
N/A

Metadata

Metadata

Assignees

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions