| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
we emit a crucial frame and then fail to carry on because we miss it.
|
|
|
|
anything passed to emit_video(), not just things that come from
decoders.
|
|
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...
|
|
|
|
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.
|