Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Dump the ffmpeg file info on the main thread | Chris Robinson | 2020-04-29 | 1 | -64/+64 |
| | |||||
* | Convert the examples from SDL_sound to libsndfile | Chris Robinson | 2020-03-24 | 7 | -394/+271 |
| | |||||
* | Use libsndfile for the alplay example | Chris Robinson | 2020-03-24 | 1 | -52/+42 |
| | |||||
* | 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. | ||||
* | Add a streaming example using a callback buffer | Chris Robinson | 2020-02-20 | 1 | -0/+436 |
| | |||||
* | 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 |
| | |||||
* | Wrap the cycle amount when passing to sin() | Chris Robinson | 2019-10-12 | 1 | -1/+4 |
| | |||||
* | Enable and fix some more warnings | Chris Robinson | 2019-09-18 | 5 | -80/+80 |
| | |||||
* | Fix a few more GCC warnings | Chris Robinson | 2019-09-14 | 1 | -2/+2 |
| | |||||
* | Fix some more implicit conversions noted by GCC | Chris Robinson | 2019-09-14 | 3 | -5/+6 |
| | |||||
* | Avoid implicit conversions with the examples and utils | Chris Robinson | 2019-09-12 | 11 | -91/+97 |
| | |||||
* | Cleanup the examples' includes | Chris Robinson | 2019-07-29 | 11 | -32/+54 |
| | |||||
* | 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 |
| | |||||
* | Make sure a variable is set before use | Chris Robinson | 2019-06-30 | 1 | -0/+1 |
| | |||||
* | 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 |
| | |||||
* | Return a signed integer from altime_get | Chris Robinson | 2018-11-27 | 3 | -10/+10 |
| | |||||
* | Add the appropriate include for the _POSIX_TIMERS macro | Chris Robinson | 2018-11-27 | 1 | -0/+1 |
| | |||||
* | Fix use of clock_gettime | Chris Robinson | 2018-11-27 | 1 | -2/+2 |
| | |||||
* | Avoid relying on struct timespec | Chris Robinson | 2018-11-26 | 3 | -48/+37 |
| | |||||
* | Avoid including threads.h in the example helpers | Chris Robinson | 2018-11-26 | 3 | -5/+7 |
| | |||||
* | 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. |