summaryrefslogtreecommitdiff
path: root/src/lib/writer.h
AgeCommit message (Collapse)Author
2020-11-02Pass around JPEG2000 data as a shared_ptr and hence avoid a copyCarl Hetherington
of 4MB of data for every JPEG2000 frame we decode.
2020-06-19Make Atmos content work more like other content. Now its MXFsv2.15.82Carl Hetherington
are re-written, meaning that they can be encrypted. This (along with the libdcp update) also fixes assorted Atmos bugs.
2020-04-19Add _last_written to Writer, containing the last written frame and eyesCarl Hetherington
to each reel. This is updated when things are popped off the queue, with _state_mutex_held, and used in preference to the ones in ReelWriter which were previously being updated during the time the _state_mutex lock is unlocked in the body of Writer::thread(). This was not thread safe (thanks, valgrind!)
2020-01-30Various thread cleanups.Carl Hetherington
2019-05-10Put Font and Screen into dcpomatic namespace.Carl Hetherington
2019-05-10Put Time types in dcpomatic namespace.Carl Hetherington
2018-08-29Basics of splitting CCAP streams into different assets.Carl Hetherington
2018-08-23More caption -> text.Carl Hetherington
2018-07-23Tidy up after mass rename.Carl Hetherington
2018-07-23More automated renaming.Carl Hetherington
ActiveCaptions -> ActiveText BitmapCaption -> BitmapText ContentCaption -> ContentText ContentTextCaption -> ContentStringText TextCaptionFileContent -> StringTextFileContent TextCaptionFileDecoder -> StringTextFileDecoder TextCaptionFile -> StringTextFile TextCaption -> StringText PlayerCaption -> PlayerText CaptionContent -> TextContent CaptionDecoder -> TextDecoder CaptionPanel -> TextPanel CaptionView -> TextView CaptionAppearanceDialog -> SubtitleAppearanceDialog CaptionType -> TextType
2018-07-19Clean up after previous commit.Carl Hetherington
2018-07-19Reword again: Text -> Caption and Plain -> Text.Carl Hetherington
sed -i "s/ActiveText/ActiveCaptions/g" src/lib/*.{cc,h} sed -i "s/active_text.h/active_captions.h/g" src/lib/*.{cc,h} sed -i "s/active_text.cc/active_captions.cc/g" src/lib/wscript mv src/lib/active_text.cc src/lib/active_captions.cc mv src/lib/active_text.h src/lib/active_captions.h sed -i "s/PlainTextFileContent/TextCaptionFileContent/g" src/lib/*.{cc,h} src/wx/*.cc sed -i "s/PlainTextFile/TextCaptionFile/g" src/lib/*.{cc,h} src/wx/*.cc sed -i "s/plain_text_file_content/text_caption_file_content/g" src/lib/*.{cc,h} src/lib/wscript src/wx/*.{cc,h} test/*.cc mv src/lib/plain_text_file_content.cc src/lib/text_caption_file_content.cc mv src/lib/plain_text_file_content.h src/lib/text_caption_file_content.h sed -i "s/PlainTextFileDecoder/TextCaptionFileDecoder/g" src/lib/*.{cc,h} sed -i "s/plain_text_file_decoder/text_caption_file_decoder/g" src/lib/*.{cc,h} src/lib/wscript src/wx/*.{cc,h} mv src/lib/plain_text_file_decoder.cc src/lib/text_caption_file_decoder.cc mv src/lib/plain_text_file_decoder.h src/lib/text_caption_file_decoder.h sed -i "s/PlayerText/PlayerCaption/g" src/lib/*.{cc,h} sed -i "s/player_text.cc/player_caption.cc/g" src/lib/wscript sed -i "s/player_text.h/player_caption.h/g" src/lib/*.{cc,h} mv src/lib/player_text.cc src/lib/player_caption.cc mv src/lib/player_text.h src/lib/player_caption.h sed -i "s/ContentPlainText/ContentTextCaption/g" src/lib/*.{cc,h} src/wx/*.{cc,h} sed -i "s/ContentBitmapText/ContentBitmapCaption/g" src/lib/*.{cc,h} src/wx/*.{cc,h} sed -i "s/PlainText/TextCaption/g" src/lib/*.{cc,h} test/*.cc sed -i "s/plain_text.h/text_caption.h/g" src/lib/*.{cc,h} mv src/lib/plain_text.h src/lib/text_caption.h
2018-07-19Get types into ReelWriter.Carl Hetherington
2018-07-19Partial conversion of PlayerSubtitles -> PlayerText and SubtitleString -> ↵Carl Hetherington
PlainText.
2018-06-05Don't allow the queue to get too big with REPEAT frames otherwisev2.13.26Carl Hetherington
there's a long delay at the end of the job while they are written. We must still write FULL frames even if the queue is long (we only stop doing that if the queue has too many FULL frames i.e. too much memory consumption). With this commit we stop writing REPEAT/FAKE frames when the queue gets long and assume there will always be a sequence image for writing and hence the main writer thread will reduce the queue given time.
2017-12-29Previously the code did not account for referenced audio, so farCarl Hetherington
as I can see. It decided which reel to write new audio to based on how many frames had been written to the current reel; this makes no sense for referred reels for which the player will emit no audio. This code looks at the audio timestamp instead.
2017-05-09Simple cover sheet support (#1039).Carl Hetherington
2017-04-30Fix some cppcheck warnings.Carl Hetherington
2017-04-19Various Doxygen fixes.Carl Hetherington
2017-04-19Attempt to tidy up internal APIs slightly.Carl Hetherington
2016-07-27Do parallel digest calculation when there are multiple reels (#855).Carl Hetherington
2016-05-25No-op; fix GPL address and use the explicit-program-name version.Carl Hetherington
2015-12-04Use libdcp's compress_j2k; move Data into libdcp.Carl Hetherington
2015-11-27Fix reel that subtitles are put in when they are exactly on a reel boundary.Carl Hetherington
2015-10-22Move quite a lot of stuff out of Writer into a new classCarl Hetherington
ReelWriter, which hopefully cleans things up a bit.
2015-10-22Remove ref_write mechanism and instead maintain state for eachCarl Hetherington
reel being written so that we don't need to keep track of frames that are being referenced.
2015-10-22Various multi-reel fixes.Carl Hetherington
* _video_frames_enqueued -> _position * some int -> Frame replacements * Call Writer::ref_write when there is nothing to encode / write for one frame. * Assume Encoder::encode is called once per output video frame. * Possibly correct some off-by-1 overlap bugs. * Don't reset _last_written on FAKE write as I believe there is no need.
2015-10-12Rename split-by-video content slightly; fix referencing to multi-reel DCPs.Carl Hetherington
2015-10-12Basics of reel split.Carl Hetherington
2015-09-16Back-end for very basic and hacky VF support for a DCP imported as content.Carl Hetherington
2015-09-14Optimise checking of existing image data.Carl Hetherington
When checking existing image data go from the end backwards until a good hash is found rather than from the start forwards until a bad hash is found. This is a lot quicker for long files but may miss a corrupted frame somewhere (however unlikely this is).
2015-09-01Don't start thread in constructor. (Writer)Carl Hetherington
2015-09-01Fix duplicate name of _mutex in ExceptionStore and some of its children.Carl Hetherington
2015-08-26Separate ExceptionStore.Carl Hetherington
2015-08-26Rest of src/lib/*.h tidying.Carl Hetherington
2015-06-21No-op: remove all trailing whitespace.Carl Hetherington
2015-06-10Resurrect neater repeat-write handling.Carl Hetherington
2015-06-10Remove unused declaration.Carl Hetherington
2015-06-10Tidy up J2KImageProxy a bit.Carl Hetherington
2015-06-10Rename EncodedData -> Data and trim it a bit.Carl Hetherington
2015-06-08Some work on SMPTE subs.Carl Hetherington
2015-06-08Adapt for changes to libdcp API.Carl Hetherington
2015-05-255b5c36d28d07e8cd93af5a3f766fd95f2a506beb from master; increase the number of ↵Carl Hetherington
images that are kept around in memory before pushing to disk.
2015-04-30Various bits related to subtitle font handling, particularly copying fonts ↵Carl Hetherington
to the DCP.
2015-04-24Fix crash due to static initialisation order nastiness.Carl Hetherington
2014-12-20Basic pass-through of font information when using DCP subtitles.Carl Hetherington
2014-12-11Add language property to SubtitleContent and use it in output DCP subtitle ↵Carl Hetherington
files.
2014-12-06Missing include and hide a warning on Windows.Carl Hetherington
2014-12-05Some include tidying.Carl Hetherington
2014-07-04Make XML subtitle work at the very minimal level.Carl Hetherington