summaryrefslogtreecommitdiff
path: root/src/lib
AgeCommit message (Collapse)Author
2022-11-27Change how video timing is done.Carl Hetherington
This commit changes the approach with video timing. Previously, we would (more-or-less) try to use every video frame from the content in the output, hoping that they come at a constant frame rate. This is not always the case, however. Here we preserve the PTS of video frames, and then when one arrives we output whatever DCP video frames we can (at the regular DCP frame rate). Hopefully this will solve a range of sync problems, but it could also introduce new ones.
2022-11-27Add operator* for Time and int.Carl Hetherington
2022-11-27Fix FFmpegExaminer termination condition when there is no video;Carl Hetherington
it's hard to see how this ever worked.
2022-11-27Bump ffmpeg to 5.1.2 "Riemann"Carl Hetherington
2022-11-27Normalise XML attribute names to be camelCase (#2241).Carl Hetherington
2022-11-27Use 2.18.x subdirectory for configuration.Carl Hetherington
2022-11-26Return AVERROR_EOF from the avio_read method when appropriate.Carl Hetherington
2022-11-26Fix audio glitches when merging resampled audio (#2373).Carl Hetherington
2022-11-26Noisy change to get film into AudioContent::modify_trim_start().Carl Hetherington
2022-11-26Remove some backwards compatibility that will cause problems in an upcoming ↵Carl Hetherington
commit.
2022-11-25_stream_states must be reset on seek otherwise #2368.Carl Hetherington
2022-11-25Fix sound corruption with multiple sound files (#2368).Carl Hetherington
last_push_end would be initialised to the position of the content, meaning that content at (for example) 60s into the project would be treated as the leader, and content much earlier would then be considered finished by the code which checks ignore_streams_behind (as its last push was more then 5s before the leader). This caused audio corruption, shown up by the test here.
2022-11-23Cleanup: const correctness.Carl Hetherington
2022-11-21Fix subtitle vertical position (#2367).Carl Hetherington
Previously we would not account for the differences in what vertical position means between Interop and SMPTE. For interop, vertical position is the distance from the reference point to the text baseline, whereas for SMPTE it is the distance from the reference point to the top/middle/bottom of the subtitle (depending on the reference). This caused differences between the preview and the DCP for some cases (notably, using SRT/SSA and making Interop DCPs, or converting Interop DCP subs to SMPTE, or vice versa).
2022-11-15Add comment to try to clarify _dcp_content_types a little for translators.Carl Hetherington
2022-11-15Updated fr_FR translation from David Perrenoud.David Perrenoud
2022-11-15Improve flushing behaviour when there is a lot of space to fill (#2364).Carl Hetherington
Previously a call to flush() could result in a lot of audio being emitted from the decoder (if there is a big gap between the end of the audio and the video). This would end up being emitted in one chunk from the player, crashing the audio analyser with an OOM in some cases.
2022-11-15Clarify one log message and add another.Carl Hetherington
2022-11-15Add failing test for #2364.Carl Hetherington
2022-11-14Basic WebVTT subtitle support (#1361).Carl Hetherington
2022-11-12Cleanup: whitespace.Carl Hetherington
2022-11-10Fix macOS build.Carl Hetherington
2022-11-06Fix error message.Carl Hetherington
2022-11-06Cleanup: J2KEncoder does not need enable_shared_from_this.Carl Hetherington
2022-11-06Cleanup: Player does not need enable_shared_from_this.Carl Hetherington
2022-11-06Cleanup: use default value in header.Carl Hetherington
2022-11-06Cleanup: better variable name.Carl Hetherington
2022-11-06Extract ImageStore.Carl Hetherington
2022-11-06Strictly I think we should be putting each component of an image into ↵Carl Hetherington
_pending_images. We probably get away with only keeping component 0 but I think that could perhaps lead to use-after-free as the Image for components 1 and 2 could go away a bit before it should.
2022-11-04Fix build on macOS and Windows.Carl Hetherington
2022-11-03Bump libdcp for subtitle Z-position fixes (#2356).Carl Hetherington
2022-11-02Enable some debug logging for TMS upload.Carl Hetherington
2022-11-02Add passive mode option to TMS upload.Carl Hetherington
Disabling this fixes TMS upload with some FTP servers (reported on a Synology NAS).
2022-10-27Throw exception if av_frame_alloc() fails.Carl Hetherington
2022-10-26Remove unnecessary copy constructors (default ones are OK).Carl Hetherington
2022-10-26Allow move construction of Player.Carl Hetherington
2022-10-26Allow move construction of AudioMerger.Carl Hetherington
2022-10-26Allow move construction of ActiveText.Carl Hetherington
2022-10-25Hopefully fix crash when the same frame is encoded twice.Carl Hetherington
Previously if some frame X was passed to the encoder twice I think this would happen: X1 written; X stored to _pending_images X2 written; _pending_images remains the same X1 encode finishes; X is discarded from _pending_images Data for X2 is read by the encoder but was just freed I think this might have resulted in intermittent crashes, which were fairly common in the 2.17.x branch with the test ffmpeg_encoder_prores_regression_1 But I didn't conclusively prove it.
2022-10-21Fix colour range property for subsampled sources (#2357).Carl Hetherington
2022-10-19Extract Collator class.Carl Hetherington
2022-10-18Fix dark mode for release notes.Carl Hetherington
2022-10-18Add VideoFilterGraph::process for Image.Carl Hetherington
2022-10-18Cleanup: some const-correctness.Carl Hetherington
2022-10-18Extract VideoFilterGraphSet.Carl Hetherington
2022-10-18Remove believed-unnecessary mutex.Carl Hetherington
2022-10-18Support Rec2020 YUV/RGB conversion.Carl Hetherington
2022-10-17Make the _film member of Player a weak_ptr.Carl Hetherington
2022-10-17Remove some more unnecessary use of shared_ptr.Carl Hetherington
2022-10-17Remove some unnecessary use of shared_ptr.Carl Hetherington