summaryrefslogtreecommitdiff
path: root/src/codecs/dr_flac.cpp
diff options
context:
space:
mode:
authorcooljqln <cooljqln@noreply.codeberg.org>2025-01-09 04:52:38 +0000
committercooljqln <cooljqln@noreply.codeberg.org>2025-01-09 04:52:38 +0000
commitfaf52c162f98fb78907ab7028e997ef3d316f393 (patch)
treecd0631b047e8b09fbd61ea85ad1a67aa55929a25 /src/codecs/dr_flac.cpp
parent829d033a448107f1bc610cf735ce9f7222de564b (diff)
parentfaa62e0c60d51a9df88002a59825b427323259c0 (diff)
downloadtangara-fw-faf52c162f98fb78907ab7028e997ef3d316f393.tar.gz
Merge pull request 'Add bitrate info' (#172) from tjk/tangara-fw:bitrate into main
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/172 Reviewed-by: cooljqln <cooljqln@noreply.codeberg.org>
Diffstat (limited to 'src/codecs/dr_flac.cpp')
-rw-r--r--src/codecs/dr_flac.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/codecs/dr_flac.cpp b/src/codecs/dr_flac.cpp
index 9341e938..939705ad 100644
--- a/src/codecs/dr_flac.cpp
+++ b/src/codecs/dr_flac.cpp
@@ -97,6 +97,13 @@ auto DrFlacDecoder::OpenStream(std::shared_ptr<IStream> input, uint32_t offset)
.sample_rate_hz = static_cast<uint32_t>(flac_->sampleRate),
.total_samples = flac_->totalPCMFrameCount * flac_->channels,
};
+
+ if (input->Size() && format.total_samples) {
+ double sample_size = *(input->Size()) * 8.0 / *(format.total_samples);
+ format.bitrate_kbps = static_cast<uint32_t>(
+ flac_->sampleRate * flac_->channels * sample_size / 1024);
+ }
+
return format;
}