summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKirill Belokurov <kirill.belokurov@gmail.com>2008-03-27 17:27:12 +0200
committerKirill Belokurov <kirill.belokurov@gmail.com>2008-03-27 17:27:12 +0200
commit30216c0016482506a11fa7f54d72d724e56fa5b3 (patch)
tree67c6172d84315aa6f38f5a4829eb179d5d8d82c3 /src
parentb2602b679fa4f7a3d9d2ea8bfe8bc9298451ed60 (diff)
downloadxine-lib-30216c0016482506a11fa7f54d72d724e56fa5b3.tar.gz
xine-lib-30216c0016482506a11fa7f54d72d724e56fa5b3.tar.bz2
read only full frames into buffer - otherwise decoder will lose trailing bytes for 24bit AIFF
Diffstat (limited to 'src')
-rw-r--r--src/demuxers/demux_aiff.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/demuxers/demux_aiff.c b/src/demuxers/demux_aiff.c
index 3f2d0df11..f520219fa 100644
--- a/src/demuxers/demux_aiff.c
+++ b/src/demuxers/demux_aiff.c
@@ -150,7 +150,9 @@ static int open_aiff_file(demux_aiff_t *this) {
(this->audio_bits / 8);
this->running_time = (this->audio_frames / this->audio_sample_rate) * 1000;
- this->audio_block_align = PCM_BLOCK_ALIGN;
+ /* we should send only complete frames to decoder, as it
+ * doesn't handle underconsumption yet */
+ this->audio_block_align = PCM_BLOCK_ALIGN - PCM_BLOCK_ALIGN % (this->audio_bits / 8 * this->audio_channels);
break;