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) {