aboutsummaryrefslogtreecommitdiffstats
path: root/examples/alffplay.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Try to improve alffplay timing againChris Robinson2019-07-111-25/+38
|
* Some clean up to use uniform initializationChris Robinson2019-07-101-24/+24
|
* Improve alffplay video clock timingChris Robinson2019-07-091-7/+12
|
* Rework packet handling in alffplayChris Robinson2019-07-081-228/+170
| | | | | | | | | | Turns out avcodec_send_packet is what can invoke the decode for serialized codecs, so don't call that in the parse handler thread. The packet queue is used to get the compressed data from the parse handler to the audio/video threads. Additionally, don't serialize the video frame preparation with the decode thread.
* Somewhat simplify alffplay playback timingChris Robinson2019-07-061-49/+29
|
* Properly set DisableVideo to trueChris Robinson2019-06-301-1/+1
|
* Add an option to disable video in alffplayChris Robinson2019-06-301-1/+4
|
* Use a proper flag to indicate audio is prepared in alffplayChris Robinson2019-03-011-14/+9
|
* Unlock the audio decoder mutex before disabling events in alffplayChris Robinson2019-02-251-2/+3
| | | | | The callback may be waiting on the mutex, but disabling the callback needs any current invocation to finish first.
* Fixed alffplay underrun recovery timingChris Robinson2019-02-041-33/+26
|
* Partially handle ambisonics in alffplayChris Robinson2019-01-271-28/+98
| | | | | | | | | 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).
* Replace a couple more C-style castsChris Robinson2019-01-081-3/+2
|
* Avoid using old style castsFilip Gawin2019-01-081-14/+14
| | | | | | To think about: examples/alffplay.cpp:600 OpenAL32/Include/alMain.h:295
* Use nullptr in cpp filesFilip Gawin2019-01-071-1/+1
|
* Try to improve alffplay underrun device time adjustmentChris Robinson2018-11-201-1/+1
|
* Improve audio underrun recordery in alffplayChris Robinson2018-11-181-0/+12
| | | | | Now it has a better idea to skip samples during refill instead of after restarting.
* Use the common init/close functions for alffplayChris Robinson2018-10-101-33/+14
|
* Allow building alffplay without experimental extensionsChris Robinson2018-10-081-12/+42
|
* Add an alffplay option to play stereo streams with wide anglesChris Robinson2018-05-171-10/+34
|
* Added missing string include to alffplayHenri Hyyryläinen2018-03-301-0/+1
|
* fix building on freebsd (clang)Alexey Elymanov2018-02-201-0/+1
| | | fixes error: 'pow' is not a member of 'std'
* Handle disconnected events in alffplayChris Robinson2018-02-031-4/+18
|
* Signal a condition variable when a buffer completes in alffplayChris Robinson2018-02-011-4/+9
|
* Don't print buffer completed events in alffplayChris Robinson2018-01-311-0/+6
|
* Use std::array instead of a plain array in alffplayChris Robinson2018-01-281-4/+4
|
* Enable events in alffplayChris Robinson2018-01-241-0/+73
|
* Use a new proper buffer function with a flags parameterChris Robinson2018-01-231-12/+11
| | | | | | 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.
* Test mapped buffers in alffplayChris Robinson2018-01-231-14/+68
|
* Remove alffplay's duplicate ALC_SOFT_device_clock declarationsChris Robinson2018-01-151-14/+0
|
* Finalize ALC_SOFT_device_clockChris Robinson2018-01-151-4/+1
|
* Only print the time in alffplay when it changesChris Robinson2018-01-071-4/+11
|
* Fix a temp buffer leak in alffplayChris Robinson2018-01-051-2/+2
|
* Handle the audio clock diff as nanoseconds in alffplayChris Robinson2018-01-051-8/+6
|
* Use a non-recursive mutex for alffplay's source lockChris Robinson2018-01-031-11/+14
|
* Use ALC_SOFT_device_clock in alffplayChris Robinson2018-01-021-12/+86
|
* Improve starting synchronization in alffplayChris Robinson2018-01-021-19/+60
| | | | | It waits until the internal buffers are filled before starting playback, then triggering the audio and video to start as close together as possible.
* Inline and simplify some codeChris Robinson2018-01-011-29/+23
|
* Don't leak the AVIOContextChris Robinson2018-01-011-1/+8
|
* Fix a couple alffplay comments still referencing AlureChris Robinson2018-01-011-4/+4
|
* Make smart pointer wrappers for some ffmpeg typesChris Robinson2018-01-011-72/+81
|
* Print the running time and duration in alffplayChris Robinson2018-01-011-1/+42
|
* Use aliases to simplify some time type namesChris Robinson2018-01-011-67/+61
|
* Wrap av_gettime to ensure it's interpreted as microsecondsChris Robinson2018-01-011-7/+10
|
* Rename the do_direct_out variableChris Robinson2018-01-011-3/+3
|
* Use a less-intense memory order to check for quittingChris Robinson2018-01-011-9/+9
|
* Check for AL_SOFT_direct_channels once when initializingChris Robinson2018-01-011-10/+8
|
* Declare the total buffer time instead of buffer countChris Robinson2018-01-011-10/+15
|
* Use a std::array for the buffers in alffplayChris Robinson2018-01-011-8/+7
|
* Use inline member initialization where possibleChris Robinson2018-01-011-86/+69
|
* Make more values global constChris Robinson2018-01-011-19/+18
|