summaryrefslogtreecommitdiff
path: root/src/lib/audio_decoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-11-22 14:54:31 +0000
committerCarl Hetherington <cth@carlh.net>2017-04-19 23:04:32 +0100
commite11276a822289d7d7d91a4f431f386ad28ef16dd (patch)
tree83c1162b3beb7f9fa11b24409309747dd9753959 /src/lib/audio_decoder.cc
parentc6b0eb4db564abd41aa0685367a8660d7091e8f8 (diff)
Various work on the audio code.
Diffstat (limited to 'src/lib/audio_decoder.cc')
-rw-r--r--src/lib/audio_decoder.cc17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/lib/audio_decoder.cc b/src/lib/audio_decoder.cc
index b866d3ecf..6a795f3ac 100644
--- a/src/lib/audio_decoder.cc
+++ b/src/lib/audio_decoder.cc
@@ -94,11 +94,18 @@ AudioDecoder::set_fast ()
optional<ContentTime>
AudioDecoder::position () const
{
- optional<ContentTime> pos;
- for (StreamMap::const_iterator i = _streams.begin(); i != _streams.end(); ++i) {
- if (!pos || (i->second->position() && i->second->position().get() < pos.get())) {
- pos = i->second->position();
+ optional<ContentTime> p;
+ for (map<AudioStreamPtr, ContentTime>::const_iterator i = _positions.begin(); i != _positions.end(); ++i) {
+ if (!p || i->second < *p) {
+ p = i->second;
}
}
- return pos;
+
+ return p;
+}
+
+void
+AudioDecoder::set_position (AudioStreamPtr stream, ContentTime time)
+{
+ _positions[stream] = time;
}