Commit Graph

2907 Commits

Author SHA1 Message Date
David Reid adf18f2db3 Add support for data sources to self manage loop points and ranges.
This addresses an issue where data streams can have a delay between
loop points due to it's asynchronous loading mechanism. With this
change, streams should now have a clean loop transition.
2021-11-14 10:36:17 +10:00
David Reid bb4078cc26 Fix a bug when reading from a looped data source with a range. 2021-11-14 09:27:45 +10:00
David Reid efa95d998f Remove the loop parameter from ma_data_source_read_pcm_frames(). 2021-10-13 18:51:17 +10:00
David Reid 80cdee58ae Add ma_data_source_set_looping().
This is used for giving the data source a hint as to whether or not
it'll be used in a looping situations. It's required for some data
sources which need to know about it's looping state for caching or
whatnot.
2021-10-12 19:48:09 +10:00
David Reid e78ce5e32a Add experimental support for setting an initial seek point for sounds.
The API for the resource management part of this commit may change.
2021-10-11 10:50:55 +10:00
David Reid 0edf83565e Expose seek tables for MP3 decoding. 2021-10-11 10:14:14 +10:00
David Reid 26db06adca Update device IO test. 2021-10-10 20:07:36 +10:00
David Reid debf3ac672 Fix some compilation errors with C89. 2021-10-10 15:40:32 +10:00
David Reid 42e949c0ff Fix some unused result warnings. 2021-10-10 15:33:05 +10:00
David Reid 64183b07e1 Add support for using native channel count for sound output channels. 2021-10-10 14:32:18 +10:00
David Reid 6e962ec588 Fix a compilation error on the Apple build. 2021-10-10 14:17:23 +10:00
David Reid 32271f6da3 Fix an error on older versions of GCC. 2021-10-10 14:10:04 +10:00
David Reid 4e29283025 Fix a bug where streamed data sources do not use custom backends. 2021-10-10 13:40:55 +10:00
David Reid 7a3d58ea0f Fix an underflow error when using continuous processing on a node. 2021-10-10 11:26:40 +10:00
David Reid 80611af3e4 Clean up some incompatible code. 2021-10-08 10:32:21 +10:00
David Reid e341251e8e Fix validation errors with LPF, HPF and BPF. 2021-10-08 10:25:38 +10:00
David Reid b5975a70e5 Fix compilation error with 32-bit GCC builds. 2021-10-04 12:03:24 +10:00
David Reid 2bd7693908 Silence some unused function warnings. 2021-10-04 11:25:58 +10:00
David Reid 7b50c136c3 Fix a bug in engine node resampling due to an invalid pointer offset. 2021-10-04 11:25:32 +10:00
David Reid 6319d2d977 Fix a typo. 2021-10-04 09:35:32 +10:00
David Reid 063be8c003 Fix compilation errors when certain compile time options are enabled. 2021-08-28 13:00:56 +10:00
David Reid fee3e69d93 Merge branch 'master' into dev-0.11 2021-08-22 19:14:08 +10:00
David Reid dbca7a3b44 Version 0.10.42 2021-08-22 19:12:59 +10:00
David Reid 2ef44507d4 Try fixing a few issues with the lock-free queue. 2021-08-22 10:20:28 +10:00
David Reid a08320e828 Merge branch 'dev' into dev-0.11 2021-08-22 10:02:28 +10:00
David Reid 04fe72010f Experimental fix for an hang when stopping devices.
Public issue https://github.com/mackron/miniaudio/issues/355
2021-08-22 09:09:43 +10:00
David Reid db8d96da0c Fix an infinite loop. 2021-08-18 21:15:04 +10:00
David Reid a80c5e5d60 Fix another copy/paste error. 2021-08-18 20:55:26 +10:00
David Reid 64e5b1b91a Fix a copy/paste error. 2021-08-18 20:54:33 +10:00
David Reid 8d5b3d16e4 Add some double-free detection to the slot allocator. 2021-08-18 20:51:34 +10:00
David Reid ce6108feff Use atomic loads when checking execution orders of jobs. 2021-08-18 20:26:43 +10:00
Steven Noonan 86029cde7c ma_slot_allocator_free: use atomic load on allocator count
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2021-08-18 18:18:32 +10:00
David Reid 0c22f75ef7 Fix a bug in the LOAD_DATA_BUFFER job. 2021-08-18 18:16:47 +10:00
David Reid 92bf37c8bb Fix a bug where volume is not applied correctly for output buses. 2021-08-17 19:08:22 +10:00
David Reid 2d76a9b352 Add release notes for version 0.11 2021-08-15 20:38:58 +10:00
David Reid 448a7c90ff Fix some -Wundef warnings. 2021-08-15 19:27:50 +10:00
David Reid f099c7b13e Merge branch 'dev' into dev-0.11 2021-08-15 16:40:12 +10:00
David Reid 5a5d523d09 Version 0.10.41 2021-08-15 16:39:54 +10:00
David Reid c43eac28f0 Update documentation. 2021-08-15 16:06:43 +10:00
David Reid c73a92d158 Update readme. 2021-08-14 19:21:58 +10:00
David Reid 24e16b5234 Minor change to wording in the readme. 2021-08-14 19:19:56 +10:00
David Reid d177cb5e60 Update readme. 2021-08-14 19:18:26 +10:00
David Reid 73fdf8486b Move external nodes out of the research folder. 2021-08-14 18:50:48 +10:00
David Reid 2671e07560 Add examples for the high level API. 2021-08-14 18:41:26 +10:00
David Reid eac61ddc52 All the engine to be used with MA_NO_DEVICE_IO.
This allows the engine to be used independent of a device which might
be useful for tools.
2021-08-14 17:23:13 +10:00
David Reid 0b880d6a2c Move some effects out of the MA_NO_ENGINE section.
* ma_gainer
  * ma_panner
  * ma_fader
  * ma_spatializer
2021-08-14 16:49:05 +10:00
David Reid ffa0a51d86 Move ma_delay out of the MA_NO_NODE_GRAPH section. 2021-08-14 16:31:19 +10:00
David Reid f6d8a753a4 Rename MA_STATE* to ma_device_state* and make it an enum. 2021-08-14 16:26:44 +10:00
David Reid 68f9484689 Try fixing a few issues with the lock-free job queue. 2021-08-14 14:25:08 +10:00
David Reid 6972cb5388 Mark some variables as atomic. 2021-08-14 13:54:10 +10:00