From 89aa9d4ba69e471949f791cdafe4ae20cea554d2 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 21 Feb 2017 21:42:44 +0000 Subject: Various fixes to push audio vaguely in the right direction. --- src/lib/decoder.cc | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'src/lib/decoder.cc') diff --git a/src/lib/decoder.cc b/src/lib/decoder.cc index 785fb96f0..ee03a1579 100644 --- a/src/lib/decoder.cc +++ b/src/lib/decoder.cc @@ -22,23 +22,36 @@ #include "video_decoder.h" #include "audio_decoder.h" #include "subtitle_decoder.h" +#include +#include + +using std::cout; +using boost::optional; ContentTime Decoder::position () const { - ContentTime pos; + optional pos; - if (video && video->position()) { - pos = min (pos, video->position().get()); + if (video && (!pos || video->position() < *pos)) { + pos = video->position(); } - if (audio && audio->position()) { - pos = min (pos, audio->position().get()); + if (audio && (!pos || audio->position() < *pos)) { + pos = audio->position(); } - if (subtitle && subtitle->position()) { - pos = min (pos, subtitle->position().get()); + if (subtitle && (!pos || subtitle->position() < *pos)) { + pos = subtitle->position(); } - return pos; + return pos.get_value_or(ContentTime()); +} + +void +Decoder::seek (ContentTime time, bool accurate) +{ + if (audio) { + audio->seek (); + } } -- cgit v1.2.3