aboutsummaryrefslogtreecommitdiff
path: root/sound/audiostream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sound/audiostream.cpp')
-rw-r--r--sound/audiostream.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/sound/audiostream.cpp b/sound/audiostream.cpp
index 6d72b83dd1..3fcfbe14c0 100644
--- a/sound/audiostream.cpp
+++ b/sound/audiostream.cpp
@@ -222,9 +222,8 @@ SubSeekableAudioStream::SubSeekableAudioStream(SeekableAudioStream *parent, cons
: _parent(parent), _disposeAfterUse(disposeAfterUse),
_start(start.convertToFramerate(getRate())),
_pos(0, getRate() * (isStereo() ? 2 : 1)),
- _length(end.convertToFramerate(getRate())) {
- // TODO: This really looks like Timestamp::operator-
- _length = Timestamp(_length.secs() - _start.secs(), _length.numberOfFrames() - _start.numberOfFrames(), getRate());
+ _length((start - end).convertToFramerate(getRate())) {
+
_parent->seek(_start);
}
@@ -247,8 +246,7 @@ bool SubSeekableAudioStream::seek(const Timestamp &where) {
return false;
}
- // TODO: This really looks like Timestamp::operator+
- if (_parent->seek(Timestamp(_pos.secs() + _start.secs(), _pos.numberOfFrames() + _start.numberOfFrames(), getRate()))) {
+ if (_parent->seek(_pos + _start)) {
return true;
} else {
_pos = _length;