Fix stereo Speex file decoding.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12250 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dan Everton 2007-02-10 06:11:30 +00:00
parent 161bf8f0e1
commit 69c40d7e84

View file

@ -544,25 +544,23 @@ next_page:
if (speex_bits_remaining(&vf) < 0)
break;
if (channels==2)
speex_decode_stereo_int(output, frame_size,&stereo);
{
int new_frame_size = frame_size;
if (channels == 2)
speex_decode_stereo_int(output, frame_size, &stereo);
if (new_frame_size>0){
rb->pcmbuf_insert((const char*)output,
(const char*)output,
new_frame_size*channels);
int new_frame_size = frame_size;
/* 2 bytes/sample */
cur_granule += new_frame_size / 2;
if (new_frame_size>0){
rb->pcmbuf_insert((const char*)output, NULL,
new_frame_size);
rb->set_offset((long)rb->curpos);
/* 2 bytes/sample */
cur_granule += new_frame_size / 2;
rb->set_elapsed( (samplerate==0) ? 0 :
cur_granule*1000/samplerate);
}
}
rb->set_offset((long)rb->curpos);
rb->set_elapsed( (samplerate==0) ? 0 :
cur_granule*1000/samplerate);
}
}
}
packet_count++;