aboutsummaryrefslogtreecommitdiffstats
path: root/examples/alffplay.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Use a global to specify alffplay's audio sync thresholdChris Robinson2017-12-311-15/+11
|
* Clear the buffer queue when underrunChris Robinson2017-12-311-1/+3
|
* Wake up the packet send loop when more frames are neededChris Robinson2017-12-311-38/+50
|
* Readd AL_SOFT_source_latency support to alffplayChris Robinson2017-12-301-12/+17
|
* Use standard duration types for stream clocksChris Robinson2017-12-301-105/+122
|
* Improve the alffplay queue for FFmpeg's send/receive APIChris Robinson2017-12-301-152/+139
| | | | | | | | 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.
* Add missing include for std::arrayChris Robinson2017-07-231-0/+1
|
* Update alffplay's command line messageChris Robinson2017-07-111-1/+1
|
* Print the opened device in alffplayChris Robinson2017-07-051-0/+7
|
* Skip past the -device switch even if the device doesn't openChris Robinson2017-07-011-5/+2
|
* Add an option to enable direct channels for alffplayChris Robinson2017-07-011-0/+18
|
* Add a missing includeChris Robinson2017-05-281-0/+1
|
* Put the app name after filename in the window titleChris Robinson2017-05-071-1/+1
|
* Update alffplay for newer ffmpeg and convert to C++Chris Robinson2017-03-051-0/+1546