Update of /cvsroot/alsa/alsa-lib/src/pcm
In directory sc8-pr-cvs1:/tmp/cvs-serv20668
Modified Files:
pcm_rate.c
Log Message:
A try to fix the expand function from Takashi
Index: pcm_rate.c
===================================================================
RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_rate.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- pcm_rate.c 25 Jul 2003 17:02:04 -0000 1.72
+++ pcm_rate.c 9 Sep 2003 19:04:22 -0000 1.73
@@ -127,14 +127,15 @@
src_frames1 = 0;
dst_frames1 = 0;
if (states->init) {
- new_sample = initial_sample(src, getidx);
+ sample = initial_sample(src, getidx);
src_frames1++;
states->init = 0;
+ old_sample = new_sample = sample;
+ goto put_sample;
}
- while (dst_frames1 < dst_frames) {
+ while (dst_frames1 < dst_frames && src_frames1 < src_frames) {
+ pos += DIV;
if (pos >= get_threshold) {
- if (src_frames1 == src_frames)
- break;
old_sample = new_sample;
pos -= get_threshold;
goto *get;
@@ -147,6 +148,7 @@
src_frames1++;
}
sample = (((int64_t)old_sample * (int64_t)(get_threshold -
pos)) + ((int64_t)new_sample * pos)) / get_threshold;
+ put_sample:
goto *put;
#define PUT16_END after_put
#include "plugin_ops.h"
@@ -154,7 +156,6 @@
after_put:
dst += dst_step;
dst_frames1++;
- pos += DIV;
}
states->old_sample = old_sample;
states->new_sample = new_sample;
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog