summaryrefslogtreecommitdiff
path: root/src/lib/dcp_decoder.cc
AgeCommit message (Collapse)Author
2020-06-19Make Atmos content work more like other content. Now its MXFsencrypt-atmosCarl Hetherington
are re-written, meaning that they can be encrypted. This commit is mostly just for the backend. We also need a fair few checks/restrictions in the UI: - any present atmos content dictates the project frame rate - no mixed edit rates of atmos content - probably some other things I haven't thought of
2020-05-20Fix DCP playback when an incorrect KDM is added, followed byCarl Hetherington
a correct one.
2020-02-19Nicer fix for 2D-labelled-3D checking from master.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.
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-10-30Fix dying butler on changing CPL from one without to one withv2.15.28Carl Hetherington
subtitles (#1641). Forward-port from da39ed1516f2463f8a9bf4795a94f23d420c9ca3 in master.
2019-10-13Fix failure to load OV after adding a VF to a project.Carl Hetherington
This has the same cause as 19f51503621a57794bd79bac053c9e6549a69f46 i.e. the DCPDecoder re-use optimisation. This commit tries to re-fix 19f515 in a more general way which also takes into account the OV/VF bug. It also adds a unit test.
2019-09-27Fix failure to playback encrypted DCPs, introduced when adding DCPDecoder ↵Carl Hetherington
re-use optimisation.
2019-08-30Make player more tolerant of some DCP errors.Carl Hetherington
2019-07-25Optimise decoder_factory for DCPDecoder by offering the old decoderCarl Hetherington
(if available) to recover the list of reels from, rather than having to scan the filesystem again.
2019-05-10Put Time types in dcpomatic namespace.Carl Hetherington
2019-05-10Update for libdcp API changes.Carl Hetherington
2019-04-20Don't set up decoder parts for DCPs unless they can be playedv2.13.149Carl Hetherington
(i.e. are not encrypted and not missing assets). Fixes full audio buffers on locates with large encrypted DCPs and no KDMs; in these cases silent audio is created by the fill_audio() at the bottom of Player::pass() but no video is created by anybody.
2019-03-08Support PNG subs in DCPSubtitleDecoder (#1479).Carl Hetherington
2018-11-21Put Film pointer into Decoder.Carl Hetherington
2018-11-21Take Film pointer out of Content.Carl Hetherington
2018-10-16Collect subtitles at the same time before emitting them fromCarl Hetherington
DCPDecoder. Prevents overlaid text in, for example, lines with partial italic.
2018-10-12Change MagickImageProxy to FFmpegImageProxy and make it use FFmpegCarl Hetherington
to decode images. Hence remove {Image,Graphics}Magick.
2018-09-02Play PNG subtitles from DCPs; possibly not in the right scale.Carl Hetherington
2018-08-22libdcp updates for multiple CCAPs.Carl Hetherington
2018-07-25Add some asserts.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-21Basics of multiple captions per content so that DCPContent canCarl Hetherington
hold subs and closed captions.
2018-07-19Clean up after previous commit.Carl Hetherington
2018-07-19More renaming.Carl Hetherington
sed -i "s/emit_text/emit_plain/g" src/lib/*.cc src/lib/*.h sed -i "s/emit_image_start/emit_bitmap_start/g" src/lib/*.cc src/lib/*.h sed -i "s/emit_text_start/emit_plain_start/g" src/lib/*.cc src/lib/*.h sed -i "s/render_subtitles/render_text/g" src/lib/*.cc src/lib/*.h src/lib/wscript test/*.cc sed -i "s/ImageStart/BitmapStart/g" src/lib/*.cc src/lib/*.h sed -i "s/TextStart/PlainStart/g" src/lib/*.cc src/lib/*.h test/*.cc src/wx/*.cc sed -i "s/ImageSubtitle/BitmapText/g" src/lib/*.cc src/lib/*.h sed -i "s/text_subtitle/plain_text/g" src/lib/*.cc src/lib/*.h src/lib/wscript src/wx/*.cc src/wx/*.h test/*.cc sed -i "s/image_subtitle/bitmap_text/g" src/lib/*.cc src/lib/*.h mv src/lib/render_subtitles.cc src/lib/render_text.cc mv src/lib/render_subtitles.h src/lib/render_text.h mv src/lib/text_subtitle.cc src/lib/plain_text.cc mv src/lib/text_subtitle.h src/lib/plain_text.h
2018-07-19Rename Subtitle -> TextCarl Hetherington
sed -i "s/SubtitleContent/TextContent/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc sed -i "s/SubtitleDecoder/TextDecoder/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc sed -i "s/subtitle_content/text_content/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc src/lib/wscript src/wx/wscript sed -i "s/subtitle_decoder/text_decoder/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc src/lib/wscript mv src/lib/subtitle_decoder.cc src/lib/text_decoder.cc mv src/lib/subtitle_decoder.h src/lib/text_decoder.h mv src/lib/subtitle_content.cc src/lib/text_content.cc mv src/lib/subtitle_content.h src/lib/text_content.h mv src/lib/dcp_subtitle_decoder.cc src/lib/dcp_text_decoder.cc mv src/lib/dcp_subtitle_decoder.h src/lib/dcp_text_decoder.h mv src/lib/dcp_subtitle_content.cc src/lib/dcp_text_content.cc mv src/lib/dcp_subtitle_content.h src/lib/dcp_text_content.h mv src/lib/text_subtitle_content.cc src/lib/text_text_content.cc mv src/lib/text_subtitle_content.h src/lib/text_text_content.h mv src/lib/text_subtitle_decoder.cc src/lib/text_text_decoder.cc mv src/lib/text_subtitle_decoder.h src/lib/text_text_decoder.h mv src/wx/timeline_subtitle_content_view.cc src/wx/timeline_text_content_view.cc mv src/wx/timeline_subtitle_content_view.h src/wx/timeline_text_content_view.h
2018-07-08Fix build with shared_ptr dcp::Subtitle and subclasses.Carl Hetherington
2018-06-08Fix crash with missing DCP content.v2.13.27Carl Hetherington
2018-04-27Fix incorrect container size when loading a VF/OV combination into the player.Carl Hetherington
2018-02-21Fix crash on decoding incomplete DCP content (e.g. on loading a VF with ↵Carl Hetherington
subtitles into the player).
2018-02-18Set up seek position correctly when a seek skips over a reel inCarl Hetherington
a DCP.
2018-02-09Always pre-roll when seeking in DCPs; I don't think the performanceCarl Hetherington
hit is anything to worry about (especially compared to the time taken to decode the next frame).
2018-02-08Pass DCP subtitles before video so that they are present when the video ↵Carl Hetherington
frame looks for them.
2018-02-07Fix ignore/referencing logic.Carl Hetherington
2018-02-06Ignore video/audio when it is referenced; should help with #1191.Carl Hetherington
2018-01-14Only put subtitles in a frame if they overlap more than half of thatCarl Hetherington
frame; may help with #1166.
2018-01-14Emit subtitles with correct times when they occur at different times within ↵Carl Hetherington
a frame period.
2017-12-13Setup SubtitleDecoder::_position correctly (in some cases).Carl Hetherington
2017-10-18Pre-roll subtitles when accurate seeking in DCPs to avoid disappearing subs ↵Carl Hetherington
on frame-advance (and in other cases).
2017-09-03Restore correct setup of fast resampler when the player is set to fast.Carl Hetherington
2017-08-14Basics of forced reduction of JPEG2000 decode resolution.Carl Hetherington
2017-07-03Don't create decoders if they are not necessary.Carl Hetherington
2017-04-19Various fixes to push audio vaguely in the right direction.Carl Hetherington
2017-04-19Reinstate subtitle list view.Carl Hetherington
2017-04-19Post-merge tidy-up.Carl Hetherington
2017-04-19Various work on the audio code.Carl Hetherington
2017-04-19Basic grunt-work, untested and unfinished, but it compiles.Carl Hetherington
2017-02-12Trim include.Carl Hetherington
2016-12-08Further fixes and tidying to 'better-seek'.Carl Hetherington
This fixes the failure to keep track of the `position' of each stream of a multi-stream file. It also tidies things up a bit.