Re: [LAD] [Jack-Devel] Transport question

From: Tim E. Real <termtech@email-addr-hidden>
Date: Mon Mar 29 2010 - 22:41:46 EEST

On March 29, 2010 03:46:00 am Rui Nuno Capela wrote:
> On Mon, 29 Mar 2010 02:42:12 +0200, salsaman@email-addr-hidden wrote:
> > On Sun, March 28, 2010 03:48, Tim E. Real wrote:
> >> On March 27, 2010 07:54:21 pm Tim E. Real wrote:
> >>> Hi list. Hi Salsaman.
> >>>
> >>> I built and installed Lives today. (Nice program!)
> >>>
> >>> I have now tested Lives, MusE, Rosegarden, and Ardour
> >>> while running Jack-2.
> >>> Each had blank default layouts, no tracks, except Lives
> >>> which had one short video clip loaded.
> >>>
> >>> Guess what? They ALL stop unexpectedly at random times
> >>> while rolling and hitting 'Rew' and 'FF' in QJackCtl.
> >>> Even worse, they ALL fail to start sometimes when hitting 'Play'
> >>> in QJackCtl, which is what Salsaman observed with Lives.
> >>>
> >>> However, I discovered that the problem depends on Jack
> >>> buffer size (frames/period).
> >>> With 1024 or 2048 for example, it happens very frequently.
> >>> With 128, it happens very rarely.
> >>>
> >>> What's going on here? Clearly there's a problem.
> >>> A setting? A bug? System issues?
> >>>
> >>> Thanks. Tim.
> >>
> >> Oh no!
> >> I just tried some of the same tests *without* QJackctl
> >> and the problem disappeared.
> >> To see if the problem may just be more than one app running,
> >> I tried with MusE and Rosegarden running.
> >> Rock solid, no trouble so far.
> >> Strange considering QJackCtl is 'lightweight' compared to the others.
> >>
> >> I was sure that I tried this before without QJackCtl and it happened.
> >>
> >> Looks like this topic should move back to LAD now.
> >> Sorry for the noise. Will report back if anything changes,
> >> with my luck, it just might.
> >>
> >> Rui and Salsaman what do you think about all of this?
> >>
> >> Thanks. Tim.
> >
> > As I reported, it was working fine for me using jack_transport, so I
>
> think
>
> > it is quite possible that something is going wrong in qjackctl. It would
> > be interesting to trace the jack calls in qjacktl to confirm whether or
> > not it is sending the transport stopped messages, and if so figure out
> > what is causing it to do so.
>
> qjackctl issues jack_transport_stop() when you press its "pause" button.
> similarly, jack_transport_start() when you press the "play" button. "rew"
> and "ffwd" buttons just do de/incremental jack_transport_locate()'s -- this
> has been like so and quite happily for way more than 5 years now :)
>
> it is funny that when you put lives in the picture and things behave
> strangely you infer that the problem is something else. you already made
> evidence that when *lives is not running* everything works as expected.
>
> imho, i'll reiterate that you should revise lives' jack_sync_callback,
> probably it is misunderstanding the jack transport sync api protocol,
> somehow.
>
> cheers

Hi list, hi Salsaman, hi Rui.

Disturbing result: I discovered that QJackCtl, running all by itself
 with no other apps running, exhibits the problem.

Run QJackCtl.
Set the Jack size to a relatively high value like 1024 or 2048.
Now play the transport.
In the majority of attempts it will not start - goes into stop immediately.
If it does manage to start, try FF or REW.
Again, in the majority of attempts it will stop.

Rui can you please take a look and try that simple test to verify?

I broke in with KDbg, and it is calling qjackctlMainForm::transportStop()

Looking at the stack trace, as far as I can tell:
It seems that in qjackctlMainForm::refreshStatus()
 in the line:
bool bPlaying = (tstate == JackTransportRolling || tstate ==
 JackTransportLooping);
bPlaying is false because the tstate is either JackTransportStopped
 (in the case of hitting play), or JackTransportStarting (in the case of
 hitting FF or REW while playing).

This eventually seems to cause the call to qjackctlMainForm::transportStop()
 via the line:
 m_ui.PlayToolButton->setChecked(bPlaying);

But I'm not sure because the stack trace is a bit hard to follow.

Maybe in the end it is a Jack or even a system problem, really I just want
 to solve this. It's driving me nuts for months now.
So I need your help to identify where the problem lies. Is it Jack or what?

Thank you for your consideration.
Tim.

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Tue Mar 30 00:15:06 2010

This archive was generated by hypermail 2.1.8 : Tue Mar 30 2010 - 00:15:06 EEST