Re: [PATCH] hiface: Fix sample rate changes

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

 



On Mon, 28 Nov 2016 11:09:25 +0100,
Michael Trimarchi wrote:
> 
> Hi
> 
> On Mon, Nov 28, 2016 at 10:55 AM, Jussi Laako <jussi@xxxxxxxxxxxxx> wrote:
> > Hi,
> >
> >> Can you please sent it inline? Not having access at the hardware now
> >> but Antonio should have it
> >
> >
> > Sure! I have tested this with my hiFace...
> >
> >
> >         - Jussi
> >
> >
> > From f4eec5602d86b5f938abed48a5725f59141d32cd Mon Sep 17 00:00:00 2001
> > From: Jussi Laako <jussi@xxxxxxxxxxxxx>
> > Date: Mon, 28 Nov 2016 01:11:46 +0200
> > Subject: [PATCH] Fix M2Tech hiFace driver sampling rate change
> >
> > Sampling rate changes after first set one are not reflected to the
> > hardware, while driver and ALSA think the rate has been changed.
> >
> > Fix the problem by properly stopping the interface at the beginning of
> > prepare call, allowing new rate to be set to the hardware. This keeps
> > the hardware in sync with the driver.
> >
> > Signed-off-by: Jussi Laako <jussi@xxxxxxxxxxxxx>
> > ---
> >  sound/usb/hiface/pcm.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/sound/usb/hiface/pcm.c b/sound/usb/hiface/pcm.c
> > index 2c44139..33db205 100644
> > --- a/sound/usb/hiface/pcm.c
> > +++ b/sound/usb/hiface/pcm.c
> > @@ -445,6 +445,8 @@ static int hiface_pcm_prepare(struct snd_pcm_substream
> > *alsa_sub)
> >
> >         mutex_lock(&rt->stream_mutex);
> >
> > +       hiface_pcm_stream_stop(rt);
> > +
> 
> Ok, I was expecting stream already paused on STOP or SUSPEND call. I
> have the impression that they enqueue 0 urb still and they don't
> really
> stop it.

The trigger callback is atomic, so it can't kill urb by itself, and
hiface_pcm_trigger() just flips the sub->active flag.

So, yes, calling hiface_pcm_stream_stop() should be correct.
One question is whether it should be unconditionally called, or it
should be done only when something got changed.

I guess it's OK to call it always (it's safer), but it may lead to
some glitches or such that wasn't present beforehand, when the player
restarts the stream.


thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



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

  Powered by Linux