diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-11-24 15:13:10 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-11-24 15:13:10 +1100 |
| commit | 7c6eb2997cbba350e7384151e13659271508e08f (patch) | |
| tree | b6f95a4843521e69b24cbf4c126d84442d19fc23 /src/audio/audio_source.cpp | |
| parent | 230721cd6271f3239b42e1d2471f8db15bebd712 (diff) | |
| download | tangara-fw-7c6eb2997cbba350e7384151e13659271508e08f.tar.gz | |
Migrate 'now playing' screen to lua
Diffstat (limited to 'src/audio/audio_source.cpp')
| -rw-r--r-- | src/audio/audio_source.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/audio/audio_source.cpp b/src/audio/audio_source.cpp new file mode 100644 index 00000000..b9262b45 --- /dev/null +++ b/src/audio/audio_source.cpp @@ -0,0 +1,41 @@ +/* + * Copyright 2023 jacqueline <me@jacqueline.id.au> + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#include "audio_source.hpp" +#include "codec.hpp" +#include "types.hpp" + +namespace audio { + +TaggedStream::TaggedStream(std::shared_ptr<database::TrackTags> t, + std::unique_ptr<codecs::IStream> w) + : codecs::IStream(w->type()), tags_(t), wrapped_(std::move(w)) {} + +auto TaggedStream::tags() -> std::shared_ptr<database::TrackTags> { + return tags_; +} + +auto TaggedStream::Read(cpp::span<std::byte> dest) -> ssize_t { + return wrapped_->Read(dest); +} + +auto TaggedStream::CanSeek() -> bool { + return wrapped_->CanSeek(); +} + +auto TaggedStream::SeekTo(int64_t destination, SeekFrom from) -> void { + wrapped_->SeekTo(destination, from); +} + +auto TaggedStream::CurrentPosition() -> int64_t { + return wrapped_->CurrentPosition(); +} + +auto TaggedStream::SetPreambleFinished() -> void { + wrapped_->SetPreambleFinished(); +} + +} // namespace audio |
