summaryrefslogtreecommitdiff
path: root/src/lib
AgeCommit message (Collapse)Author
2020-02-05Missing lib in wscript.Carl Hetherington
2020-02-03Missing include.Carl Hetherington
2020-02-02boost exception test.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-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-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-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-08Naming tweak.Carl Hetherington
2020-01-08Clean up access to stuff from Film.Carl Hetherington
2020-01-08Barely-functioning GL playback with new arrangement.Carl Hetherington
2020-01-07Extend the amount of allowed disagreement between the audioCarl Hetherington
coming from the content and the calculated periods of silence. It sees that there is some scope for disagreements here when trim start/end times are rounded to frame boundaries. Fixes #1708.
2020-01-03Fix failure to save screen notes when making a new one (github bug #6).Carl Hetherington
2019-12-23Another comment typo.Carl Hetherington
2019-12-20Remove our forcing of analyzeduration and probesize as they seem toCarl Hetherington
cause weird problems when scanning some files. The unit test case added here is a case in point: before this patch one stream reported an incorrect channel count and sample rate. It's a bit worrying as these parameters have been in DoM for many years, but perhaps they have become unnecessary / harmful with changes to FFmpeg.
2019-12-19Add an output audio matrix (#1482).Carl Hetherington
2019-12-19Add an assertion.Carl Hetherington
2019-12-17Flush audio decoder when a DCPDecoder finishes so thatCarl Hetherington
resamplers are emptied and hence we don't lose any samples. Fixes #1691. Back-ported from 1444299fa4582fc65c5237edd6c115921f20f872 in master.
2019-12-15Stop empty Font IDs in imported DCP subtitles making it into theCarl Hetherington
output DCP (#1689).
2019-12-15Support content version metadata (#782).Carl Hetherington
2019-12-14Fix typo.Carl Hetherington
2019-12-12Use the new libdcp xerces stuff and install the required supporting files.Carl Hetherington
2019-12-11Make terminate_threads() less likely to leave _threads containing invalid ↵Carl Hetherington
pointers. Backported from f0c10e92b849566e458bc323f8783a6fe83e52d2 in master.
2019-12-08Throw errors from CPLSummary constructor if the DCP::read reported any problems.Carl Hetherington
2019-12-06Adjust for changes to libdcp API.Carl Hetherington
2019-12-04Package a patched openssl which creates certificates withCarl Hetherington
a validity period starting a week before now; fixes #1422.
2019-12-01Fix audio pts accuracy from previous.Carl Hetherington
2019-11-30More accurate calculation of export video pts; may fix #1663.Carl Hetherington
Also specify audio pts on the way in to the encoder to stop FFmpeg complaining.
2019-11-30Don't say we're encoding at 0fps when we're waiting for the timing history ↵Carl Hetherington
to stablise.
2019-11-30Cut down the time before fps starts to be reported for export jobs.Carl Hetherington
2019-11-30Fix crash when exporting a 2D project containing 3D content (#1680).Carl Hetherington
2019-11-29Catch attempts to make a DCP when all content has been trimmed to zero length.Carl Hetherington
2019-11-26Nag amount is now in Euros.Carl Hetherington
2019-11-24Accept EmptyAssetPathError if it does not lead to anything worse.Carl Hetherington
2019-11-20Restore checking of 2D files that are incorrectly set as 3D.Carl Hetherington
2019-11-20Don't announce job is finished until things have been torn down; may help ↵Carl Hetherington
with #1674.
2019-11-19Fix problems with playing back 3D DCPs and with inserting 3D DCPsCarl Hetherington
in 2D projects. Also add some tests.
2019-11-17Fix casting of bytes to words, and hence (hopefully) finally fix incorrect ↵Carl Hetherington
bitmapped subtitle colours.
2019-11-13Fix warning.Carl Hetherington
2019-11-12Fix crash when calling DCPContent::examine with no film.v2.15.33Carl Hetherington
2019-11-11Don't trust video timestamps from FFmpegDecoder.v2.15.32Carl Hetherington
2019-11-11Make DecoderPart::_position an optional.Carl Hetherington