diff options
| author | Tom Kirchner <git@halffull.org> | 2025-01-06 20:53:02 -0800 |
|---|---|---|
| committer | Tom Kirchner <git@halffull.org> | 2025-01-08 20:46:34 -0800 |
| commit | faa62e0c60d51a9df88002a59825b427323259c0 (patch) | |
| tree | cd0631b047e8b09fbd61ea85ad1a67aa55929a25 /src/codecs/dr_flac.cpp | |
| parent | 829d033a448107f1bc610cf735ce9f7222de564b (diff) | |
| download | tangara-fw-faa62e0c60d51a9df88002a59825b427323259c0.tar.gz | |
Add bitrate info
Diffstat (limited to 'src/codecs/dr_flac.cpp')
| -rw-r--r-- | src/codecs/dr_flac.cpp | 7 |
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; } |
