Re: arecord is failing with -V stereo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>         const int bar_length = 35;
>         char line[80];
...
>                 if (p > bar_length)
>                         p = bar_length;
>                 if (c)
>                         memset(line + bar_length + 6 + 1, '#', p);
> ----------------//this is the line where it is crashing.here p value is
> becoming negative at c=1.As we see if we change the p value to bar_length
> it works fine ..As it is a player issue not a driver issue.

This is puzzling.
bar_length + 6 + 1 + p and thus 35 + 6 + 1 + 35 is max 77, that fits
easlity in 80.

But wait:

                        line[bar_length - p - 1] = '+';

p is max bar_length, so we would end up putting '+' in line[-1]

Can you try this?


diff --git a/aplay/aplay.c b/aplay/aplay.c
index cc51dcb..9cfd52c 100644
--- a/aplay/aplay.c
+++ b/aplay/aplay.c
@@ -1764,7 +1764,7 @@ static void print_vu_meter_stereo(int *perc, int *maxperc)
 			p = bar_length;
 		if (c)
 			line[bar_length + 6 + 1 + p] = '+';
-		else
+		else if (p < bar_length)
 			line[bar_length - p - 1] = '+';
 		if (ABS(maxperc[c]) > 99)
 			sprintf(tmp, "MAX");



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux