summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-03-01Support playlists in the player in dual-screen mode.v2.15.45Carl Hetherington
2020-03-01Separate SPL from a version which signals when things change.Carl Hetherington
2020-03-01Add some comments.Carl Hetherington
2020-02-29Add 'proper' config dialog for the playlist editor.Carl Hetherington
2020-02-29Fix title of player configuration dialogue.Carl Hetherington
2020-02-29Various playlist editor developments and fixes.Carl Hetherington
2020-02-29Copy swaroop_ playlist editor stuff back to main DoM.Carl Hetherington
2020-02-29Move swaroop playlist editor stuff into its own swaroop_Carl Hetherington
files.
2020-02-29Allow changing colour conversion settings for multiple pieces of content at ↵Carl Hetherington
the same time (github #7).
2020-02-28Fix incorrect results when applying some timing operations toCarl Hetherington
more than one piece of content at once (e.g. trim start).
2020-02-27Allow > 0dB gain per channel in the audio matrix (#1720).v2.15.44Carl Hetherington
2020-02-27Use bound arguments to lose some methods.Carl Hetherington
2020-02-27Add and use dB/linear conversion functions.Carl Hetherington
2020-02-27Missing include.Carl Hetherington
2020-02-20Apply FFmpeg palette fix to examination too; fix build with old FFmpeg.Carl Hetherington
2020-02-19Another macOS std::list boost::thread SNAFU.Carl Hetherington
2020-02-19Can't put boost::thread in a std::list with our macOS compiler.Carl Hetherington
2020-02-19Merge branch 'v2.15.x' of ssh://git.carlh.net/home/carl/git/dcpomatic into ↵Carl Hetherington
v2.15.x
2020-02-19It may not be allowed to request a zero timeout on macOS.Carl Hetherington
2020-02-19Nicer fix for 2D-labelled-3D checking from master.Carl Hetherington
2020-02-18Remove incorrect comment.Carl Hetherington
2020-02-16Make a new AudioBuffers constructor and use it to avoid some use of the more ↵Carl Hetherington
complicated copy_from.
2020-02-16Better errors if butler doesn't give video during export.Carl Hetherington
2020-02-16Just having no specified lines value does not mean we definitely need place ↵Carl Hetherington
the subtitle ourselves.
2020-02-14Nudge L/R-aligned subs in from the edge of the screen; do our own placement ↵Carl Hetherington
of subs with no screen height in lines specified.
2020-02-06Fix crash.Carl Hetherington
2020-02-06Fix crash with bitmapped subs that have zero width or height.Carl Hetherington
2020-01-30Various thread cleanups.Carl Hetherington
2020-01-30Use a non-pointer boost::thread and a std::atomic for the stop flag.Carl Hetherington
2020-01-28Missing #include for previous.Carl Hetherington
2020-01-28Fix deadlock during content examination.Carl Hetherington
Before this fix, the following situation could happen in threads A and B: A: Some DONE signal happens; this triggers setup_pieces which takes a lock on the player mutex. B: FFmpegContent::examine takes a lock on the content mutex. B: FFmpegContent::examine adds a stream B: That causes STREAMS PENDING to be emitted. B: This tries to take a lock on the player mutex so it can update _suspended A: setup_pieces tries to access some content information, hence tries to take a lock on the content mutex. Now B is holding the CL and awaiting the PL and A is holding the PL and awaiting the CL. It feels like the root cause of this is that while setup_pieces is happening another change (which would itself cause setup_pieces) is announced, and this isn't dealt with properly. There are two steps here; _suspended is protected with an atomic rather than using _mutex, and also it can cope with being updated recursively.
2020-01-28Fix crash with sub-sample push parts in AudioMerger.v2.15.42Carl Hetherington
Forward-ported from b86b15391074a68149f8c4a51958c7873d74def0 in master.
2020-01-25Warn if doing a gain calculation might cause clipping.Carl Hetherington
2020-01-25Apply fader-based gain calculations to the current gain, not 0dB.Carl Hetherington
2020-01-25Another thinko fix.Carl Hetherington
2020-01-25Fix thinko two commits ago.Carl Hetherington
2020-01-25Cache film length for Player::pass.Carl Hetherington
2020-01-25Use memset for zeroing float buffers; it's faster, and I thinkCarl Hetherington
we get away with it on all the platforms we care about.
2020-01-24Support binary STL subtitle files.Carl Hetherington
2020-01-17Add patron.Carl Hetherington
2020-01-16Make FileError say what path the problem was with.Carl Hetherington
2020-01-14Add some PT-style names to the guesswork on which channel a particular sound ↵Carl Hetherington
file belongs to.
2020-01-14Stop invalid dates causing boost::posix_time to raise exceptions.Carl Hetherington
2020-01-12swaroop variant build fix.Carl Hetherington
2020-01-10Don't truncate active_video_frame_rate to an int otherwise setting fade on ↵v2.15.41Carl Hetherington
non-integer-rate sources behaves oddly.
2020-01-10Fix deadlock.Carl Hetherington
2020-01-10Give DCPDecoder its own ::position which just returns its internalCarl Hetherington
_next time. This is important because Decoder::position does the wrong thing with DCPs in the following case. 1. DCPDecoder emits a subtitle event (start/stop) at time t. 2. There follows a long time T with no subtitle events. During this time the DCPDecoder's position is reported as t (since TextDecoder notes its position as the time of the last thing it emitted --- which is all it reasonably can do, I think). 3. During this T the DCPDecoder may be incorrectly pass()ed because its position is reported as earlier than it really is; this results in video/audio being emitted by the DCPDecoder but other contemporary sources may not be pass()ed. The upshot of this can be that no audio is emitted, as a contemporary audio source is not pass()ed and hence the merger is waiting for audio that will take a long time to come. When the butler is running this can result in audio underruns as the video buffers overflow with no sign of any audio. It is also simpler this way; DCPDecoder was already maintaining the required information.
2020-01-09Update text panel 'why not' note when film's standard is changed.Carl Hetherington
Forward-ported from e8582393bd1367fff36bae8e053d799073d8b2ed in master.
2020-01-09Make the 'why not' messages for VF a bit clearer.Carl Hetherington
Before it sounded like just because we couldn't refer to (e.g.) the audio we couldn't refer to any part of the DCP.
2020-01-08First version of player stress-test management script.Carl Hetherington