summaryrefslogtreecommitdiff
path: root/src/audio/audio_decoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/audio_decoder.cpp')
-rw-r--r--src/audio/audio_decoder.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/audio/audio_decoder.cpp b/src/audio/audio_decoder.cpp
index bd728e5a..b0a973d9 100644
--- a/src/audio/audio_decoder.cpp
+++ b/src/audio/audio_decoder.cpp
@@ -138,22 +138,27 @@ auto Decoder::BeginDecoding(std::shared_ptr<TaggedStream> stream) -> bool {
return false;
}
stream->SetPreambleFinished();
-
- timer_.reset(new Timer(std::shared_ptr<Track>{new Track{
- .tags = stream->tags(),
- .db_info = {},
- .bitrate_kbps = open_res->sample_rate_hz,
- .encoding = stream->type(),
- }},
- open_res.value()));
-
current_sink_format_ = IAudioOutput::Format{
.sample_rate = open_res->sample_rate_hz,
.num_channels = open_res->num_channels,
.bits_per_sample = 16,
};
+
ESP_LOGI(kTag, "stream started ok");
events::Audio().Dispatch(internal::InputFileOpened{});
+
+ auto tags = std::make_shared<Track>(Track{
+ .tags = stream->tags(),
+ .db_info = {},
+ .bitrate_kbps = open_res->sample_rate_hz,
+ .encoding = stream->type(),
+ });
+ timer_.reset(new Timer(tags, open_res.value()));
+
+ PlaybackUpdate ev{.seconds_elapsed = 0, .track = tags};
+ events::Audio().Dispatch(ev);
+ events::Ui().Dispatch(ev);
+
return true;
}