| 155 | } |
| 156 | |
| 157 | void |
| 158 | VorbisDecoder::SubmitInit() |
| 159 | { |
| 160 | assert(!dsp_initialized); |
| 161 | |
| 162 | audio_format = CheckAudioFormat(vi); |
| 163 | |
| 164 | frame_size = audio_format.GetFrameSize(); |
| 165 | |
| 166 | const auto eos_granulepos = UpdateEndGranulePos(); |
| 167 | const auto duration = eos_granulepos >= 0 |
| 168 | ? SignedSongTime::FromScale<uint64_t>(eos_granulepos, |
| 169 | audio_format.sample_rate) |
| 170 | : SignedSongTime::Negative(); |
| 171 | |
| 172 | client.Ready(audio_format, eos_granulepos > 0, duration); |
| 173 | } |
| 174 | |
| 175 | #ifdef HAVE_TREMOR |
| 176 | static inline int16_t tremor_clip_sample(int32_t x) |
nothing calls this directly
no test coverage detected