From: Carl Hetherington Date: Wed, 22 Feb 2017 12:22:30 +0000 (+0000) Subject: New design doc. X-Git-Tag: v2.11.1~106 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=a9560411288b71758de765319c5abfdc16e283cc New design doc. --- diff --git a/doc/design/video_audio_paths.svg b/doc/design/video_audio_paths.svg new file mode 100644 index 000000000..e30a9879a --- /dev/null +++ b/doc/design/video_audio_paths.svg @@ -0,0 +1,497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + AudioDecoder::emit(AudioBuffers, ContentTime) + + VideoDecoder::emit(ImageProxy, Frame) + Player::Video(PlayerVideo, DCPTime) + ImageProxyCropFadeScalingEyesPartColour conversionSubtitle + + + Player::audio(Stream, ContentAudio) + AudioBuffersFrame + + + Monotonically increasing frame index but could have gaps;frame index is within the content. + 3D splits and eye assignments + ImageProxyFrameEyesPart (left half, right half, etc.) + + + Player::video(ContentVideo) + Player::Audio(AudioBuffers, DCPTime) + Add subtitlesFill gaps + Continuous video from 0 to the length of the playlist at the DCP rate. + Continuous data without gaps at content rate. + Take ContentTime after a seek, otherwise count samples to calculateframe time stamp. + GainResampleMapProcessorMerge streams + Continuous audio from 0 to the length of the playlist at the DCP rate. + Audio + Video + +