summaryrefslogtreecommitdiff
path: root/src/lib/shuffler.h
AgeCommit message (Collapse)Author
2022-12-13More header trimming.Carl Hetherington
2021-07-05Use unique_ptr.Carl Hetherington
2021-05-01C++11 tidying.Carl Hetherington
2021-01-07std::shared_ptrCarl Hetherington
2019-02-13Fix test after Shuffler changes.Carl 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.
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-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.