-
Notifications
You must be signed in to change notification settings - Fork 55
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
Switch to PortAudio #76
base: master
Are you sure you want to change the base?
Conversation
You should explain the motivation and benefit for the migration of PortAudio. |
fd58de0
to
0d81990
Compare
Code Review Agent Run Status
|
4 similar comments
Code Review Agent Run Status
|
Code Review Agent Run Status
|
Code Review Agent Run Status
|
Code Review Agent Run Status
|
6d42303
to
6e00d27
Compare
Build failure:
|
Thanks for the reminder! |
f26f174
to
e331ed7
Compare
Makefile
Outdated
git submodule update --init portaudio | ||
$(PORTAUDIOLIB): portaudio/Makefile | ||
@cd $(dir $<) && ./configure | ||
@cd $(dir $<) && $(MAKE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace with $(MAKE) -C $(dir $<)
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jserv ,
As the $(MAKE) -C $(dir $<)
have problems with Automake project, so I use a solution of @cd $(dir $<)
with the help of LLM.
However, there might be some solutions exist. I will try to figure out.
e331ed7
to
e7184f0
Compare
goto early_continue; \ | ||
} \ | ||
\ | ||
if (WRITE) { \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not using IIF
macro?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jserv ,
As I don't find any IIF
macro in semu repo, the IIF
macro you mean is the Linux Kernel networking code for extracting the index of the network interface?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jserv ,
Thanks for the hint! I will take as a reference.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eventually, the semu project will be merged into rv32emu, meaning that you can utilize the existing helper macros from rv32emu.
Switch to PortAudio for cross-platform and cross backend compatibility. Yet, there are two known limitations for current sound playback implementation: 1. The last period of sound is lost. 2. You cannot play sound twice or the device will crash thus whole system crashes.
e7184f0
to
a73d91d
Compare
Code Review Agent Run Status
|
Code Review Agent Run Status
|
Code Review Agent Run Status
|
Switch to PortAudio for cross-platform and cross backend compatibility.
Yet, there are two known limitations for current sound playback implementation:
whole system crashes.
Summary by Bito
This pull request integrates PortAudio to enhance cross-platform audio playback, replacing the previous CNFA submodule. It updates the Makefile for better build configurations, addresses issues like sound loss and system crashes, and improves PCM stream handling and compatibility, while also updating documentation.Unit tests added: False
Estimated effort to review (1-5, lower is better): 2