manfred <[EMAIL PROTECTED]> added the comment:

The attached patch should fix the problem, maybe it could be more 
efficent, but it should show the way (sorry, can't add as file, I 
allways get a error message):

diff -ur ffmpeg.orig/libavcodec/wma.c ffmpeg/libavcodec/wma.c
--- ffmpeg.orig/libavcodec/wma.c        2008-08-15 15:51:21.000000000 
+0200
+++ ffmpeg/libavcodec/wma.c     2008-08-21 23:24:16.000000000 +0200
@@ -302,8 +302,22 @@
     for(i = 0; i < s->nb_block_sizes; i++) {
         int n;
         n = 1 << (s->frame_len_bits - i);
-        ff_sine_window_init(ff_sine_windows[i], n);
-        s->windows[i] = ff_sine_windows[i];
+        if( n <= 128 ) {
+           ff_sine_window_init(ff_sine_windows[0], n);
+           s->windows[i] = ff_sine_windows[0];
+        } else if( n <= 256 ) {
+           ff_sine_window_init(ff_sine_windows[1], n);
+           s->windows[i] = ff_sine_windows[1];
+        } else if( n <= 512 ) {
+           ff_sine_window_init(ff_sine_windows[2], n);
+           s->windows[i] = ff_sine_windows[2];
+        } else if( n <= 1024 ) {
+           ff_sine_window_init(ff_sine_windows[3], n);
+           s->windows[i] = ff_sine_windows[3];
+        } else {
+           ff_sine_window_init(ff_sine_windows[4], n);
+           s->windows[i] = ff_sine_windows[4];
+        }
     }
 
     s->reset_block_lengths = 1;

______________________________________________________
FFmpeg issue tracker <[EMAIL PROTECTED]>
<https://roundup.mplayerhq.hu/roundup/ffmpeg/issue586>
______________________________________________________

Reply via email to