diff options
Diffstat (limited to 'src/lib/audio_decoder.cc')
| -rw-r--r-- | src/lib/audio_decoder.cc | 17 |
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; } |
