diff --git a/libs/audio/source/effect/fade_out.cpp b/libs/audio/source/effect/fade_out.cpp index 335995f8..34440932 100644 --- a/libs/audio/source/effect/fade_out.cpp +++ b/libs/audio/source/effect/fade_out.cpp @@ -16,12 +16,12 @@ namespace psemek::audio : stream_(std::move(stream)) , length_(length) , start_(start) + , total_length_(stream_->played() + start_.samples() + length_.samples()) {} std::optional length() const override { - // TODO: compute fade_out length using the number of samples already played - return stream_->length(); + return total_length_; } std::size_t played() const override @@ -62,6 +62,7 @@ namespace psemek::audio duration length_; duration start_; std::size_t current_ = 0; + std::size_t total_length_ = 0; }; }