[MPlayer-users] slave mode commands: speed_xxx - bug (when using together with -af equalizer)

Reimar Döffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Mon Dec 6 20:45:40 CET 2004


Hi,
> in the mplayer-current version, there are some new slave mode commands  
> which can change some things on the fly. As far as good.
> 
> Let's point to the slave command 'speed_set'
> This command works properly, just as it should.
> But if I use this command together with an audio filter (-af) more exactly  
> said the audio filter 'equalizer' then some odd things happen.
> 
> I start mplayer as follows:
> 
> mplayer -quiet -slave -af equalizer=3:2:0:0:0:0:0:0:1:2,volume=20 *.mp3
> 
> <snip redundant output>

Please don't make assumptions on what is redundant and what is not and
simply attach the whole output!

> Now I want to change the current speed of 1 to e.g. 0.93 with the  
> following command:
> 
> speed_set 0.93
> 
> After pressing enter following output will be shown:
> 
> 9872 bytes of audio data lost due to buffer overflow, len = 140944
[...]

This is caused by an integer overflow. The attached patch should fix it,
although it could use some improvement.
But the equalizer filter still breaks when after decreasing the speed
too much and then reincreasing it again. :-(

Greetings,
Reimar Döffinger
-------------- next part --------------
--- /home/reimar/MPlayer-cvs2/libaf/af.h	2004-09-07 10:38:16.000000000 +0200
+++ libaf/af.h	2004-12-06 20:25:15.596956382 +0100
@@ -24,8 +24,8 @@
 // Fraction, used to calculate buffer lengths
 typedef struct frac_s
 {
-  int n; // Numerator
-  int d; // Denominator
+  long long n; // Numerator
+  long long d; // Denominator
 } frac_t;
 
 // Flags used for defining the behavior of an audio filter


More information about the MPlayer-users mailing list