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}
Questions:
\begin{itemize}
\item Video / audio frame or \texttt{ContentTime}?
+\item Can all the subtitle period notation code go?
+\end{itemize}
+
+\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 \texttt{get} methods from \texttt{Player}; replace with \texttt{pass()} and \texttt{seek()}.
\end{itemize}
\end{document}