mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-21 06:58:04 +02:00
2016-08-02 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'lib/rdwavefile.cpp' that caused WAV files to be written with incorrect LEVL chunk data.
This commit is contained in:
parent
46d5ef5152
commit
1c52c13a7b
@ -15446,3 +15446,6 @@
|
||||
payload size to be written for WAV files.
|
||||
2016-08-02 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added 'Start' fields to wav_chunk_test(1).
|
||||
2016-08-02 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Fixed a bug in 'lib/rdwavefile.cpp' that caused WAV files to
|
||||
be written with incorrect LEVL chunk data.
|
||||
|
@ -654,13 +654,14 @@ void RDWaveFile::closeWave(int samples)
|
||||
MakeLevl();
|
||||
lseek(wave_file.handle(),0,SEEK_END);
|
||||
write(wave_file.handle(),"levl",4);
|
||||
lsize=LEVL_CHUNK_SIZE+energy_data.size()*2;
|
||||
lsize=LEVL_CHUNK_SIZE+energy_data.size()*2-8;
|
||||
size_buf[0]=lsize&0xff;
|
||||
size_buf[1]=(lsize>>8)&0xff;
|
||||
size_buf[2]=(lsize>>16)&0xff;
|
||||
size_buf[3]=(lsize>>24)&0xff;
|
||||
write(wave_file.handle(),size_buf,4);
|
||||
write(wave_file.handle(),levl_chunk_data,LEVL_CHUNK_SIZE-4);
|
||||
write(wave_file.handle(),levl_chunk_data,LEVL_CHUNK_SIZE-8);
|
||||
//write(wave_file.handle(),levl_chunk_data,LEVL_CHUNK_SIZE-4);
|
||||
// Fixup the endianness
|
||||
unsigned char * sbuf = new unsigned char [2 * energy_data.size()];
|
||||
for (unsigned int i=0; i < energy_data.size(); i++){
|
||||
@ -674,7 +675,7 @@ void RDWaveFile::closeWave(int samples)
|
||||
//
|
||||
// Update file size
|
||||
//
|
||||
cptr=lseek(wave_file.handle(),0,SEEK_END)-12;
|
||||
cptr=lseek(wave_file.handle(),0,SEEK_END)-8;
|
||||
size_buf[0]=cptr&0xff;
|
||||
size_buf[1]=(cptr>>8)&0xff;
|
||||
size_buf[2]=(cptr>>16)&0xff;
|
||||
|
Loading…
x
Reference in New Issue
Block a user