« Return to Thread: Muse and JackActivationCount errors

Re: Muse and JackActivationCount errors, also my COMPLIMENTS to the devels ...

by James Warden :: Rate this Message:

Reply to Author | View in Thread


Ciao Stephane,

You mean: this is to be avoided _at all cost_ ;)

Cheers!
J.

--- On Mon, 6/15/09, Stéphane Letz <letz@...> wrote:

> 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
>


     
_______________________________________________
Jack-Devel mailing list
Jack-Devel@...
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

 « Return to Thread: Muse and JackActivationCount errors