int fd;
int activated; /* jack is activated? */
+ int running; /* jack is running? */
snd_pcm_jack_port_list_t **port_names;
unsigned int num_ports;
snd_pcm_jack_t *jack = io->private_data;
snd_pcm_uframes_t xfer = 0;
unsigned int channel;
+
+ if (!jack->running)
+ return 0;
for (channel = 0; channel < io->channels; channel++) {
jack->areas[channel].addr =
static int snd_pcm_jack_start(snd_pcm_ioplug_t *io)
{
- (void)io;
+ snd_pcm_jack_t *jack = io->private_data;
+
+ jack->running = jack->activated;
/*
* Since the processing of jack_activate() and jack_connect() take a
* while longer, snd_pcm_jack_start() was blocked.
static int snd_pcm_jack_stop(snd_pcm_ioplug_t *io)
{
- (void)io;
+ snd_pcm_jack_t *jack = io->private_data;
+
+ jack->running = 0;
return 0;
}
jack_deactivate(jack->client);
jack->activated = 0;
}
+ jack->running = 0;
#if 0
unsigned i;
for (i = 0; i < io->channels; i++) {