summaryrefslogtreecommitdiff
path: root/src/lib/audio_decoder.cc
AgeCommit message (Collapse)Author
2022-03-15Fix incorrectly-timed emission of silence padding causing buffer fill (#2217).Carl Hetherington
On initialisation or after seek we insert silence corresponding to a positive delay in an audio stream. Previously this inserted silence was done at time 0, so that after a seek to time T the silent frames would come out of the audio merger at time 0 and then the player would fill the space up to time T with silence. If T was far enough along this would fill the audio buffers without there being any video.
2021-09-20Assorted tidying.Carl Hetherington
2021-04-08Assorted C++11/formatting cleanups.Carl Hetherington
2021-01-09More c++ tidying.Carl Hetherington
2021-01-07BOOST_FOREACH.Carl Hetherington
2021-01-07std::shared_ptrCarl Hetherington
2020-12-03Obey audio timestamps if they don't deviate by more than some threshold.Carl Hetherington
Previously we would ignore audio timestamps because they are not contiguous in a sample-accurate way. However with bugs like #1833 we do need to obey large discontinuities in audio timestamps, otherwise we get large sync errors. Here we change timestamp handling to ignore small discontinuities in timestamps but not larger ones.
2019-11-11Make DecoderPart::_position an optional.Carl Hetherington
2019-05-10Put Time types in dcpomatic namespace.Carl Hetherington
2018-11-21Tidy and fix logging.Carl Hetherington
2018-11-21Take Film pointer out of Content.Carl Hetherington
2018-03-05Tidy up with some typedefs.Carl Hetherington
2018-02-16AudioDecoder::_positions is at the resampled rate, if applicable;Carl Hetherington
fix its initial setup. Fixes problems when seeking deep into resampled content; before this commit the audio time stamps got out of whack sufficiently that the butler would fill with video before any audio made it past the range checks.
2018-01-02A previous commit took care to make Decoder::position() not be updatedCarl Hetherington
if the data that was emitted from the decoder was not taken by the player. This means that when the decoder moves into its end trim the position will stay where it is (since the player does not take the data). I can't see the point of doing this; the only use of Decoder::position() is to decide what to pass() next (I think). It is also inconvenient because we would like to check Decoder::position() to decide whether to stop passing a decoder since it's in its end trim (not doing this causes #1154).
2017-09-03Restore correct setup of fast resampler when the player is set to fast.Carl Hetherington
2017-08-30Fix incorrect reel lengths in some cases; account for emitted data being ↵Carl Hetherington
rejected by the player, and for initial audio not to be at time 0.
2017-06-29Fixes for silence in projects, various cleanups.Carl Hetherington
2017-06-23Attempts to simplify black-filling logic in Player.Carl Hetherington
2017-05-21Do resampling in AudioDecoder rather than Player.Carl Hetherington
This fixes the problem where the decoder's position would not take into account that all samples pushed into the resampler do not always immediately come out. This would result in Player thinking that there would be gaps when there are not.
2017-04-19Some comments and a few small cleanups.Carl Hetherington
2017-04-19const fix.Carl Hetherington
2017-04-19Various fixes to push audio vaguely in the right direction.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
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-21Still more decode logging.Carl Hetherington
2016-11-20Some more decode logging.Carl Hetherington
2016-11-19Move position variables into the video/audio/subtitle decoder classes.Carl Hetherington
2016-07-07Remove unused variable.Carl Hetherington
2016-06-22Set AudioDecoder::fast a different way.Carl Hetherington
2016-06-21Revert "Use make_shared<>."Carl Hetherington
Support for this seems to vary wildly across DoM's build targets. Stuff that builds on 16.04 won't build on 14.04, for example. Seems to not be worth the hassle now. This reverts commit 5a5324ed3a381a86dfe0a6e3932c1d58fdcd596f.
2016-06-21Use make_shared<>.Carl Hetherington
2016-05-25No-op; fix GPL address and use the explicit-program-name version.Carl Hetherington
2016-05-18Fix crash.Carl Hetherington
2016-05-18Rename some methods.Carl Hetherington
2016-05-18Basics of splitting up Decoder tree like Content.Carl Hetherington
2016-05-18Split audio; builds.Carl Hetherington
2015-09-09Use SRC_LINEAR for speed when analysing audio (#685).Carl Hetherington
2015-09-05Don't bother with audio in the film viewer.Carl Hetherington
2015-08-28Fix crash on adding a KDM to a DCP (hopefully #645).Carl Hetherington
2015-08-26Include tidying src/lib/a-j*.hCarl Hetherington
2015-06-02Handle multiple audio streams in a single piece of contentCarl Hetherington
in a similar way to the V1 patch.
2015-05-26{Video,Audio}Frame -> Frame.Carl Hetherington
2015-05-13Don't bother decoding video frames when we're seeking around trying to find ↵Carl Hetherington
subtitles.
2015-01-20Seek correctly in AudioDecoder; the frame parameter is in resampled frames, ↵Carl Hetherington
so we must use the same frame rate when converting back to ContentTime for seek.
2014-12-20Hand-apply d849d411cff28ef5453085791d0b4d7cd73bd070 from master; replace all ↵Carl Hetherington
assert()s with thrown exceptions.
2014-12-05Include rearrangement.Carl Hetherington
2014-09-16Merge master.Carl Hetherington
2014-09-14Another missing <iostream> include from Markus Kalb.Carl Hetherington