Fill test disk partitions with random noise to expose more bugs.
[dcpomatic.git] / doc / design / change_during_play.tex
1 \documentclass{article}
2 \begin{document}
3
4 If the data which the player relies on changes, the player must \texttt{setup\_pieces()} before it \texttt{pass()}es otherwise it may crash.
5
6 I think there are two approaches to this:
7
8 \begin{enumerate}
9
10 \item Playlist signals that it is going to change; player and
11 butler respond by suspending themselves (so they don't touch the `bad'
12 playlist), playlist signals when the change has been made and
13 \texttt{setup\_pieces()} has happened.  Player and butler resume.
14
15 \item There is some RCU system so that changes to the playlist happen in a copy
16 which is made into the `current' version at a convenient time to the
17 player/butler.  This seems a bit tricky because the player's output also
18 depends on the state of \texttt{Film}, so it seems that the copy would need to
19 include the film's state (and possibly other bits).
20
21 \end{enumerate}
22
23 \end{document}