Chris Robinson
90b1bc7b7a
Make sure a variable is set before use
2019-06-30 23:32:09 -07:00
Chris Robinson
0aeaf06173
Properly set DisableVideo to true
2019-06-30 22:02:40 -07:00
Chris Robinson
e9bf7e4b15
Add an option to disable video in alffplay
2019-06-30 18:17:23 -07:00
Chris Robinson
0aa0f24dd7
Use a proper flag to indicate audio is prepared in alffplay
2019-03-01 22:46:56 -08:00
Chris Robinson
8a34bd59b0
Unlock the audio decoder mutex before disabling events in alffplay
...
The callback may be waiting on the mutex, but disabling the callback needs any
current invocation to finish first.
2019-02-25 02:03:43 -08:00
Chris Robinson
b7b4cfae2b
Fixed alffplay underrun recovery timing
2019-02-04 21:22:43 -08:00
Chris Robinson
e55f9b42e9
Partially handle ambisonics in alffplay
...
This is currently really only applicable to Opus-encoded files. It assumes
AmbiX (SN3D normalization, ACN ordering) and only comes into play when the
channel layout is blank. FFmpeg/libavcodec doesn't have a way to detect
B-Format input or what normalization and ordering it uses. Note in particular
.amb files do not play correctly (libavcodec seems to apply a default channel
layout for 4-channel wav-type files, regardless of its channel mask value).
2019-01-27 14:53:46 -08:00
Chris Robinson
d7eee03272
Replace a couple more C-style casts
2019-01-08 19:08:03 -08:00
Filip Gawin
0d3a0635d9
Avoid using old style casts
...
To think about:
examples/alffplay.cpp:600
OpenAL32/Include/alMain.h:295
2019-01-08 19:42:44 +01:00
Filip Gawin
0537414baf
Use nullptr in cpp files
2019-01-07 12:37:13 +01:00
Chris Robinson
3f745be1dc
Return a signed integer from altime_get
2018-11-27 12:11:11 -08:00
Chris Robinson
ff6dda06ad
Add the appropriate include for the _POSIX_TIMERS macro
2018-11-27 10:35:00 -08:00
Chris Robinson
9b2b83f99c
Fix use of clock_gettime
2018-11-27 00:02:31 -08:00
Chris Robinson
2530370ff2
Avoid relying on struct timespec
2018-11-26 23:45:04 -08:00
Chris Robinson
d7d99adc91
Avoid including threads.h in the example helpers
2018-11-26 23:18:51 -08:00
Chris Robinson
dc8ef8264a
Try to improve alffplay underrun device time adjustment
2018-11-20 12:32:42 -08:00
Chris Robinson
de13f30e28
Improve audio underrun recordery in alffplay
...
Now it has a better idea to skip samples during refill instead of after
restarting.
2018-11-18 05:38:03 -08:00
Chris Robinson
f3ce7bc7dc
Move altimespec_get and al_nssleep to examples' common code
2018-11-10 21:09:54 -08:00
Filip Gawin
08226bc6b0
Simplify some statements
2018-10-29 13:38:58 +01:00
Chris Robinson
31b9c50721
Use the common init/close functions for alffplay
2018-10-10 16:16:00 -07:00
Chris Robinson
f589244fb6
Allow building alffplay without experimental extensions
2018-10-08 15:03:49 -07:00
Chris Robinson
cd2fd126c4
Add an alffplay option to play stereo streams with wide angles
2018-05-17 03:54:32 -07:00
Henri Hyyryläinen
a7da29804d
Added missing string include to alffplay
2018-03-30 01:53:55 +03:00
Chris Robinson
413d55aaa5
Fix a couple comments about coordinate handedness
2018-03-24 07:02:27 -07:00
Chris Robinson
55a73b8df9
Fix for older MSVC lacking strtof
2018-03-21 08:35:37 -07:00
Chris Robinson
47260fc70b
Update the multi-reverb example with improved transitions
...
This better calculates the environment coverage by correctly calculating the
portal's extents, improves the panning direction when close to the portal, and
applies attenuation based on contribution. Movement has changed to make the
listener move back and forth between environments with a stationary source,
rather than continually looping environments with a position-relative source.
2018-03-20 23:58:32 -07:00
Chris Robinson
325fca5215
Change the presets for the multireverb example
2018-03-16 05:01:00 -07:00
Chris Robinson
cba37819d1
Add missing include
2018-03-01 21:19:49 -08:00
Chris Robinson
0d91d63cf3
Fix use of argv[0] as the program name after incrementing
2018-02-28 21:04:45 -08:00
Chris Robinson
abc6e37e6e
Apply distance attenuation to reverb zones in almultireverb
2018-02-28 20:59:41 -08:00
Chris Robinson
9fc2dbe063
Update the multi-zone reverb example for clarity
2018-02-20 08:08:18 -08:00
Alexey Elymanov
d7d043a5ef
fix building on freebsd (clang)
...
fixes error: 'pow' is not a member of 'std'
2018-02-20 11:53:55 +03:00
Chris Robinson
1002bc36e0
Add an example for multi-zone reverb
2018-02-18 23:56:51 -08:00
Chris Robinson
e49607078e
Handle disconnected events in alffplay
2018-02-03 11:27:03 -08:00
Chris Robinson
7a538141c9
Signal a condition variable when a buffer completes in alffplay
2018-02-01 02:24:44 -08:00
Chris Robinson
833eface38
Don't print buffer completed events in alffplay
2018-01-31 20:27:14 -08:00
Chris Robinson
782eb650c7
Use std::array instead of a plain array in alffplay
2018-01-28 13:18:33 -08:00
Chris Robinson
932939c5a8
Enable events in alffplay
2018-01-24 20:04:57 -08:00
Chris Robinson
2ac0adaebb
Use a new proper buffer function with a flags parameter
...
Rather than hackily combining bit flags with the format, to increase the number
of potential flags. alBufferData now behaves as if calling alBufferStorageSOFT
with a flags value of 0.
2018-01-23 14:33:30 -08:00
Chris Robinson
4ebb97bf73
Test mapped buffers in alffplay
2018-01-23 11:15:25 -08:00
Chris Robinson
5acb2e5165
Remove alffplay's duplicate ALC_SOFT_device_clock declarations
2018-01-15 07:14:35 -08:00
Chris Robinson
682205a3d4
Finalize ALC_SOFT_device_clock
2018-01-15 06:45:53 -08:00
Chris Robinson
c8a30592e8
Only print the time in alffplay when it changes
2018-01-07 17:23:51 -08:00
Chris Robinson
0e1fd34c89
Fix a temp buffer leak in alffplay
2018-01-05 20:41:55 -08:00
Chris Robinson
10f2531b6c
Handle the audio clock diff as nanoseconds in alffplay
2018-01-05 05:41:57 -08:00
Chris Robinson
fd8143fea0
Use a non-recursive mutex for alffplay's source lock
2018-01-03 19:05:25 -08:00
Chris Robinson
9d61f429a5
Use ALC_SOFT_device_clock in alffplay
2018-01-02 19:32:28 -08:00
Chris Robinson
dcc0f6e25d
Improve starting synchronization in alffplay
...
It waits until the internal buffers are filled before starting playback, then
triggering the audio and video to start as close together as possible.
2018-01-02 03:31:12 -08:00
Chris Robinson
21684fac69
Inline and simplify some code
2018-01-01 22:28:28 -08:00
Chris Robinson
329333ca8b
Don't leak the AVIOContext
2018-01-01 19:16:05 -08:00