summaryrefslogtreecommitdiff
path: root/doc/design/decoder_structures.tex
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-11-28 23:45:34 +0000
committerCarl Hetherington <cth@carlh.net>2017-04-19 23:04:32 +0100
commita78b741c43830c84bcb4d18e3147746f13a668e5 (patch)
tree170fdc1a80f397ccb6c2e9454a7a106448358dda /doc/design/decoder_structures.tex
parent3d90ce7a500a33b6147c30b65766efcbc447f5ab (diff)
Attempt to tidy up internal APIs slightly.
Diffstat (limited to 'doc/design/decoder_structures.tex')
-rw-r--r--doc/design/decoder_structures.tex14
1 files changed, 10 insertions, 4 deletions
diff --git a/doc/design/decoder_structures.tex b/doc/design/decoder_structures.tex
index b7513859c..64a7da752 100644
--- a/doc/design/decoder_structures.tex
+++ b/doc/design/decoder_structures.tex
@@ -128,9 +128,9 @@ Resampling also looks fiddly in the v1 code.
virtual void pass() = 0;
virtual void seek(ContentTime time, bool accurate) = 0;
- signals2<void (ContentVideo)> Video;
- signals2<void (ContentAudio, AudioStreamPtr)> Audio;
- signals2<void (ContentTextSubtitle)> TextSubtitle;
+ signal<void (ContentVideo)> Video;
+ signal<void (ContentAudio, AudioStreamPtr)> Audio;
+ signal<void (ContentTextSubtitle)> TextSubtitle;
};
\end{lstlisting}
@@ -160,12 +160,18 @@ Questions:
\subsection{Steps}
\begin{itemize}
+\item Add signals to \texttt{Player}.
+ \begin{itemize}
+ \item \texttt{signal<void (shared\_ptr<PlayerVideo>), DCPTime> Video;}
+ \item \texttt{signal<void (shared\_ptr<AudioBuffers>, DCPTime)> Audio;}
+ \item \texttt{signal<void (PlayerSubtitles, DCPTimePeriod)> Subtitle;}
+ \end{itemize}
\item Remove \texttt{get()}-based loops and replace with \texttt{pass()} and signal connections.
\item Remove \texttt{get()} and \texttt{seek()} from decoder parts; add emission signals.
\item Put \texttt{AudioMerger} back.
\item Remove \texttt{during} stuff from \texttt{SubtitleDecoder} and decoder classes that use it.
\item Rename \texttt{give} methods to \texttt{emit}.
- \item Remove \text{get} methods from \texttt{Player}; replace with \texttt{pass()} and \texttt{seek()}.
+ \item Remove \texttt{get} methods from \texttt{Player}; replace with \texttt{pass()} and \texttt{seek()}.
\end{itemize}
\end{document}