146 Commits

Author SHA1 Message Date
Chris Robinson
91e20dc12e Fix a couple alffplay comments still referencing Alure 2018-01-01 18:54:15 -08:00
Chris Robinson
aecfa0b426 Make smart pointer wrappers for some ffmpeg types 2018-01-01 18:47:48 -08:00
Chris Robinson
9675068706 Print the running time and duration in alffplay 2018-01-01 16:15:32 -08:00
Chris Robinson
cbd55ad31e Use aliases to simplify some time type names 2018-01-01 02:26:39 -08:00
Chris Robinson
5eb1753d31 Wrap av_gettime to ensure it's interpreted as microseconds 2018-01-01 01:39:28 -08:00
Chris Robinson
e277f5e268 Rename the do_direct_out variable 2018-01-01 01:14:53 -08:00
Chris Robinson
145bf52b7a Use a less-intense memory order to check for quitting 2018-01-01 01:13:32 -08:00
Chris Robinson
fe7bdc93eb Check for AL_SOFT_direct_channels once when initializing 2018-01-01 01:07:29 -08:00
Chris Robinson
d889435334 Declare the total buffer time instead of buffer count 2018-01-01 01:04:47 -08:00
Chris Robinson
dad17a7d91 Use a std::array for the buffers in alffplay 2018-01-01 00:32:27 -08:00
Chris Robinson
830adf6ae8 Use inline member initialization where possible 2018-01-01 00:17:40 -08:00
Chris Robinson
babfa70cab Make more values global const 2018-01-01 00:02:51 -08:00
Chris Robinson
258eadd003 Use a global to specify alffplay's audio sync threshold 2017-12-31 23:44:33 -08:00
Chris Robinson
48916ebd76 Clear the buffer queue when underrun 2017-12-31 16:29:52 -08:00
Chris Robinson
506d316f55 Wake up the packet send loop when more frames are needed 2017-12-31 16:11:00 -08:00
Chris Robinson
490b71378e Readd AL_SOFT_source_latency support to alffplay 2017-12-30 23:12:19 -08:00
Chris Robinson
0e8b0c520e Use standard duration types for stream clocks 2017-12-30 22:46:09 -08:00
Chris Robinson
0136df1e62 Improve the alffplay queue for FFmpeg's send/receive API
The packet handling thread now calls avcodec_send_packet to give compressed
data to libavcodec, while the audio/video threads call avcodec_receive_frame to
handle decoded frames. The packet thread still maintains local queues for each
stream to avoid starving an A/V thread when the other doesn't want another
frame yet.
2017-12-30 20:34:33 -08:00
Chris Robinson
8253014fe9 Fix some types to make MSVC happy 2017-12-17 15:56:30 -08:00
Chris Robinson
0e2e9e9a29 Add a simple non-streaming play example 2017-11-07 23:12:12 -08:00
Chris Robinson
4ec67e6226 Add missing include for std::array 2017-07-23 00:18:32 -07:00
Chris Robinson
5048322fff Update alffplay's command line message 2017-07-11 00:38:52 -07:00
Chris Robinson
56a33ef955 Print the opened device in alffplay 2017-07-05 12:32:19 -07:00
Chris Robinson
74139c914d Skip past the -device switch even if the device doesn't open 2017-07-01 20:44:56 -07:00
Chris Robinson
cb83f48105 Add an option to enable direct channels for alffplay 2017-07-01 19:18:57 -07:00
Chris Robinson
4b7cbb50ab Add a whitenoise generator to altonegen 2017-06-25 08:00:55 -07:00
Chris Robinson
be552a35e6 Support 32-bit float with the recording example 2017-06-25 06:10:20 -07:00
Chris Robinson
e07166e93c Add a recording example app 2017-06-23 05:19:24 -07:00
Chris Robinson
07bb5f1322 Add a missing include 2017-05-28 00:53:33 -07:00
Chris Robinson
5308ea7e2a Put the app name after filename in the window title 2017-05-07 04:29:18 -07:00
Chris Robinson
710bbde09c Ensure SDL_AUDIO_BITSIZE is defined for older SDL2 versions 2017-04-07 03:33:03 -07:00
Chris Robinson
c040491615 Update alffplay for newer ffmpeg and convert to C++ 2017-03-05 01:20:19 -08:00
Chris Robinson
87fd288359 Remove unnecessary wrappers around SDL_sound
Also remove wrappers for the now-unsupported buffer_samples extension.
2017-03-04 22:30:57 -08:00
Chris Robinson
4486043ae5 Skip audio packets that fail to decode in alffplay 2016-09-14 13:37:20 -07:00
Chris Robinson
0f24f49a44 Allow specifying the device to open for the examples 2016-09-08 12:14:28 -07:00
Chris Robinson
6d7f9aacd6 Print whether direct channels are off or on to stdout in alffplay 2016-08-29 22:18:44 -07:00
Chris Robinson
4859984e33 Add an option to alffplay to toggle AL_DIRECT_CHANNELS_SOFT
Using the 'd' key will toggle the playback source's AL_DIRECT_CHANNELS_SOFT
property. Although there is no visual feedback showing when it's on or off.
2016-08-29 01:55:44 -07:00
Chris Robinson
d8e9b3c621 Also rotate stereo sounds in the alhrtf example 2016-08-24 03:49:45 -07:00
Ryan P.C. McQuen
69af50cadb Fix for ffmpeg.
Closes https://github.com/kcat/openal-soft/issues/48.
2016-07-21 08:09:31 -07:00
gero
cec03f39ae fix audio play error in sample
fix audio play error in sample
2016-04-22 17:33:00 +08:00
Chris Robinson
0c4653085c Don't request a specific HRTF when one isn't specified 2016-03-11 21:01:32 -08:00
Chris Robinson
4fb2526779 Fix "signed and unsigned type in conditional expression" warning 2016-01-24 02:29:26 -08:00
Chris Robinson
482372577e Avoid using usleep in the examples
We already have an al_nssleep wrapper in the common lib we can use.
2015-12-04 19:09:48 -08:00
Chris Robinson
203c249bf7 Add missing math.h include for sin() 2015-11-06 00:13:02 -08:00
Chris Robinson
4a9dd6576f Add an impulse "waveform" to altonegen 2015-10-31 05:15:13 -07:00
Chris Robinson
f4a53cf609 Add an HRTF example
Doubles as a psuedo-test to play a sound with HRTF.
2015-10-28 18:52:49 -07:00
Chris Robinson
f654767395 Silence implicit double-to-float cast MSVC warning 2015-10-14 05:00:11 -07:00
Chris Robinson
d386675efe Print the wave type being played 2015-10-14 02:41:39 -07:00
Chris Robinson
9012bcf327 Make the tonegen sampling rate match the device rate by default 2015-10-14 01:54:50 -07:00
Chris Robinson
c18e23477c Add a tone generator test program
Currently used to test the general output, particularly the resampler, by
checking the results with a spectrum analyzer and/or oscilloscope (for example
using PulseAudio's "Monitor of ..." devices feeding an external app).
2015-10-13 11:43:25 -07:00