jack: initialize JackData in jack_initDriver()

Over the lifetime of the jack AudioOutput object, we want a single
valid JackData object, so we can persistently store data there
(configuration etc.).  Allocate JackData in jack_initDriver().  After
that, we can safely remove all audioOutput->data==NULL checks (and
replace them with assertions).
This commit is contained in:
Max Kellermann 2008-08-26 08:27:15 +02:00
parent 83215bf9ce
commit 806a9f02a1

View File

@ -205,7 +205,7 @@ static int jack_initDriver(AudioOutput *audioOutput, ConfigParam *param)
int val;
char *cp = NULL;
audioOutput->data = NULL;
audioOutput->data = newJackData();
DEBUG("jack_initDriver (pid=%d)\n", getpid());
if ( ! param ) return 0;
@ -345,11 +345,7 @@ static int jack_openDevice(AudioOutput *audioOutput)
{
JackData *jd = audioOutput->data;
if ( !jd ) {
DEBUG("connect!\n");
jd = newJackData();
audioOutput->data = jd;
}
assert(jd != NULL);
if (jd->client == NULL && connect_jack(audioOutput) < 0) {
freeJackClient(jd);