1 \documentclass{article}
2 \usepackage[explicit]{titlesec}
3 \usepackage{lipsum,framed,color,xcolor}
4 \definecolor{shadecolor}{rgb}{1,0.8,0.3}
5 \titleformat{name=\subsection,numberless}{\ttfamily}{}{0em}{\colorbox{shadecolor}{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{{#1}}}}\title{Video paths}
11 \emph{Encoder} calls \texttt{Player::pass()} repeatedly.
13 \subsection*{Player::pass()}
15 Look through all `pieces' (content, decoder, video/audio position) and
16 find earliest last emission. Call \texttt{pass()} on earliest
19 \subsection*{FFmpegDecoder::pass()}
21 Decoder may or may not generate a frame. Adjust for gaps in PTS.
22 (FFmpegDecoder does FFmpeg filtering here).
24 \subsection*{VideoDecoder::video(image, same, frame)}
26 The \emph{frame} parameter is the frame within the source. This
27 handles 3D and emits \texttt{Video}, which is caught by
28 \texttt{Player::process\_video}.
30 \subsection*{Player::process\_video(piece, image, eyes, same, frame)}
36 \item Superposition of burnt-in subtitles.
39 Emits \texttt{Video} which is caught by \texttt{Encoder::process\_video}.