From: Daniel Mack <zonque@gmail.com>
To: Jeffrey Barish <jeff_barish@earthlink.net>
Cc: alsa-user@lists.sourceforge.net,
alsa-devel <alsa-devel@alsa-project.org>
Subject: Re: [Alsa-user] Ticks when playing to USB DAC at high sample rates
Date: Wed, 07 Nov 2012 10:04:14 +0100 [thread overview]
Message-ID: <509A240E.2000802@gmail.com> (raw)
In-Reply-To: <509A235A.7000004@gmail.com>
On 07.11.2012 10:01, Daniel Mack wrote:
> On 07.11.2012 00:54, Jeffrey Barish wrote:
>> I guess that snd_usb_pcm_prepare is called by the core usb system to prepare
>> the snd driver. Anyway, snd_usb_pcm_prepare calls configure_endpoint with a
>> substream. Then configure_endpoint calls snd_usb_endpoint_set_params with the
>> data endpoint that corresponds to the substream. snd_usb_endpoint_set_params
>> calls data_ep_set_params with the data ep and data_ep_set_params sets nurbs to
>> 2 for the data endpoint.
>>
>> snd_usb_endpoint_set_params has code to call sync_ep_set_params when the
>> endpoint is type sync. sync_ep_set_params sets nurbs to 4 (why?). However,
>> snd_usb_endpoint_set_params never invokes the call to sync_ep_set_params
>> because ep->type is always data. Back up: snd_usb_endpoint_set_params is
>> called from configure_endpoint. It is called from an if block contingent on
>> the substream's having a sync endpoint. It does. However, the call to
>> snd_usb_endpoint_set_params passes subs->data_endpoint as the first argument,
>> so snd_usb_endpoint_set_params simply repeats the operations it performed as a
>> result of the previous invocation. I presume that the first argument to the
>> second call to snd_usb_endpoint_set_params should be subs->sync_endpoint.
>
> Eh. You clearly spotted a bug here. The rally interesting thing is that
> that it didn't bite us earlier, as it's in since 3.6.
>
>> I
>> made that change. Now freqm does change. However, I am getting tons of
>> ticks. Now it sounds as if the payload size is always wrong.
>>
>> Oh, 44.1 kHz works. 48 kHz works. 88.2 and 96 don't work.
>
> That's a different issue. Would you like to prepare a patch for the
> issue above please?
Thinking about it further, that could also explain the memory corruption
we've revently seen in that driver ...
next prev parent reply other threads:[~2012-11-07 9:04 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3884466.olklcBH31l@quintet>
[not found] ` <508AE8B9.4040405@gmail.com>
[not found] ` <10249117.axLqbotY1S@quintet>
[not found] ` <2168981.L00zyKDK9R@quintet>
2012-11-04 10:39 ` [Alsa-user] Ticks when playing to USB DAC at high sample rates Daniel Mack
2012-11-05 1:53 ` Jeffrey Barish
2012-11-05 15:03 ` [Alsa-user] " Daniel Mack
2012-11-05 22:29 ` Jeffrey Barish
2012-11-06 0:12 ` [Alsa-user] " Daniel Mack
2012-11-06 23:54 ` Jeffrey Barish
2012-11-07 9:01 ` [Alsa-user] " Daniel Mack
2012-11-07 9:04 ` Daniel Mack [this message]
2012-11-07 17:05 ` Jeffrey Barish
2012-11-22 19:40 ` [Alsa-user] " Daniel Mack
2012-11-22 21:08 ` Daniel Mack
2012-11-08 18:54 ` Jeffrey Barish
2012-11-22 19:29 ` [Alsa-user] " Daniel Mack
2012-11-05 14:20 ` Jeffrey Barish
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=509A240E.2000802@gmail.com \
--to=zonque@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=alsa-user@lists.sourceforge.net \
--cc=jeff_barish@earthlink.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox