| 112 | }; |
| 113 | |
| 114 | bool |
| 115 | VorbisDecoder::Seek(uint64_t where_frame) |
| 116 | { |
| 117 | assert(IsSeekable()); |
| 118 | assert(input_stream.IsSeekable()); |
| 119 | assert(input_stream.KnownSize()); |
| 120 | |
| 121 | const ogg_int64_t where_granulepos(where_frame); |
| 122 | |
| 123 | try { |
| 124 | SeekGranulePos(where_granulepos); |
| 125 | vorbis_synthesis_restart(&dsp); |
| 126 | return true; |
| 127 | } catch (...) { |
| 128 | return false; |
| 129 | } |
| 130 | } |
| 131 | |
| 132 | void |
| 133 | VorbisDecoder::OnOggBeginning(const ogg_packet &_packet) |
no test coverage detected