| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-02-02 | Stop doing some more stuff during content drags in the timeline. | Carl Hetherington | |
| 2025-05-26 | Remove functors for choosing pixel format output from make_image(). | Carl Hetherington | |
| 2025-04-16 | White space: butler.{cc,h} | Carl Hetherington | |
| 2025-03-22 | Add abstraction of io_{context,service} and use it as appropriate. | Carl Hetherington | |
| 2022-12-13 | More header trimming. | Carl Hetherington | |
| 2022-10-17 | Remove some more unnecessary use of shared_ptr. | Carl Hetherington | |
| 2022-10-14 | Cleanup: add header guards. | Carl Hetherington | |
| 2022-08-04 | Cleanup: fix typo in comment. | Carl Hetherington | |
| 2022-05-26 | Fix race between the Butler thread starting and audio (perhaps) being disabled. | Carl Hetherington | |
| This could cause Butler::audio to be called with _audio_channels = 0 and _disable_audio = false, causing an exception in AudioBuffers when remap() tried to make an AudioBuffers object with a channel count of 0. | |||
| 2021-10-16 | Always block waiting for audio when exporting.v2.15.169 | Carl Hetherington | |
| Otherwise if there is non available we'll insert silence and potentially push the audio out of sync (late). May help with #2098. | |||
| 2021-10-16 | Use an enum instead of a bool to specify blocking/non-blocking. | Carl Hetherington | |
| 2021-10-11 | Cleanup: use enum class. | Carl Hetherington | |
| 2021-09-27 | Replace aligned bool with enum Alignment. | Carl Hetherington | |
| 2021-09-27 | Setup Butler::_prepare_only_proxy on construction. | Carl Hetherington | |
| 2021-09-27 | When the player is used in OpenGL mode, pass unscaled XYZ data through to ↵ | Carl Hetherington | |
| the shader and do colourspace conversion there. | |||
| 2021-05-03 | C++11 tidying. | Carl Hetherington | |
| 2021-05-01 | C++11 tidying. | Carl Hetherington | |
| 2021-04-29 | Remove use of boost::noncopyable. | Carl Hetherington | |
| 2021-01-31 | Use enum class for Film::Property. | Carl Hetherington | |
| 2021-01-07 | std::shared_ptr | Carl Hetherington | |
| 2020-12-01 | Changes to crop can be handled with a reset_metadata(). | Carl Hetherington | |
| While playback is happening we need to do that in the butler's buffers and in the little delay inside Player. This removes the seek on every crop change, making it a lot quicker (#1758). | |||
| 2020-12-01 | Give Butler a weak_ptr<Film> | Carl Hetherington | |
| 2020-11-16 | Make sure we use limited ("video") range data when exporting. | Carl Hetherington | |
| Our export formats all currently use limited range but we weren't making sure data fed to the encoders was limited range. Should fix #1832. | |||
| 2020-08-17 | Report better errors when the butler dies. | Carl Hetherington | |
| Adapted from d23f55d8cd73adda823d0a2fcabc129b8845a81 in master. | |||
| 2020-07-05 | Improve butler error reporting during export.v2.15.88 | Carl Hetherington | |
| 2020-05-17 | Fix typo in comment. | Carl Hetherington | |
| 2020-01-30 | Various thread cleanups. | Carl Hetherington | |
| 2019-11-05 | Remove dubious _buffers_mutex and maintain a lock on _mutex for | Carl Hetherington | |
| the whole of ::audio. Otherwise changes to pending seeks can be mixed up with audio being put into the ringbuffer. | |||
| 2019-07-24 | Optimise the feel of some GUI functions by doing the seek after | Carl Hetherington | |
| many content changes in an idle handler, rather than blocking the UI update until the seek and image redisplay have finished. | |||
| 2019-05-15 | Player::playlist_content_change will call setup_pieces() regardlessv2.15.5 | Carl Hetherington | |
| of the state of frequent, so Butler::player_change must always seek regardless of the state of frequent. Otherwise setup_pieces() results in the next pass() output being at position 0, which causes problems when the audio from that output is pushed into the audio ring buffers. | |||
| 2019-05-10 | Put Time types in dcpomatic namespace. | Carl Hetherington | |
| 2019-03-07 | Better reporting of errors in Butler::prepare.v2.13.125 | Carl Hetherington | |
| 2018-12-22 | Fix assumption of 48kHz DCP audio in AudioRingBuffers consistency check (#1436). | Carl Hetherington | |
| 2018-11-21 | Tidy and fix logging. | Carl Hetherington | |
| 2018-11-06 | Do image crop/scale/window in the butler prepare threads. | Carl Hetherington | |
| 2018-09-04 | Allow the butler to say "try again later" when get_video() is called | Carl Hetherington | |
| while it's suspended. Then make the GUI follow that suggestion. Should | |||
| 2018-08-29 | Basics of splitting CCAP streams into different assets. | Carl Hetherington | |
| 2018-08-20 | Allow nested butler suspensions. | Carl Hetherington | |
| 2018-08-19 | Replace May/Done/NotDone signal sets with one signal and extend | Carl Hetherington | |
| this treatment to anything that caused Player::setup_pieces. This should fix out-of-sequence Player emissions caused by setup_pieces being called by one thread while the butler is calling pass(). | |||
| 2018-08-19 | Suspend butler on player may-change as otherwise there's a window | Carl Hetherington | |
| between Player::_suspended being set to false and the the butler requesting a seek, during which the butler may call pass(). | |||
| 2018-08-14 | More fixes for errors / crashes / misbehaviour with content changes | Carl Hetherington | |
| and the butler. Here we signal both before and after a change in content. Before, the player disables itself so that any pass()/seek() will be no-ops. After, the player rebuilds its pieces and the butler re-seeks to get back to where it was before the change. | |||
| 2018-08-12 | Don't seek during timeline drags. | Carl Hetherington | |
| 2018-08-05 | Get closed caption view data from the butler, rather than the player. | Carl Hetherington | |
| You can't introduce the butler (so that the player is ahead of time) and then ask the player what should be in the frame that is being displayed "now"; the player will already have moved on. | |||
| 2018-08-04 | Remove unused parameter. | Carl Hetherington | |
| 2018-08-04 | Timestamp audio emissions from butler and hence discard very late | Carl Hetherington | |
| audio in FilmViewer. This should help with the case where lots of video frames are rapidly discarded when they are late but the corresponding audio is not, hence audio buffers get overfilled. | |||
| 2018-08-02 | A variety of changes to improve (but not entirely fix) behaviour | Carl Hetherington | |
| when moving content (or otherwise changing the playlist) while playing. This commit refills the butler when things change in certain ways, and improves locking to cope with Player methods being called from the GUI and butler threads at the same time. | |||
| 2017-12-29 | Add basic memory-used stuff for butler and reduce minimum audio | Carl Hetherington | |
| readahead quite a bit. This in turn reduces the maximum butler memory usage as it will keep getting audio (and hence video) until the minimum audio readahead is hit. | |||
| 2017-08-14 | Remove believed-unnecessary player-changed handler in butler. | Carl Hetherington | |
| 2017-08-14 | Remove Film dependency from Butler. | Carl Hetherington | |
| 2017-07-26 | Multi-threaded decode of DCP when previewing. | Carl Hetherington | |
