-
- TIMING (N_("Decoder emits %1"), _video_frame);
- Video (image, same, sub, t);
- ++_video_frame;
-
- _last_content_time = t;
-}
-
-/** Set up the current subtitle. This will be put onto frames that
- * fit within its time specification. s may be 0 to say that there
- * is no current subtitle.
- * @param s New current subtitle, or 0.
- */
-void
-VideoDecoder::emit_subtitle (shared_ptr<TimedSubtitle> s)
-{
- _timed_subtitle = s;
-
- if (_timed_subtitle) {
- Position const p = _timed_subtitle->subtitle()->position ();
- _timed_subtitle->subtitle()->set_position (Position (p.x - _film->crop().left, p.y - _film->crop().top));
- }
-}
-
-void
-VideoDecoder::set_progress (Job* j) const
-{
- assert (j);
-
- if (_film->length()) {
- j->set_progress (float (_video_frame) / _film->time_to_video_frames (_film->length()));