> From: Stéphane Letz <
letz@...>
> Subject: Re: [Jack-Devel] Muse and JackActivationCount errors, also my COMPLIMENTS to the devels ...
> To: "Tim" <
termtech@...>
> Cc:
jack-devel@...
> Date: Monday, June 15, 2009, 5:47 AM
>
> Le 15 juin 09 à 02:39, Tim a écrit :
>
> > You know, other than that, I must say I am soooo happy
> with
> > Jack2. Initial tests are remarkable - incredible !
> > For years I used Jack 1 and put up with shutdowns and
> sudden
> > 'buffer misaligns' (for lack of a better term) which
> caused distortion.
> > (Should'a seen me debugging Muse, looking at the
> process buffer
> > pointers being passed by Jack to Muse, saying to
> myself "whaaa?"
> > They seemed wrong, but what could I do? Other apps did
> it too...)
> > It'd be funny if there was actually some kind of fix
> for it
> > I didn't know about...
> >
> > Well, two nights with Jack2, hours of playing Muse
> 'Live' (no play/rec,
> > until FF/REW is fixed) with MIDI keyboard and audio on
> an
> > old Mandriva 2007.1 and no problems!
> > I sure hope it stays that way...
> >
> > *** Thanks you guys! ***
> >
> > Tim.
> >
> > O
>
> If I'm looking in the muse code (muse/driver/jack.cpp) as
> the right place, I can see that :
>
> static void jack_thread_init (void* /*data*/)
> {
> doSetuid();
> if (jackAudio->isRealtime()) {
> struct
> sched_param rt_param;
> int rv;
>
> memset(&rt_param, 0, sizeof(sched_param));
> int type;
> rv =
> pthread_getschedparam(pthread_self(), &type,
> &rt_param);
> if (rv != 0)
>
> perror("get scheduler parameter");
> if (type !=
> SCHED_FIFO) {
>
> fprintf(stderr, "JACK thread not running SCHED_FIFO,
> try to set...\n");
>
>
> memset(&rt_param, 0, sizeof(sched_param));
>
> rt_param.sched_priority = 1;
>
> rv = pthread_setschedparam(pthread_self(),
> SCHED_FIFO, &rt_param);
>
> if (rv != 0)
>
> perror("set realtime
> scheduler");
>
> memset(&rt_param, 0, sizeof(sched_param));
>
> rv = pthread_getschedparam(pthread_self(), &type,
> &rt_param);
>
> if (rv != 0)
>
> perror("get scheduler
> parameter");
>
> if (type != SCHED_FIFO)
>
> fprintf(stderr, "JACK still not
> running FIFO !?!\n"
>
> "======reliable RT operation not
> possible!!======\n");
>
> else
>
> fprintf(stderr, "JACK thread
> succesfully set to SCHED_FIFO\n");
>
> }
> }
> #ifdef VST_SUPPORT
> if (loadVST)
>
> fst_adopt_thread();
> #endif
> undoSetuid();
> }
>
> So basically the Muse thread init callback starts to play
> with the RT thread parameters.... This is to avoided
> at any price! NO APPLICATION IS EVER ALLOWED to play
> with those stuff. How do you think a system like JACK that
> is supposed to coordinate the proper functioning of a set of
> RT based audio application can deal with applications that
> start to do this kind of cray stuff on their own side?
>
> So please remove this code then we can see if the problem
> you mentioned still persists.
>
> Stephane_______________________________________________
> Jack-Devel mailing list
>
Jack-Devel@...
>
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org>