All of lore.kernel.org
 help / color / mirror / Atom feed
From: sujith kumar reddy <sujithreddy6192@gmail.com>
To: folkert <folkert@vanheusden.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: arecord is failing with -V stereo
Date: Tue, 24 Aug 2021 11:41:13 +0530	[thread overview]
Message-ID: <CAAd2w=YcOAj++17hza+mRp25s2WioUSM5-6g+9HnidCpsJ-rXg@mail.gmail.com> (raw)
In-Reply-To: <CAAd2w=afs7GtaVNNT_PbP6j7feGD=0e0o+8=eC-AUNmJASFoHA@mail.gmail.com>

Hi folkert,

Are you going to submit the fix  .

Thanks
Sujith

On Tue, Aug 24, 2021 at 6:45 AM sujith kumar reddy <
sujithreddy6192@gmail.com> wrote:

> Ok thank you folkert .
>
>
>
> On Tue, 24 Aug, 2021, 1:46 AM folkert, <folkert@vanheusden.com> wrote:
>
>> p=0 is more correct I think
>>
>> this is application only
>>
>> On Tue, Aug 24, 2021 at 01:03:27AM +0530, sujith kumar reddy wrote:
>> > Hi folkert,
>> >
>> > The above you suggested p=0 is  working .
>> > i tried like
>> >  if (p > bar_length || p < 0)
>> >        p = bar_length;
>> > This is also working.
>> >
>> > Which is the perfect one we can use?
>> > Is there any impact of p with driver data or this is just a
>> > application calculated value.
>> >
>> > Thanks
>> > Sujith
>> >
>> >
>> > On Tue, Aug 24, 2021 at 12:39 AM folkert <folkert@vanheusden.com>
>> wrote:
>> >
>> > > :-)
>> > >
>> > > If this also doesn't work, then I give up.
>> > >
>> > > diff --git a/aplay/aplay.c b/aplay/aplay.c
>> > > index cc51dcb..03a4f73 100644
>> > > --- a/aplay/aplay.c
>> > > +++ b/aplay/aplay.c
>> > > @@ -1753,8 +1753,10 @@ static void print_vu_meter_stereo(int *perc,
>> int
>> > > *maxperc)
>> > >         for (c = 0; c < 2; c++) {
>> > >                 int p = perc[c] * bar_length / 100;
>> > >                 char tmp[4];
>> > > -               if (p > bar_length)
>> > > -                       p = bar_length;
>> > > +               if (p >= bar_length)
>> > > +                       p = bar_length - 1;
>> > > +               if (p < 0)
>> > > +                       p = 0;
>> > >                 if (c)
>> > >                         memset(line + bar_length + 6 + 1, '#', p);
>> > >                 else
>> > >
>> > > On Tue, Aug 24, 2021 at 12:36:05AM +0530, sujith kumar reddy wrote:
>> > > > Hi Folkert,
>> > > >
>> > > > Tried with the above code.This is also getting p value negative.
>> > > >
>> > > > My point is p is negative it doesn't go to
>> > > >
>> > > > if (p >= bar_length)
>> > > >              p = bar_length - 1;
>> > > > it is going to memset second argument p,that is negative so
>> crashing.
>> > > >
>> > > >
>> > > > logs:
>> > > > localhost ~ # ./sujith/arecord -D hw:1,2 -f S32_LE -r 48000 -c 2
>> 1.wav
>> > > -V s
>> > > > Sujith entry: main
>> > > > Recording WAVE '1.wav' : Signed 32 bit Little Endian, Rate 48000 Hz,
>> > > Stereo
>> > > >
>> > > >  print_vu_meter_stereo sujith 35  ////////////////////////// c=0
>> case
>> > > >  print_vu_meter_stereo sujith* -9227433* /////////////////////c=1
>> case p
>> > > > value negative which is going to memset second argument.
>> > > >
>> > > > Thanks
>> > > > Sujith
>> > > >
>> > > >
>> > > >
>> > > > On Tue, Aug 24, 2021 at 12:17 AM folkert <folkert@vanheusden.com>
>> wrote:
>> > > >
>> > > > > Ah same bug.
>> > > > > Please try this.
>> > > > > The idea is that in both cases the extra '-1' breaks it.
>> > > > >
>> > > > > diff --git a/aplay/aplay.c b/aplay/aplay.c
>> > > > > index cc51dcb..47db7e7 100644
>> > > > > --- a/aplay/aplay.c
>> > > > > +++ b/aplay/aplay.c
>> > > > > @@ -1753,8 +1753,8 @@ static void print_vu_meter_stereo(int
>> *perc, int
>> > > > > *maxperc)
>> > > > >         for (c = 0; c < 2; c++) {
>> > > > >                 int p = perc[c] * bar_length / 100;
>> > > > >                 char tmp[4];
>> > > > > -               if (p > bar_length)
>> > > > > -                       p = bar_length;
>> > > > > +               if (p >= bar_length)
>> > > > > +                       p = bar_length - 1;
>> > > > >                 if (c)
>> > > > >                         memset(line + bar_length + 6 + 1, '#', p);
>> > > > >                 else
>> > > > >
>> > > > >
>> > > > > On Tue, Aug 24, 2021 at 12:14:00AM +0530, sujith kumar reddy
>> wrote:
>> > > > > > Tried with the above code.This is also getting p value negative.
>> > > > > >
>> > > > > > snippet code:
>> > > > > >
>> > > > > >    fprintf(stderr, _(" %s sujith %d \n"), __func__,p);
>> > > > > >                 if (p > bar_length)
>> > > > > >                         p = bar_length;
>> > > > > >                 if (c)
>> > > > > >                         memset(line + bar_length + 6 + 1, '#',
>> p);
>> > > > > >                 else
>> > > > > >                         memset(line + bar_length - p - 1, '#',
>> p);
>> > > > > >
>> > > > > >
>> > > > > > logs....
>> > > > > > //  c=0 case
>> > > > > >
>> > > > > > print_vu_meter_stereo sujith 35  ///value of p is 35
>> > > > > > c =1 case
>> > > > > >
>> > > > > >  print_vu_meter_stereo sujith -9227433 ///value is negative//
>> > > > > >
>> > > > > > On Mon, Aug 23, 2021 at 10:33 PM folkert <
>> folkert@vanheusden.com>
>> > > wrote:
>> > > > > >
>> > > > > > > >         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");
>> > > > > > >
>> > > > >
>> > >
>> > >
>> > > Folkert van Heusden
>> > >
>> > > --
>> > > Multitail es una herramienta flexible que permite visualizar los "log
>> > > file" y seguir la ejecución de comandos. Permite filtrar, añadir
>> > > colores, combinar archivos, la visualización de diferencias (diff-
>> > > view), etc.  http://www.vanheusden.com/multitail/
>> > > ----------------------------------------------------------------------
>> > > Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
>> > >
>>
>>
>> Folkert van Heusden
>>
>> --
>> Multitail es una herramienta flexible que permite visualizar los "log
>> file" y seguir la ejecución de comandos. Permite filtrar, añadir
>> colores, combinar archivos, la visualización de diferencias (diff-
>> view), etc.  http://www.vanheusden.com/multitail/
>> ----------------------------------------------------------------------
>> Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
>>
>

  reply	other threads:[~2021-08-24  6:12 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-19 18:04 arecord is failing with -V stereo sujith kumar reddy
2021-08-19 18:34 ` folkert
2021-08-19 18:43   ` sujith kumar reddy
2021-08-19 19:06     ` folkert
2021-08-23 16:31       ` sujith kumar reddy
2021-08-23 17:03         ` folkert
2021-08-23 18:44           ` sujith kumar reddy
2021-08-23 18:47             ` folkert
2021-08-23 19:06               ` sujith kumar reddy
2021-08-23 19:08                 ` folkert
2021-08-23 19:33                   ` sujith kumar reddy
2021-08-23 20:16                     ` folkert
2021-08-24  1:15                       ` sujith kumar reddy
2021-08-24  6:11                         ` sujith kumar reddy [this message]
2021-08-24  8:12                 ` Takashi Iwai
2021-08-24  9:19                   ` sujith kumar reddy
2021-08-24  9:50                     ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2021-08-17  8:38 sujith kumar reddy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAd2w=YcOAj++17hza+mRp25s2WioUSM5-6g+9HnidCpsJ-rXg@mail.gmail.com' \
    --to=sujithreddy6192@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=folkert@vanheusden.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.