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