diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-10-31 11:46:05 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-10-31 11:46:05 +0000 |
| commit | 09a95eca971ddd2ea75cd615e7ef2b997d52b690 (patch) | |
| tree | 3c429226dc070cbf0800a2ebbfdd72fa19b2156c /src/lib/decoder.cc | |
| parent | 3ed5df31baed21633d0db9167cd75562f384dec7 (diff) | |
Try a different approach to frame duplication in the decoder.
Diffstat (limited to 'src/lib/decoder.cc')
| -rw-r--r-- | src/lib/decoder.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/decoder.cc b/src/lib/decoder.cc index abb4d13a1..e154aac5d 100644 --- a/src/lib/decoder.cc +++ b/src/lib/decoder.cc @@ -310,12 +310,22 @@ Decoder::process_video (AVFrame* frame) } TIMING ("Decoder emits %1", _video_frame_index); - Video ((*i), _video_frame_index, sub); + Video (*i, _video_frame_index, sub); ++_video_frame_index; + _last_image = *i; + _last_subtitle = sub; } } void +Decoder::repeat_last_video () +{ + assert (_last_image); + Video (_last_image, _video_frame_index, _last_subtitle); + ++_video_frame_index; +} + +void Decoder::process_subtitle (shared_ptr<TimedSubtitle> s) { _timed_subtitle = s; |
