[CM] Re: Re: DAC Size (Snd-8.5)
Kjetil S. Matheussen
k.s.matheussen at notam02.no
Tue Nov 14 22:12:04 PST 2006
Esben Stien:
>
> "Kjetil S. Matheussen" <k.s.matheussen at notam02.no> writes:
>
>> Did you by any chance upgrade snd the last two weeks?
>
> No, that's the strange part.
>
>> can you try an earlier version?
>
> I even went back to Snd-8.1, but still the same. It's so weird, cause
> all my other JACK applications runs fine and I run almost the whole
> list;). The even weirder part is the Snd-8.1 used to work fine, but
> now, whenever I try to play anything in Snd, it freezes the whole
> system up while playing and the sound filled with dropouts.
>
>> I did a very small change in the jack code for about two weeks ago
>
> It can't be that;).
>
>> ask on the linux-audio-user list.
>
> The message indicates that Snd is asking for a priority higher than
> what I'm allowed to set it to, according to Paul Davis. He also
If you are using pam, rtprio should be 100 in /etc/security/limits.conf
I don't know whats the point of setting it lower which I have seen at
least one distribution do.
> wonders why Snd is running its own watchdog.
>
When playing, the jack code sets snd to run with realtime priority.
Its an imorral thing to do, but it sometimes does a wonderful job of
avoiding dropouts.
> I've seen this message before, I believe, and I don't really think
> it's related, but what realtime priority is Snd asking for?.
Reading the code, I think Snd runs at 1 and the watchdog at 99. (That
should probably be changed, I guess, the watcdog only needs to run at 2)
Now I also see that snd will not run realtime unless the watchdog is
running, so thats probably your problem.
So as a quick fix, apply the following patch:
--- audio_old.c 2006-11-15 07:09:00.000000000 +0100
+++ audio.c 2006-11-15 07:09:32.000000000 +0100
@@ -8512,7 +8512,7 @@
static void *jack_mus_audio_watchdog(void *arg){
struct sched_param par;
- par.sched_priority = sched_get_priority_max(SCHED_RR);
+ par.sched_priority = sched_get_priority_min(SCHED_RR)+2;
if(sched_setscheduler(0,SCHED_RR,&par)==-1){
fprintf(stderr,"SNDLIB: Unable to set SCHED_RR realtime priority for the watchdog thread. No watchdog.\n");
goto exit;
(You should fix your pam settings as well though...)
>
> I've now tested with ALSA, but I don't think I've ever run Snd with
> ALSA. It gives me:
>
> Illegal argument: default: cannot set buffer size to 3 periods of 1
> frames; total requested buffer size is 3 frames, minimum allowed is 7,
> maximum is -2095944041
>
> I have RME Multiface II.
>
> This is an unrelated problem, however.
>
> Only thing I can think of now, that I've upgraded, is the kernel, but
> I doubt it. I'm running 2.6.18-rt1
>
Well, its likely that you get the dropouts because you don't run realtime
anymore, and that could be because of something with the new kernel.
More information about the Cmdist
mailing list