- *
- * The film takes the following path through the viewer:
- *
- * 1. get_frame() asks our _player to decode some data. If it does, process_video()
- * will be called.
- *
- * 2. process_video() takes the image and subtitle from the decoder (_raw_frame and _raw_sub)
- * and calls raw_to_display().
- *
- * 3. raw_to_display() copies _raw_frame to _display_frame, processing it and scaling it.
- *
- * 4. calling _panel->Refresh() and _panel->Update() results in paint_panel() being called;
- * this creates frame_bitmap from _display_frame and blits it to the display. It also
- * blits the subtitle, if required.
- *
- * update_from_decoder() asks the player to re-emit its current frame on the next pass(), and then
- * starts from step #1.
- *
- * update_from_raw() starts at step #3, then calls _panel->Refresh and _panel->Update.