Comments (3)
Yep, the quality of the backend is something I'm planning on taking into account. A suitable approximate factor can be determined through testing.
Adjusting for specific hardware is something I'm already doing in ALSA (needed for Raspberry Pi), and I'm also planning on using that as one of the factors.
The calculation need not be perfect - it just needs to find a suitable balance between small enough that latency is not affected too badly and large enough that things don't become too sensitive to glitching (looking at you Raspberry Pi!). An application can always specify their own specific buffer size if they have unique requirements or would rather use their own logic for determining a suitable buffer size.
I've started testing a few ideas on my local branch which I'll be putting into the wild in the next version (coming as soon as I can!) so I can get a more accurate determination of it's usefulness. It can't be much worse than the current system...
from miniaudio.
Here my opinions:
-
Idea sounds very reasonable on paper but I'm not sure if it could work ok, there are really lots of hardware situations (plus audio libs backends) and choosing the best performance parameter is not easy... but, well, I think it worths at least trying.
-
That sounds good to me.
-
No alternative suggestion, just define a set of default sizes by hardware/audio-backend based on testing... I know, it's not a great solution...
-
Audio library backend. Maybe do the profiling on a second thread. Perform multiple times the same test on same hardware on different situations to make sure no external loads change results.
from miniaudio.
An initial implementation of this feature is in the dev branch and will be in the next version.
from miniaudio.
Related Issues (20)
- Read raw char data array from header HOT 1
- miniaudio device just stops right after the ma_device_start() is called on RaspberryPi HOT 10
- Start a playback from a specific point in millisecond ? HOT 1
- Pulsewave Duty Cycle Not Set Correctly During Initialization HOT 1
- Android playback doen't works after restarting HOT 3
- Is it possible to use init_file/init_file_w with resource manager? HOT 1
- ma_dr_* gated behind MA_IMPLEMENTATION HOT 1
- ma_engine_get_volume missing HOT 1
- Recording failure under 5.1 surround sound HOT 12
- Support requesting a specific target native sample rate for capture and playback devices (in addition to client sample rate) HOT 10
- Double cursor update in ma_stbvorbis_seek_to_pcm_frame HOT 3
- Is that possible to use miniaudio with tiny c compiler? HOT 8
- Android call recording HOT 1
- Error when using the "split" version HOT 2
- CoreAudio: Device name not updated for `ma_device_notification_type_rerouted` HOT 2
- sound stuck after using `ma_sound_stop_with_fade_in_milliseconds()` HOT 6
- Potentially incorrect <sys/...> includes HOT 2
- Looping regressions with streams shorter than 2 seconds HOT 1
- Audio playback issue after device disconnect using WASAPI backend HOT 17
- It is not possible to receive sound end callback when sound is stopped with a fade. HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from miniaudio.