summaryrefslogtreecommitdiff
path: root/src/lib/video_decoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-04-21 22:41:52 +0100
committerCarl Hetherington <cth@carlh.net>2013-04-21 22:41:52 +0100
commit47f25009bcbc765e397bcb471dd361a511c99daf (patch)
tree356ac924524183047a84e34674985b3a00c5ca24 /src/lib/video_decoder.cc
parentafc495f722f89fea0bcc579046d1a5d362e36f69 (diff)
parente8d8a27c7f6861b031b3250b0ad50d04c41a7721 (diff)
Untested merge of master.
Diffstat (limited to 'src/lib/video_decoder.cc')
-rw-r--r--src/lib/video_decoder.cc39
1 files changed, 3 insertions, 36 deletions
diff --git a/src/lib/video_decoder.cc b/src/lib/video_decoder.cc
index 99d711693..fd8238441 100644
--- a/src/lib/video_decoder.cc
+++ b/src/lib/video_decoder.cc
@@ -26,6 +26,7 @@
#include "i18n.h"
+using std::cout;
using boost::shared_ptr;
using boost::optional;
@@ -43,51 +44,17 @@ VideoDecoder::VideoDecoder (shared_ptr<const Film> f)
* @param t Time of the frame within the source, in seconds.
*/
void
-VideoDecoder::emit_video (shared_ptr<Image> image, double t)
+VideoDecoder::emit_video (shared_ptr<Image> image, bool same, double t)
{
shared_ptr<Subtitle> sub;
if (_timed_subtitle && _timed_subtitle->displayed_at (t)) {
sub = _timed_subtitle->subtitle ();
}
- signal_video (image, false, sub, t);
-}
-
-bool
-VideoDecoder::have_last_video () const
-{
- return _last_image;
-}
-
-/** Called by subclasses to repeat the last video frame that we
- * passed to emit_video(). If emit_video hasn't yet been called,
- * we will generate a black frame.
- */
-void
-VideoDecoder::repeat_last_video (double t)
-{
- if (!_last_image) {
- _last_image.reset (new SimpleImage (pixel_format(), native_size(), true));
- _last_image->make_black ();
- }
-
- signal_video (_last_image, true, _last_subtitle, t);
-}
-
-/** Emit our signal to say that some video data is ready.
- * @param image Video frame.
- * @param same true if `image' is the same as the last one we emitted.
- * @param sub Subtitle for this frame, or 0.
- */
-void
-VideoDecoder::signal_video (shared_ptr<Image> image, bool same, shared_ptr<Subtitle> sub, double t)
-{
TIMING (N_("Decoder emits %1"), _video_frame);
- Video (image, same, sub);
+ Video (image, same, sub, t);
++_video_frame;
- _last_image = image;
- _last_subtitle = sub;
_last_content_time = t;
}