Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LE Audio: Add a codec to Zephyr #41228

Closed
Thalley opened this issue Dec 15, 2021 · 7 comments · Fixed by #44225
Closed

LE Audio: Add a codec to Zephyr #41228

Thalley opened this issue Dec 15, 2021 · 7 comments · Fixed by #44225
Assignees
Labels
area: Bluetooth Audio Enhancement Changes/Updates/Additions to existing features

Comments

@Thalley
Copy link
Collaborator

Thalley commented Dec 15, 2021

zephyr-bt host meeting 2020-09-08
From discussion at IOP in Vienna.
It is possible to get access to LC3 source for EHIMA - shared on individual basis.
MIT license, going into AOSP at some point
Non-optimized codec

asbjornsabo commented on 23 Mar:
EHIMA LC3 codec contributed
https://github.com/zephyrproject-rtos/liblc3codec/

@Thalley Thalley added Enhancement Changes/Updates/Additions to existing features area: Bluetooth Audio labels Dec 15, 2021
@Thalley
Copy link
Collaborator Author

Thalley commented Dec 15, 2021

@Casper-Bonde-Bose @rymanluk Was this something you had started looking into?

@Casper-Bonde-Bose
Copy link
Collaborator

@Thalley Yes, I have it building and have made c++ wrappers for Lc3Config and Lc3Encoder classes and have integrated the use of the codec into the unicast_audio_client sample application to transmit a 500Hz tone rather than test data (for the native_posix build). I'm experiencing some issues with encryption which means I cannot verify the encoding using an air-trace. Also I have a timing issue - even though I have a timer firing every 10ms it seems to fire every 20ms - hence the data rate is only half of the expected.
I'll try to disable encryption to validate the content of the CIS stream a nd have an idea of how to fix the timing issue.
I'll upload the Zephyr module build additions to https://github.com/zephyrproject-rtos/liblc3codec/ when I have validated it works. When that is approved and merged I can add the module to Zephyr and upload the integration into the sample-applications
Initially I'll only add support for the native_posix build and let others extend to other relevant build-targets - the LC3 codec is not optimized, hence I'm not sure it will perform well on an embedded platform.

@Thalley
Copy link
Collaborator Author

Thalley commented Dec 15, 2021

@Casper-Bonde-Bose Can we assign this to you then, and move to in-progress?

@Casper-Bonde-Bose Casper-Bonde-Bose self-assigned this Dec 15, 2021
@Casper-Bonde-Bose
Copy link
Collaborator

@Thalley Sure. I assigned it to me, but I don't think I have access to move to in progress :-) At least I cannot drag the issue in the project overview.

@Thalley
Copy link
Collaborator Author

Thalley commented Dec 15, 2021

@Thalley Sure. I assigned it to me, but I don't think I have access to move to in progress :-) At least I cannot drag the issue in the project overview.

Interesting. I'll have to look further into that. Moved it into in-progress for you :)

@Casper-Bonde-Bose
Copy link
Collaborator

Zephyr module PR (needs merge before Zephyr PR can build)
zephyrproject-rtos/liblc3codec#4
Doing cleanup of the Zephyr PR, will upload draft version shortly allowing transfer of an LC3 encoded sinus tone over a CIS link.

@Casper-Bonde-Bose
Copy link
Collaborator

The changes are pending review from a second reviewer:
First to be submitted:
zephyrproject-rtos/liblc3codec#4

Then this:
#42443
But the latter requires an update in the manifest to point to the commit-id of the LC3 PR before it is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Bluetooth Audio Enhancement Changes/Updates/Additions to existing features
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants