summaryrefslogtreecommitdiff
path: root/src/lib/decoder.cc
AgeCommit message (Collapse)Author
2025-10-15Cleanup: header sorting.Carl Hetherington
2025-04-25White space: decoder.{cc,h}Carl Hetherington
2021-02-16C++11 tidying.Carl Hetherington
2021-01-07BOOST_FOREACH.Carl Hetherington
2021-01-07std::shared_ptrCarl Hetherington
2020-12-07Add WeakFilm and WeakConstFilm and use them a bit.Carl Hetherington
2019-11-11Make DecoderPart::_position an optional.Carl Hetherington
2019-07-07Only take subtitle data into account for position() if there is nothingv2.15.10Carl Hetherington
else to go on. This fixes problems at the end of muxed files when subtitle data runs out before video/audio. There is no (easy) way to know that this has happened, and this seems to be the next best thing. Fixes #1581.
2019-05-10Put Time types in dcpomatic namespace.Carl Hetherington
2018-11-21Put Film pointer into Decoder.Carl Hetherington
2018-11-21Take Film pointer out of Content.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-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
2017-12-13Reset VideoDecoder::_position on seek.Carl Hetherington
2017-07-11Remove unused Player::_ignore_audio. Ignore positionCarl Hetherington
of things that we are ignoring; this fixes strange behaviour (delays) when analysing audio as it used to keep pass()ing decoders to get data that would never come.
2017-05-15Fix missing subtitle in some cases.Carl Hetherington
With this timeline: -------> t SUB1 SUB2 X We might seek to X, then pass(). Before this change, SUB1 would have been emitted by the call to the subtitle decoder, then we'd have emitted some black for X. This would lose SUB2. Now we keep pass()ing and don't emit X until it's the earliest thing (in the same way that the main decision of what to pass() works).
2017-05-08Fix up black-filling logic.Carl Hetherington
2017-04-19Fix merging of audio in various circumstances.Carl Hetherington
2017-04-19Various fixes to push audio vaguely in the right direction.Carl Hetherington
2017-04-19Basic grunt-work, untested and unfinished, but it compiles.Carl Hetherington
2016-12-08Typo in previous.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.
2016-11-20Fix thinko; just because a seek has just happened, it doesn't mean another ↵Carl Hetherington
one isn't necessary.
2016-11-19Move position variables into the video/audio/subtitle decoder classes.Carl Hetherington
2016-11-19Cope with offsets between video/audio/subtitle data in a muxed file.Carl Hetherington
2016-11-17A possibly-better approach to seeking.Carl Hetherington
Before this commit, decoders try to guess whether they should request a seek based on what they have in their buffers. This seems reasonable for video and audio, which will always (I think) have some data lying around to give an indication of where their parent decoders are in the timeline. It doesn't work so well for subtitles, as the storage of subs is cleared out based on time (+/- 5s of "now") so there is a good chance that the storage will be empty. This gives the subtitle decoder no chance of knowing where its parent is, so it's very likely to seek. This commit asks the parent decoder to seek if it wants to, and it decides based on a knowledge of roughly where it is in the timeline. Hence the sub-decoders just see if they have got the data that is being requested, and if not they suggest to the parent that it might like to seek. They then start calling pass(). Hence the parent should only seek if some calls to pass() are not going to elicit the required data in a reasonable time.
2014-03-25It builds.Carl Hetherington
2014-03-07Add primitive subtitle view. Remove unused Film member from Decoder hierarchy.Carl Hetherington
2014-01-03Various attempted fixes to audio sync.Carl Hetherington
2014-01-03Various fix-ups.Carl Hetherington
2013-12-28Fix termination of decodes.Carl Hetherington
2013-12-24Tidy up playback slightly.Carl Hetherington
2013-12-24Some fixes to playback of drop-frame content.Carl Hetherington
2013-12-18Considerable rework of decoder timing; tests pass, at least.Carl Hetherington
2013-07-20Remove some unused stuff.Carl Hetherington
2013-05-22Various hacks.Carl Hetherington
2013-05-22Half-way through trying to make seek work again.Carl Hetherington
2013-04-09Merge ImageMagick and FFmpeg content into VideoContent list; remove ↵Carl Hetherington
seek_to_last hacks.
2013-03-31Content can be added and previewed.Carl Hetherington
2013-03-31Runs.Carl Hetherington
2013-02-28Various markup and tweaks.Carl Hetherington
2013-02-08Shuffle Job pointers around slightly.Carl Hetherington
2013-01-17shared_ptr is a bit excessive for DecodeOptions.Carl Hetherington
2012-12-22Add -Wextra and fix the warnings.Carl Hetherington
2012-12-18Try to tidy up subtitle timing and seeks wrt source frames, DCP frames and ↵Carl Hetherington
rounding.
2012-12-17Various fixes to still-image mode.Carl Hetherington
2012-12-16Split Options into encode / decode.Carl Hetherington