Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update to C++14 | Chris Robinson | 2020-03-22 | 1 | -1/+1 |
| | |||||
* | Remove AL_SOFT_map_buffer from alffplay and add AL_SOFT_callback_buffer | Chris Robinson | 2020-02-23 | 1 | -153/+365 |
| | | | | | | | The former doesn't really help too much since buffers still need to be (re)filled and (de)queued individually. A callback buffer, on the other hand, allows for greater efficiency since it just needs to write into a ring buffer that the mixer will directly read from. | ||||
* | Get the audio sync once per update in alffplay | Chris Robinson | 2020-01-13 | 1 | -29/+27 |
| | |||||
* | Finalize AL_SOFT_bformat_ex | Chris Robinson | 2020-01-05 | 1 | -12/+12 |
| | |||||
* | Make the new direct channel remix extension public | Chris Robinson | 2019-12-28 | 1 | -7/+12 |
| | |||||
* | Test the B-Format buffer extension in alffplay | Chris Robinson | 2019-12-02 | 1 | -9/+43 |
| | |||||
* | Avoid implicit conversions with the examples and utils | Chris Robinson | 2019-09-12 | 1 | -42/+44 |
| | |||||
* | Cleanup the examples' includes | Chris Robinson | 2019-07-29 | 1 | -8/+23 |
| | |||||
* | Increase the video picture queue size to 24 | Chris Robinson | 2019-07-26 | 1 | -1/+1 |
| | |||||
* | Only redraw the image when necessary | Chris Robinson | 2019-07-23 | 1 | -5/+16 |
| | |||||
* | Only send packets as needed | Chris Robinson | 2019-07-23 | 1 | -39/+49 |
| | |||||
* | Use a local variable to track the decoded pts | Chris Robinson | 2019-07-20 | 1 | -6/+5 |
| | |||||
* | Set the initial clock time closer to starting playback | Chris Robinson | 2019-07-20 | 1 | -15/+13 |
| | |||||
* | Restructure codec send/receive calls | Chris Robinson | 2019-07-19 | 1 | -75/+64 |
| | | | | | | | | | In particular, after an initial fill of the codec's internal buffer, each receive_frame call is followed by one or more send_packet calls. For asynchronous codecs, this has the effect of letting the codec work while the handler thread is waiting for an AVFrame structure to become available or waiting for more decoded data to be needed. For synchronous codecs, this makes the send_packet calls use up time that would be spent waiting. | ||||
* | Receive video frames in a loop | Chris Robinson | 2019-07-16 | 1 | -40/+50 |
| | |||||
* | Use atomics for the picture queue | Chris Robinson | 2019-07-14 | 1 | -29/+35 |
| | |||||
* | Don't use the same mutex for the video clock | Chris Robinson | 2019-07-14 | 1 | -16/+14 |
| | |||||
* | Receive frames directly into the picture's AVFrame | Chris Robinson | 2019-07-14 | 1 | -34/+19 |
| | |||||
* | Don't use one texture per picture in alffplay | Chris Robinson | 2019-07-14 | 1 | -79/+60 |
| | |||||
* | Handle alffplay video using continuous rendering | Chris Robinson | 2019-07-12 | 1 | -291/+236 |
| | |||||
* | Try to improve alffplay timing again | Chris Robinson | 2019-07-11 | 1 | -25/+38 |
| | |||||
* | Some clean up to use uniform initialization | Chris Robinson | 2019-07-10 | 1 | -24/+24 |
| | |||||
* | Improve alffplay video clock timing | Chris Robinson | 2019-07-09 | 1 | -7/+12 |
| | |||||
* | Rework packet handling in alffplay | Chris Robinson | 2019-07-08 | 1 | -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 timing | Chris Robinson | 2019-07-06 | 1 | -49/+29 |
| | |||||
* | Properly set DisableVideo to true | Chris Robinson | 2019-06-30 | 1 | -1/+1 |
| | |||||
* | Add an option to disable video in alffplay | Chris Robinson | 2019-06-30 | 1 | -1/+4 |
| | |||||
* | Use a proper flag to indicate audio is prepared in alffplay | Chris Robinson | 2019-03-01 | 1 | -14/+9 |
| | |||||
* | Unlock the audio decoder mutex before disabling events in alffplay | Chris Robinson | 2019-02-25 | 1 | -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 timing | Chris Robinson | 2019-02-04 | 1 | -33/+26 |
| | |||||
* | Partially handle ambisonics in alffplay | Chris Robinson | 2019-01-27 | 1 | -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 casts | Chris Robinson | 2019-01-08 | 1 | -3/+2 |
| | |||||
* | Avoid using old style casts | Filip Gawin | 2019-01-08 | 1 | -14/+14 |
| | | | | | | To think about: examples/alffplay.cpp:600 OpenAL32/Include/alMain.h:295 | ||||
* | Use nullptr in cpp files | Filip Gawin | 2019-01-07 | 1 | -1/+1 |
| | |||||
* | Try to improve alffplay underrun device time adjustment | Chris Robinson | 2018-11-20 | 1 | -1/+1 |
| | |||||
* | Improve audio underrun recordery in alffplay | Chris Robinson | 2018-11-18 | 1 | -0/+12 |
| | | | | | Now it has a better idea to skip samples during refill instead of after restarting. | ||||
* | Use the common init/close functions for alffplay | Chris Robinson | 2018-10-10 | 1 | -33/+14 |
| | |||||
* | Allow building alffplay without experimental extensions | Chris Robinson | 2018-10-08 | 1 | -12/+42 |
| | |||||
* | Add an alffplay option to play stereo streams with wide angles | Chris Robinson | 2018-05-17 | 1 | -10/+34 |
| | |||||
* | Added missing string include to alffplay | Henri Hyyryläinen | 2018-03-30 | 1 | -0/+1 |
| | |||||
* | fix building on freebsd (clang) | Alexey Elymanov | 2018-02-20 | 1 | -0/+1 |
| | | | fixes error: 'pow' is not a member of 'std' | ||||
* | Handle disconnected events in alffplay | Chris Robinson | 2018-02-03 | 1 | -4/+18 |
| | |||||
* | Signal a condition variable when a buffer completes in alffplay | Chris Robinson | 2018-02-01 | 1 | -4/+9 |
| | |||||
* | Don't print buffer completed events in alffplay | Chris Robinson | 2018-01-31 | 1 | -0/+6 |
| | |||||
* | Use std::array instead of a plain array in alffplay | Chris Robinson | 2018-01-28 | 1 | -4/+4 |
| | |||||
* | Enable events in alffplay | Chris Robinson | 2018-01-24 | 1 | -0/+73 |
| | |||||
* | Use a new proper buffer function with a flags parameter | Chris Robinson | 2018-01-23 | 1 | -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 alffplay | Chris Robinson | 2018-01-23 | 1 | -14/+68 |
| | |||||
* | Remove alffplay's duplicate ALC_SOFT_device_clock declarations | Chris Robinson | 2018-01-15 | 1 | -14/+0 |
| | |||||
* | Finalize ALC_SOFT_device_clock | Chris Robinson | 2018-01-15 | 1 | -4/+1 |
| |