Commit Graph

198 Commits

Author SHA1 Message Date
Chris Robinson 3a3094c887 Fix some tabs and missing cast 2020-12-04 11:19:59 -08:00
Eliot Miranda e3179aa058 Add a gain argument to altonegen (#502)
* Fix a speeling rorre in an error message.
Add a gain command-line argument to altonegen.c

* Fix some formatting issues and a copy/paste error.
2020-12-04 11:15:27 -08:00
Chris Robinson 267d9caac4 Check for the right extension string in alffplay 2020-10-26 12:21:42 -07:00
Chris Robinson be0798b56d Finalize AL_SOFT_events 2020-10-26 10:57:48 -07:00
Chris Robinson 88b9eb1560 Silence a couple more MSVC warnings 2020-10-23 21:03:13 -07:00
Chris Robinson 0dc9ae0998 Update event enum values
To keep them less spread out from other OpenAL Soft extensions.
2020-10-07 20:13:52 -07:00
Chris Robinson 04fd50bcdf Support B-Format sounds in the examples 2020-09-22 11:36:43 -07:00
Chris Robinson d2970443dd Recognize B-Format format names in the examples 2020-09-22 10:43:27 -07:00
Chris Robinson c993ade9bf Support B-Format amb file IRs in alconvolve
Be aware this requires proper header data (a WAVE_FORMAT_EXTENSIBLE format with
the proper integer or float B-Format sub-format GUID). A normal 4-channel wave
file will not be recognized, since it's indistinguishable from quadrophonic.
2020-09-22 10:18:43 -07:00
Chris Robinson 844e6c881b Add an alconvolve option to silence the dry signal 2020-09-22 08:30:04 -07:00
Chris Robinson 191150d9a8 Remove deprecated, performance, and error event types
These would be better served with a proper debug API, rather than a general
audio event API.
2020-09-20 04:11:52 -07:00
Chris Robinson f5163ca988 Print the name and format for alconvole's impulse response 2020-09-05 23:48:19 -07:00
Chris Robinson 1968136c98 Add an in-progress extension string for convolution reverb 2020-09-01 07:37:07 -07:00
Chris Robinson 97ecf5810f Base the convolution example on the simpler stream example 2020-08-26 17:23:50 -07:00
Chris Robinson 577a8234f2 Recognize float32 format names for the example healpers 2020-08-26 17:15:30 -07:00
Chris Robinson 309be1c6f6 Add an example using convolution reverb 2020-08-25 04:59:04 -07:00
Chris Robinson fd52c828a9 Improve handling main() with UTF-8 args on Windows 2020-08-12 17:40:00 -07:00
Chris Robinson 476e9d7522 Cleanup some warnings with ffmpeg/alffplay 2020-08-12 17:39:08 -07:00
Chris Robinson 529049dc59 Remove an unused variable 2020-08-11 10:06:12 -07:00
Chris Robinson 972869f76f Dump the ffmpeg file info on the main thread 2020-04-29 21:32:09 -07:00
Chris Robinson cae78e79e8 Convert the examples from SDL_sound to libsndfile 2020-03-24 15:46:47 -07:00
Chris Robinson 586bc94d51 Use libsndfile for the alplay example 2020-03-24 13:36:49 -07:00
Chris Robinson f6a0b004e0 Update to C++14 2020-03-22 08:05:22 -07:00
Chris Robinson 8554e6cde2 Remove AL_SOFT_map_buffer from alffplay and add AL_SOFT_callback_buffer
The former doesn't really help too much since buffers still need to be
(re)filled and (de)queued individually. A callback buffer, on the other hand,
allows for greater efficiency since it just needs to write into a ring buffer
that the mixer will directly read from.
2020-02-23 06:28:39 -08:00
Chris Robinson 642ef4edc9 Add a streaming example using a callback buffer 2020-02-20 17:53:09 -08:00
Chris Robinson aca1d02024 Get the audio sync once per update in alffplay 2020-01-13 17:31:35 -08:00
Chris Robinson 6ed8061cbf Finalize AL_SOFT_bformat_ex 2020-01-05 03:45:35 -08:00
Chris Robinson 137394c2cf Make the new direct channel remix extension public 2019-12-28 16:40:10 -08:00
Chris Robinson bbe1c4c64e Test the B-Format buffer extension in alffplay 2019-12-02 13:04:44 -08:00
Chris Robinson e70f98c95a Wrap the cycle amount when passing to sin() 2019-10-12 16:41:13 -07:00
Chris Robinson 66565ca7a3 Enable and fix some more warnings 2019-09-18 10:09:04 -07:00
Chris Robinson 4b8f78a8d6 Fix a few more GCC warnings 2019-09-14 19:42:54 -07:00
Chris Robinson 2c348cecb6 Fix some more implicit conversions noted by GCC 2019-09-14 18:35:23 -07:00
Chris Robinson 4c76f32dda Avoid implicit conversions with the examples and utils 2019-09-12 03:22:34 -07:00
Chris Robinson 40e937c63a Cleanup the examples' includes 2019-07-29 08:21:38 -07:00
Chris Robinson b22ecc45c9 Increase the video picture queue size to 24 2019-07-26 03:44:46 -07:00
Chris Robinson 18f1139de8 Only redraw the image when necessary 2019-07-23 12:51:14 -07:00
Chris Robinson b8ac4b79e4 Only send packets as needed 2019-07-23 02:38:07 -07:00
Chris Robinson 8a9434c623 Use a local variable to track the decoded pts 2019-07-20 18:46:43 -07:00
Chris Robinson f0ed35d3d0 Set the initial clock time closer to starting playback 2019-07-20 01:10:14 -07:00
Chris Robinson 9959d661a0 Restructure codec send/receive calls
In particular, after an initial fill of the codec's internal buffer, each
receive_frame call is followed by one or more send_packet calls. For
asynchronous codecs, this has the effect of letting the codec work while the
handler thread is waiting for an AVFrame structure to become available or
waiting for more decoded data to be needed. For synchronous codecs, this
makes the send_packet calls use up time that would be spent waiting.
2019-07-19 22:55:20 -07:00
Chris Robinson 2b21a08f89 Receive video frames in a loop 2019-07-16 20:20:25 -07:00
Chris Robinson 4ff7bfd2d8 Use atomics for the picture queue 2019-07-14 03:59:57 -07:00
Chris Robinson ac7eeeae79 Don't use the same mutex for the video clock 2019-07-14 03:59:57 -07:00
Chris Robinson 93c53e33f0 Receive frames directly into the picture's AVFrame 2019-07-14 03:59:57 -07:00
Chris Robinson e7e734f8b9 Don't use one texture per picture in alffplay 2019-07-14 03:59:56 -07:00
Chris Robinson f99474c913 Handle alffplay video using continuous rendering 2019-07-12 23:34:21 -07:00
Chris Robinson 2e6c7808b0 Try to improve alffplay timing again 2019-07-11 03:54:26 -07:00
Chris Robinson 426c4587cc Some clean up to use uniform initialization 2019-07-10 02:13:28 -07:00
Chris Robinson 159024acc9 Improve alffplay video clock timing 2019-07-09 22:15:05 -07:00