| 223 | } |
| 224 | |
| 225 | bool |
| 226 | DecoderBridge::UpdateStreamTag(InputStream *is) noexcept |
| 227 | { |
| 228 | auto tag = is != nullptr |
| 229 | ? is->LockReadTag() |
| 230 | : nullptr; |
| 231 | if (tag == nullptr) { |
| 232 | tag = std::move(song_tag); |
| 233 | if (tag == nullptr) |
| 234 | return false; |
| 235 | |
| 236 | /* no stream tag present - submit the song tag |
| 237 | instead */ |
| 238 | } else |
| 239 | /* discard the song tag; we don't need it */ |
| 240 | song_tag.reset(); |
| 241 | |
| 242 | if (stream_tag && tag && *stream_tag == *tag) |
| 243 | /* not changed */ |
| 244 | return false; |
| 245 | |
| 246 | stream_tag = std::move(tag); |
| 247 | return true; |
| 248 | } |
| 249 | |
| 250 | void |
| 251 | DecoderBridge::Ready(const AudioFormat audio_format, |
nothing calls this directly
no test coverage detected