Mercurial > hg > svcore
comparison data/fileio/OggVorbisFileReader.cpp @ 1057:5c5d4863b428 tonioni
Merge from cxx11 branch
author | Chris Cannam |
---|---|
date | Mon, 23 Mar 2015 11:26:28 +0000 |
parents | fe39581d249b |
children | 0a9193dc136b |
comparison
equal
deleted
inserted
replaced
1056:c4898e57eea5 | 1057:5c5d4863b428 |
---|---|
32 //static int instances = 0; | 32 //static int instances = 0; |
33 | 33 |
34 OggVorbisFileReader::OggVorbisFileReader(FileSource source, | 34 OggVorbisFileReader::OggVorbisFileReader(FileSource source, |
35 DecodeMode decodeMode, | 35 DecodeMode decodeMode, |
36 CacheMode mode, | 36 CacheMode mode, |
37 int targetRate, | 37 sv_samplerate_t targetRate, |
38 bool normalised, | 38 bool normalised, |
39 ProgressReporter *reporter) : | 39 ProgressReporter *reporter) : |
40 CodedAudioFileReader(mode, targetRate, normalised), | 40 CodedAudioFileReader(mode, targetRate, normalised), |
41 m_source(source), | 41 m_source(source), |
42 m_path(source.getLocalFilename()), | 42 m_path(source.getLocalFilename()), |
142 OggVorbisFileReader::readPacket(OGGZ *, ogg_packet *packet, long, void *data) | 142 OggVorbisFileReader::readPacket(OGGZ *, ogg_packet *packet, long, void *data) |
143 { | 143 { |
144 OggVorbisFileReader *reader = (OggVorbisFileReader *)data; | 144 OggVorbisFileReader *reader = (OggVorbisFileReader *)data; |
145 FishSound *fs = reader->m_fishSound; | 145 FishSound *fs = reader->m_fishSound; |
146 | 146 |
147 fish_sound_prepare_truncation(fs, packet->granulepos, packet->e_o_s); | 147 fish_sound_prepare_truncation(fs, packet->granulepos, int(packet->e_o_s)); |
148 fish_sound_decode(fs, packet->packet, packet->bytes); | 148 fish_sound_decode(fs, packet->packet, packet->bytes); |
149 | 149 |
150 reader->m_bytesRead += packet->bytes; | 150 reader->m_bytesRead += packet->bytes; |
151 | 151 |
152 // The number of bytes read by this function is smaller than | 152 // The number of bytes read by this function is smaller than |
153 // the file size because of the packet headers | 153 // the file size because of the packet headers |
154 int p = lrint(double(reader->m_bytesRead) * 114 / | 154 int p = int(lrint(double(reader->m_bytesRead) * 114 / |
155 double(reader->m_fileSize)); | 155 double(reader->m_fileSize))); |
156 if (p > 99) p = 99; | 156 if (p > 99) p = 99; |
157 reader->m_completion = p; | 157 reader->m_completion = p; |
158 reader->progress(p); | 158 reader->progress(p); |
159 | 159 |
160 if (reader->m_fileSize > 0 && reader->m_reporter) { | 160 if (reader->m_fileSize > 0 && reader->m_reporter) { |