summaryrefslogtreecommitdiff
path: root/src/lib/shuffler.cc
AgeCommit message (Collapse)Author
2021-07-10Use dcp::compose rather than our own.composeCarl Hetherington
2021-05-01C++11 tidying.Carl Hetherington
2021-01-31More enum class additions.Carl Hetherington
2021-01-30Rename debug type THREED to THREED_D.Carl Hetherington
2021-01-07BOOST_FOREACH.Carl Hetherington
2021-01-07std::shared_ptrCarl Hetherington
2020-05-20Add a bit more debug logging to the player.Carl Hetherington
2020-03-02Fix weirdly-allowed misplaced bracket.Carl Hetherington
2020-03-01Remove unused LOG_DEBUG_DECODE and re-use it to add some 3D shuffler logging.v2.15.46Carl Hetherington
2019-02-13Fixes to 3D shuffler to fix #1463.Carl Hetherington
Make the shuffler longer; I've seen examples where the video and sound are over a second apart within the muxed file. Allow the shuffler to pass through complete missed frames; e.g. if the input is L1 R1 L3 R3 we can pass that through without worrying about the missing frame #2. Add a log warning if the shuffler fills: at this point, 3D sync may be lost.
2019-02-12White space.Carl Hetherington
2018-04-07Somewhat speculative shuffler fix for assertion failure.v2.13.13Carl Hetherington
2018-04-07Fix silly crash in shuffler.Carl Hetherington
2018-04-05Further adjustment of shuffler to cope with having sources for only one eye.v2.13.12Carl Hetherington
2018-04-05Remove believed-unnecessary check.Carl Hetherington
2018-04-05Wait for in-order input to shuffler before emitting anything, otherwiseCarl Hetherington
we emit a crucial frame and then fail to carry on because we miss it.
2018-04-05Tidy up assertion.Carl Hetherington
2018-02-23Fix implementation of delay in 7758260; it needs to apply toCarl Hetherington
anything passed to emit_video(), not just things that come from decoders.
2018-02-20Add a 2-frame `delay' on content arriving at the player to giveCarl Hetherington
subtitle content the chance to catch up. Fixes problems observed when overlaying a DCP subtitle onto an existing DCP and then seeking into the first subtitle. After the seek the decoder positions were: DCP: 0. subtitle: first subtitle time. This causes the DCP decoder to be pass()ed first and so the subtitle for the video frame has not arrived yet. I hope this does not cause unpredicted side effects...
2018-02-02Remove some debugging code.Carl Hetherington
2018-01-16In general the player assumes that it won't receive out of order video.Carl Hetherington
This clearly can happen with separate L/R sources. A pass in L might emit two frames which means the arrivals can't possibly be in order. This commit fixes this by introducing a Shuffler which all alternate-3D sources send their video to. The Shuffler re-orders things before they arrive at the player. It also fixes the code which inserts video frames before one that arrives after a gap. This didn't cope with 3D right before. The audio code solves a similar (perhaps the same?) problem with the AudioMerger; perhaps we should have a similar thing for video and make the player emit complete 3D frames. Should help with #976.